Index: Source/core/dom/NodeListsNodeData.h |
diff --git a/Source/core/dom/NodeRareData.h b/Source/core/dom/NodeListsNodeData.h |
similarity index 71% |
copy from Source/core/dom/NodeRareData.h |
copy to Source/core/dom/NodeListsNodeData.h |
index ef4cddd91b7c010748b5e05393f45683cbf3696a..d8bcf0e6367f4ced3487dd286ac1efc00f438960 100644 |
--- a/Source/core/dom/NodeRareData.h |
+++ b/Source/core/dom/NodeListsNodeData.h |
@@ -19,19 +19,15 @@ |
* |
*/ |
-#ifndef NodeRareData_h |
-#define NodeRareData_h |
+#ifndef NodeListsNodeData_h |
+#define NodeListsNodeData_h |
#include "core/dom/ChildNodeList.h" |
#include "core/dom/EmptyNodeList.h" |
-#include "core/dom/LiveNodeList.h" |
-#include "core/dom/MutationObserverRegistration.h" |
#include "core/dom/QualifiedName.h" |
#include "core/dom/TagCollection.h" |
+#include "core/html/CollectionType.h" |
#include "platform/heap/Handle.h" |
-#include "wtf/HashSet.h" |
-#include "wtf/OwnPtr.h" |
-#include "wtf/PassOwnPtr.h" |
#include "wtf/text/AtomicString.h" |
#include "wtf/text/StringHash.h" |
@@ -229,104 +225,6 @@ private: |
TagCollectionCacheNS m_tagCollectionCacheNS; |
}; |
-class NodeMutationObserverData FINAL : public NoBaseWillBeGarbageCollected<NodeMutationObserverData> { |
- WTF_MAKE_NONCOPYABLE(NodeMutationObserverData); |
- WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; |
-public: |
- WillBeHeapVector<OwnPtrWillBeMember<MutationObserverRegistration> > registry; |
- WillBeHeapHashSet<RawPtrWillBeMember<MutationObserverRegistration> > transientRegistry; |
- |
- static PassOwnPtrWillBeRawPtr<NodeMutationObserverData> create() |
- { |
- return adoptPtrWillBeNoop(new NodeMutationObserverData); |
- } |
- |
- void trace(Visitor* visitor) |
- { |
- visitor->trace(registry); |
- visitor->trace(transientRegistry); |
- } |
- |
-private: |
- NodeMutationObserverData() { } |
-}; |
- |
-class NodeRareData : public NoBaseWillBeGarbageCollectedFinalized<NodeRareData>, public NodeRareDataBase { |
- WTF_MAKE_NONCOPYABLE(NodeRareData); |
- WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; |
-public: |
- static NodeRareData* create(RenderObject* renderer) |
- { |
- return new NodeRareData(renderer); |
- } |
- |
- void clearNodeLists() { m_nodeLists.clear(); } |
- NodeListsNodeData* nodeLists() const { return m_nodeLists.get(); } |
- NodeListsNodeData& ensureNodeLists() |
- { |
- if (!m_nodeLists) |
- m_nodeLists = NodeListsNodeData::create(); |
- return *m_nodeLists; |
- } |
- |
- NodeMutationObserverData* mutationObserverData() { return m_mutationObserverData.get(); } |
- NodeMutationObserverData& ensureMutationObserverData() |
- { |
- if (!m_mutationObserverData) |
- m_mutationObserverData = NodeMutationObserverData::create(); |
- return *m_mutationObserverData; |
- } |
- |
- unsigned connectedSubframeCount() const { return m_connectedFrameCount; } |
- void incrementConnectedSubframeCount(unsigned amount) |
- { |
- m_connectedFrameCount += amount; |
- } |
- void decrementConnectedSubframeCount(unsigned amount) |
- { |
- ASSERT(m_connectedFrameCount); |
- ASSERT(amount <= m_connectedFrameCount); |
- m_connectedFrameCount -= amount; |
- } |
- |
- bool hasElementFlag(ElementFlags mask) const { return m_elementFlags & mask; } |
- void setElementFlag(ElementFlags mask, bool value) { m_elementFlags = (m_elementFlags & ~mask) | (-(int32_t)value & mask); } |
- void clearElementFlag(ElementFlags mask) { m_elementFlags &= ~mask; } |
- |
- bool hasRestyleFlag(DynamicRestyleFlags mask) const { return m_restyleFlags & mask; } |
- void setRestyleFlag(DynamicRestyleFlags mask) { m_restyleFlags |= mask; RELEASE_ASSERT(m_restyleFlags); } |
- bool hasRestyleFlags() const { return m_restyleFlags; } |
- void clearRestyleFlags() { m_restyleFlags = 0; } |
- |
- enum { |
- ConnectedFrameCountBits = 10, // Must fit Page::maxNumberOfFrames. |
- }; |
- |
- void trace(Visitor*); |
- |
- void traceAfterDispatch(Visitor*); |
- void finalizeGarbageCollectedObject(); |
- |
-protected: |
- explicit NodeRareData(RenderObject* renderer) |
- : NodeRareDataBase(renderer) |
- , m_connectedFrameCount(0) |
- , m_elementFlags(0) |
- , m_restyleFlags(0) |
- , m_isElementRareData(false) |
- { } |
- |
-private: |
- OwnPtrWillBeMember<NodeListsNodeData> m_nodeLists; |
- OwnPtrWillBeMember<NodeMutationObserverData> m_mutationObserverData; |
- |
- unsigned m_connectedFrameCount : ConnectedFrameCountBits; |
- unsigned m_elementFlags : NumberOfElementFlags; |
- unsigned m_restyleFlags : NumberOfDynamicRestyleFlags; |
-protected: |
- unsigned m_isElementRareData : 1; |
-}; |
- |
#if !ENABLE(OILPAN) |
inline bool NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList(Node& ownerNode) |
{ |
@@ -340,4 +238,4 @@ inline bool NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLas |
} // namespace WebCore |
-#endif // NodeRareData_h |
+#endif // NodeListsNodeData_h |