Index: Source/core/dom/Element.h |
diff --git a/Source/core/dom/Element.h b/Source/core/dom/Element.h |
index 4c1dfb9c982316e552c490dd13247286aaa8e48a..ec7bb9edccb5beabb6e527e4b4b8528c252621b7 100644 |
--- a/Source/core/dom/Element.h |
+++ b/Source/core/dom/Element.h |
@@ -798,8 +798,10 @@ inline Node::InsertionNotificationRequest Node::insertedInto(ContainerNode* inse |
ASSERT(!childNeedsStyleInvalidation()); |
ASSERT(!needsStyleInvalidation()); |
ASSERT(insertionPoint->inDocument() || isContainerNode()); |
- if (insertionPoint->inDocument()) |
+ if (insertionPoint->inDocument()) { |
setFlag(InDocumentFlag); |
+ insertionPoint->document().incrementNodeCount(); |
+ } |
if (parentOrShadowHostNode()->isInShadowTree()) |
setFlag(IsInShadowTreeFlag); |
if (childNeedsDistributionRecalc() && !insertionPoint->childNeedsDistributionRecalc()) |
@@ -810,8 +812,10 @@ inline Node::InsertionNotificationRequest Node::insertedInto(ContainerNode* inse |
inline void Node::removedFrom(ContainerNode* insertionPoint) |
{ |
ASSERT(insertionPoint->inDocument() || isContainerNode() || isInShadowTree()); |
- if (insertionPoint->inDocument()) |
+ if (insertionPoint->inDocument()) { |
clearFlag(InDocumentFlag); |
+ insertionPoint->document().decrementNodeCount(); |
+ } |
if (isInShadowTree() && !treeScope().rootNode().isShadowRoot()) |
clearFlag(IsInShadowTreeFlag); |
if (AXObjectCache* cache = document().existingAXObjectCache()) |