[X2Go-Commits] [pale-moon] 26/102: Actually unlink targets from registered intersection observers.

git-admin at x2go.org git-admin at x2go.org
Mon Feb 25 23:25:45 CET 2019


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch upstream/28.4.0
in repository pale-moon.

commit 9adcf4429d36716fb3fd70ef0a230e725865d8be
Author: wolfbeast <mcwerewolf at wolfbeast.com>
Date:   Sat Jan 19 11:36:47 2019 +0100

    Actually unlink targets from registered intersection observers.
    
    When a node is released/removed, and it has an intersection observer
    attached to it, that observer should be unlinked at the time of release.
    
    This resolves #935.
---
 dom/base/nsNodeUtils.cpp | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/dom/base/nsNodeUtils.cpp b/dom/base/nsNodeUtils.cpp
index ecea95d..75d4081 100644
--- a/dom/base/nsNodeUtils.cpp
+++ b/dom/base/nsNodeUtils.cpp
@@ -297,6 +297,16 @@ nsNodeUtils::LastRelease(nsINode* aNode)
                                          NodeWillBeDestroyed, (aNode));
     }
 
+    if (aNode->IsElement()) {
+      Element* elem = aNode->AsElement();
+      FragmentOrElement::nsDOMSlots* domSlots =
+        static_cast<FragmentOrElement::nsDOMSlots*>(slots);
+      for (auto iter = domSlots->mRegisteredIntersectionObservers.Iter(); !iter.Done(); iter.Next()) {
+        DOMIntersectionObserver* observer = iter.Key();
+        observer->UnlinkTarget(*elem);
+      }
+    }
+
     delete slots;
     aNode->mSlots = nullptr;
   }

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/pale-moon.git


More information about the x2go-commits mailing list