Index: Source/core/dom/ContainerNode.h |
diff --git a/Source/core/dom/ContainerNode.h b/Source/core/dom/ContainerNode.h |
index c23523427f589018ac24c004ef6447bee9c136ec..64de0397f6a00edb16abcc5accb1220f66d248fc 100644 |
--- a/Source/core/dom/ContainerNode.h |
+++ b/Source/core/dom/ContainerNode.h |
@@ -26,6 +26,7 @@ |
#include "bindings/core/v8/ExceptionStatePlaceholder.h" |
#include "core/dom/Node.h" |
+#include "core/html/CollectionType.h" |
#include "wtf/OwnPtr.h" |
#include "wtf/Vector.h" |
@@ -185,7 +186,14 @@ protected: |
void setFirstChild(Node* child) { m_firstChild = child; } |
void setLastChild(Node* child) { m_lastChild = child; } |
+ // Utility functions for NodeListsNodeData API. |
+ template <typename Collection> PassRefPtrWillBeRawPtr<Collection> ensureCachedCollection(CollectionType); |
+ template <typename Collection> PassRefPtrWillBeRawPtr<Collection> ensureCachedCollection(CollectionType, const AtomicString& name); |
+ template <typename Collection> PassRefPtrWillBeRawPtr<Collection> ensureCachedCollection(CollectionType, const AtomicString& namespaceURI, const AtomicString& localName); |
+ template <typename Collection> Collection* cachedCollection(CollectionType); |
+ |
private: |
+ NodeListsNodeData& ensureNodeLists(); |
void removeBetween(Node* previousChild, Node* nextChild, Node& oldChild); |
void insertBeforeCommon(Node& nextChild, Node& oldChild); |
void appendChildCommon(Node& child); |