Bug 1408341 - Implement assignedSlot on Element and Text

Tag #1375
This commit is contained in:
Matt A. Tobin 2020-04-17 06:38:37 -04:00 committed by Roy Tam
commit 6b075994f5
9 changed files with 81 additions and 9 deletions

View file

@ -26,6 +26,12 @@
class nsIDocument;
class nsIDOMText;
namespace mozilla {
namespace dom {
class HTMLSlotElement;
} // namespace dom
} // namespace mozilla
#define DATA_NODE_FLAG_BIT(n_) NODE_FLAG_BIT(NODE_TYPE_SPECIFIC_BITS_OFFSET + (n_))
// Data node specific flags
@ -157,6 +163,8 @@ public:
virtual nsTArray<nsIContent*> &DestInsertionPoints() override;
virtual nsTArray<nsIContent*> *GetExistingDestInsertionPoints() const override;
virtual void SetShadowRoot(mozilla::dom::ShadowRoot* aShadowRoot) override;
virtual mozilla::dom::HTMLSlotElement* GetAssignedSlot() const override;
virtual void SetAssignedSlot(mozilla::dom::HTMLSlotElement* aSlot) override;
virtual nsIContent *GetXBLInsertionParent() const override;
virtual void SetXBLInsertionParent(nsIContent* aContent) override;
virtual bool IsNodeOfType(uint32_t aFlags) const override;
@ -264,6 +272,11 @@ protected:
* @see nsIContent::GetDestInsertionPoints
*/
nsTArray<nsIContent*> mDestInsertionPoints;
/**
* @see nsIContent::GetAssignedSlot
*/
RefPtr<mozilla::dom::HTMLSlotElement> mAssignedSlot;
};
// Override from nsINode