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