diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-01-29 09:40:44 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-01-29 09:40:44 +0100 |
commit | 1a04d73a129926d54e13ac9d947062b221f0bacd (patch) | |
tree | f7bb70c9928ad16a56e2532f9d98aece61dbe1c4 /dom | |
parent | 1f9ab3a6e6e3f1e79b482c0540c98859bbc71350 (diff) | |
parent | 7f992d50e417b0c2f18259ce2353e3ead4870694 (diff) | |
download | UXP-1a04d73a129926d54e13ac9d947062b221f0bacd.tar UXP-1a04d73a129926d54e13ac9d947062b221f0bacd.tar.gz UXP-1a04d73a129926d54e13ac9d947062b221f0bacd.tar.lz UXP-1a04d73a129926d54e13ac9d947062b221f0bacd.tar.xz UXP-1a04d73a129926d54e13ac9d947062b221f0bacd.zip |
Merge branch 'master' into cycle_collector-work
Diffstat (limited to 'dom')
-rw-r--r-- | dom/base/nsNodeUtils.cpp | 10 | ||||
-rw-r--r-- | dom/webidl/IntersectionObserver.webidl | 4 |
2 files changed, 12 insertions, 2 deletions
diff --git a/dom/base/nsNodeUtils.cpp b/dom/base/nsNodeUtils.cpp index ecea95dc1..75d408151 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; } diff --git a/dom/webidl/IntersectionObserver.webidl b/dom/webidl/IntersectionObserver.webidl index bc193ee8c..83200d950 100644 --- a/dom/webidl/IntersectionObserver.webidl +++ b/dom/webidl/IntersectionObserver.webidl @@ -7,7 +7,7 @@ * https://wicg.github.io/IntersectionObserver/ */ -[ProbablyShortLivingObject, Pref="dom.IntersectionObserver.enabled"] +[ProbablyShortLivingObject, Pref="dom.intersectionObserver.enabled"] interface IntersectionObserverEntry { [Constant] readonly attribute DOMHighResTimeStamp time; @@ -27,7 +27,7 @@ interface IntersectionObserverEntry { [Constructor(IntersectionCallback intersectionCallback, optional IntersectionObserverInit options), - Pref="dom.IntersectionObserver.enabled"] + Pref="dom.intersectionObserver.enabled"] interface IntersectionObserver { [Constant] readonly attribute Element? root; |