diff options
Diffstat (limited to 'dom/base/FragmentOrElement.cpp')
-rw-r--r-- | dom/base/FragmentOrElement.cpp | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/dom/base/FragmentOrElement.cpp b/dom/base/FragmentOrElement.cpp index a851190ff..526c3c9d4 100644 --- a/dom/base/FragmentOrElement.cpp +++ b/dom/base/FragmentOrElement.cpp @@ -583,19 +583,7 @@ FragmentOrElement::nsDOMSlots::Traverse(nsCycleCollectionTraversalCallback &cb) cb.NoteXPCOMChild(mExtendedSlots->mXBLInsertionParent.get()); if (mExtendedSlots->mCustomElementData) { - for (uint32_t i = 0; - i < mExtendedSlots->mCustomElementData->mReactionQueue.Length(); i++) { - if (mExtendedSlots->mCustomElementData->mReactionQueue[i]) { - mExtendedSlots->mCustomElementData->mReactionQueue[i]->Traverse(cb); - } - } - - if (mExtendedSlots->mCustomElementData->mCustomElementDefinition) { - NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, - "mExtendedSlots->mCustomElementData->mCustomElementDefinition"); - cb.NoteNativeChild(mExtendedSlots->mCustomElementData->mCustomElementDefinition, - NS_CYCLE_COLLECTION_PARTICIPANT(CustomElementDefinition)); - } + mExtendedSlots->mCustomElementData->Traverse(cb); } for (auto iter = mExtendedSlots->mRegisteredIntersectionObservers.Iter(); @@ -633,9 +621,7 @@ FragmentOrElement::nsDOMSlots::Unlink() MOZ_ASSERT(!(mExtendedSlots->mXBLBinding)); mExtendedSlots->mXBLInsertionParent = nullptr; if (mExtendedSlots->mCustomElementData) { - if (mExtendedSlots->mCustomElementData->mCustomElementDefinition) { - mExtendedSlots->mCustomElementData->mCustomElementDefinition = nullptr; - } + mExtendedSlots->mCustomElementData->Unlink(); mExtendedSlots->mCustomElementData = nullptr; } mExtendedSlots->mRegisteredIntersectionObservers.Clear(); |