summaryrefslogtreecommitdiffstats
path: root/dom
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-01-29 09:40:44 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-01-29 09:40:44 +0100
commit1a04d73a129926d54e13ac9d947062b221f0bacd (patch)
treef7bb70c9928ad16a56e2532f9d98aece61dbe1c4 /dom
parent1f9ab3a6e6e3f1e79b482c0540c98859bbc71350 (diff)
parent7f992d50e417b0c2f18259ce2353e3ead4870694 (diff)
downloadUXP-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.cpp10
-rw-r--r--dom/webidl/IntersectionObserver.webidl4
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;