Index: third_party/WebKit/Source/core/dom/shadow/ShadowRoot.h |
diff --git a/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.h b/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.h |
index b1d3653bde85001d20a9e38d1a433def529d2545..9060e14c2dba872558af8e8c2dfd2d0d605b6972 100644 |
--- a/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.h |
+++ b/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.h |
@@ -33,8 +33,6 @@ |
#include "core/dom/Element.h" |
#include "core/dom/TreeScope.h" |
#include "core/dom/shadow/SlotAssignment.h" |
-#include "wtf/DoublyLinkedList.h" |
-#include <iosfwd> |
namespace blink { |
@@ -54,10 +52,9 @@ enum class ShadowRootType { |
Closed |
}; |
-class CORE_EXPORT ShadowRoot final : public DocumentFragment, public TreeScope, public DoublyLinkedListNode<ShadowRoot> { |
+class CORE_EXPORT ShadowRoot final : public DocumentFragment, public TreeScope { |
DEFINE_WRAPPERTYPEINFO(); |
USING_GARBAGE_COLLECTED_MIXIN(ShadowRoot); |
- friend class WTF::DoublyLinkedListNode<ShadowRoot>; |
public: |
// FIXME: Current implementation does not work well if a shadow root is dynamically created. |
// So multiple shadow subtrees in several elements are prohibited. |
@@ -78,10 +75,13 @@ public: |
Element* host() const { return toElement(parentOrShadowHostNode()); } |
ElementShadow* owner() const { return host() ? host()->shadow() : 0; } |
- ShadowRoot* youngerShadowRoot() const { return prev(); } |
- |
+ ShadowRoot* youngerShadowRoot() const; |
+ ShadowRoot* olderShadowRoot() const; |
ShadowRoot* olderShadowRootForBindings() const; |
+ void setYoungerShadowRoot(ShadowRoot&); |
+ void setOlderShadowRoot(ShadowRoot&); |
+ |
String mode() const { return (type() == ShadowRootType::V0 || type() == ShadowRootType::Open) ? "open" : "closed"; }; |
bool isOpenOrV0() const { return type() == ShadowRootType::V0 || type() == ShadowRootType::Open; } |
@@ -135,11 +135,8 @@ public: |
using TreeScope::setDocument; |
using TreeScope::setParentTreeScope; |
-public: |
Element* activeElement() const; |
- ShadowRoot* olderShadowRoot() const { return next(); } |
- |
String innerHTML() const; |
void setInnerHTML(const String&, ExceptionState&); |
@@ -158,8 +155,8 @@ private: |
void childrenChanged(const ChildrenChange&) override; |
- ShadowRootRareData* ensureShadowRootRareData(); |
- ShadowRootRareDataV0* ensureShadowRootRareDataV0(); |
+ ShadowRootRareData& ensureShadowRootRareData(); |
+ ShadowRootRareDataV0& ensureShadowRootRareDataV0(); |
void addChildShadowRoot(); |
void removeChildShadowRoot(); |
@@ -174,11 +171,8 @@ private: |
void invalidateDescendantSlots(); |
unsigned descendantSlotCount() const; |
- Member<ShadowRoot> m_prev; |
- Member<ShadowRoot> m_next; |
Member<ShadowRootRareData> m_shadowRootRareData; |
Member<ShadowRootRareDataV0> m_shadowRootRareDataV0; |
- |
Member<SlotAssignment> m_slotAssignment; |
unsigned m_numberOfStyles : 26; |
unsigned m_type : 2; |