Index: Source/core/dom/NodeRareData.h |
diff --git a/Source/core/dom/NodeRareData.h b/Source/core/dom/NodeRareData.h |
index 65f903c78e340d63339910aa936533b3acded7ce..62974e5d6f4399a94d4b17fbd562fef56af216d1 100644 |
--- a/Source/core/dom/NodeRareData.h |
+++ b/Source/core/dom/NodeRareData.h |
@@ -174,21 +174,18 @@ public: |
void adoptDocument(Document& oldDocument, Document& newDocument) |
{ |
ASSERT(oldDocument != newDocument); |
- invalidateCaches(); |
NodeListAtomicNameCacheMap::const_iterator atomicNameCacheEnd = m_atomicNameCaches.end(); |
for (NodeListAtomicNameCacheMap::const_iterator it = m_atomicNameCaches.begin(); it != atomicNameCacheEnd; ++it) { |
LiveNodeListBase* list = it->value; |
- oldDocument.unregisterNodeList(list); |
- newDocument.registerNodeList(list); |
+ list->didMoveToDocument(oldDocument, newDocument); |
} |
TagCollectionCacheNS::const_iterator tagEnd = m_tagCollectionCacheNS.end(); |
for (TagCollectionCacheNS::const_iterator it = m_tagCollectionCacheNS.begin(); it != tagEnd; ++it) { |
LiveNodeListBase* list = it->value; |
ASSERT(!list->isRootedAtDocument()); |
- oldDocument.unregisterNodeList(list); |
- newDocument.registerNodeList(list); |
+ list->didMoveToDocument(oldDocument, newDocument); |
} |
} |