Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(441)

Unified Diff: Source/core/dom/NodeRareData.h

Issue 159503003: Do not cause unnecessary node lists invalidation on id/name attribute change (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
Inactive 2014/02/12 18:26:08 We no longer need this as LiveNodeListBase::didMov
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);
Inactive 2014/02/12 18:26:08 didMoveToDocument() invalidates the nodelist cache
}
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);
}
}

Powered by Google App Engine
This is Rietveld 408576698