| 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);
|
|
|