From 3758434680616e91edf696e546fe3cc3b1d4da9c Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 17 Apr 2020 06:38:37 -0400 Subject: Bug 1408341 - Implement assignedSlot on Element and Text Tag #1375 --- dom/base/nsGenericDOMDataNode.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'dom/base/nsGenericDOMDataNode.cpp') diff --git a/dom/base/nsGenericDOMDataNode.cpp b/dom/base/nsGenericDOMDataNode.cpp index 73463ea5e..e5cc852d2 100644 --- a/dom/base/nsGenericDOMDataNode.cpp +++ b/dom/base/nsGenericDOMDataNode.cpp @@ -15,6 +15,7 @@ #include "mozilla/AsyncEventDispatcher.h" #include "mozilla/MemoryReporting.h" #include "mozilla/dom/Element.h" +#include "mozilla/dom/HTMLSlotElement.h" #include "mozilla/dom/ShadowRoot.h" #include "nsIDocument.h" #include "nsIDOMDocument.h" @@ -753,6 +754,20 @@ nsGenericDOMDataNode::GetExistingDestInsertionPoints() const return nullptr; } +HTMLSlotElement* +nsGenericDOMDataNode::GetAssignedSlot() const +{ + nsDataSlots *slots = GetExistingDataSlots(); + return slots ? slots->mAssignedSlot.get() : nullptr; +} + +void +nsGenericDOMDataNode::SetAssignedSlot(HTMLSlotElement* aSlot) +{ + nsDataSlots *slots = DataSlots(); + slots->mAssignedSlot = aSlot; +} + nsXBLBinding * nsGenericDOMDataNode::GetXBLBinding() const { @@ -843,6 +858,9 @@ nsGenericDOMDataNode::nsDataSlots::Traverse(nsCycleCollectionTraversalCallback & NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mSlots->mContainingShadow"); cb.NoteXPCOMChild(NS_ISUPPORTS_CAST(nsIContent*, mContainingShadow)); + + NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mSlots->mAssignedSlot"); + cb.NoteXPCOMChild(NS_ISUPPORTS_CAST(nsIContent*, mAssignedSlot.get())); } void @@ -850,6 +868,7 @@ nsGenericDOMDataNode::nsDataSlots::Unlink() { mXBLInsertionParent = nullptr; mContainingShadow = nullptr; + mAssignedSlot = nullptr; } //---------------------------------------------------------------------- -- cgit v1.2.3 From 53df3a74f46fa6b5d3778f9635a1afb7522c345f Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 17 Apr 2020 07:37:07 -0400 Subject: Bug 1426503 - Remove DestInsertionPoints stuff Tag #1375 --- dom/base/nsGenericDOMDataNode.cpp | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'dom/base/nsGenericDOMDataNode.cpp') diff --git a/dom/base/nsGenericDOMDataNode.cpp b/dom/base/nsGenericDOMDataNode.cpp index e5cc852d2..d23783368 100644 --- a/dom/base/nsGenericDOMDataNode.cpp +++ b/dom/base/nsGenericDOMDataNode.cpp @@ -737,23 +737,6 @@ nsGenericDOMDataNode::SetShadowRoot(ShadowRoot* aShadowRoot) { } -nsTArray& -nsGenericDOMDataNode::DestInsertionPoints() -{ - nsDataSlots *slots = DataSlots(); - return slots->mDestInsertionPoints; -} - -nsTArray* -nsGenericDOMDataNode::GetExistingDestInsertionPoints() const -{ - nsDataSlots *slots = GetExistingDataSlots(); - if (slots) { - return &slots->mDestInsertionPoints; - } - return nullptr; -} - HTMLSlotElement* nsGenericDOMDataNode::GetAssignedSlot() const { -- cgit v1.2.3