Index: Source/WebCore/dom/Document.cpp |
=================================================================== |
--- Source/WebCore/dom/Document.cpp (revision 122244) |
+++ Source/WebCore/dom/Document.cpp (working copy) |
@@ -3864,16 +3864,21 @@ |
void Document::registerDynamicSubtreeNodeList(DynamicSubtreeNodeList* list) |
{ |
- ensureRareData()->ensureNodeLists(this)->m_listsInvalidatedAtDocument.add(list); |
+ m_listsInvalidatedAtDocument.add(list); |
} |
void Document::unregisterDynamicSubtreeNodeList(DynamicSubtreeNodeList* list) |
{ |
- ASSERT(hasRareData()); |
- ASSERT(rareData()->nodeLists()); |
- rareData()->nodeLists()->m_listsInvalidatedAtDocument.remove(list); |
+ m_listsInvalidatedAtDocument.remove(list); |
} |
+void Document::clearNodeListCaches() |
+{ |
+ HashSet<DynamicSubtreeNodeList*>::iterator end = m_listsInvalidatedAtDocument.end(); |
+ for (HashSet<DynamicSubtreeNodeList*>::iterator it = m_listsInvalidatedAtDocument.begin(); it != end; ++it) |
+ (*it)->invalidateCache(); |
+} |
+ |
void Document::attachNodeIterator(NodeIterator* ni) |
{ |
m_nodeIterators.add(ni); |