Index: third_party/WebKit/Source/core/dom/ContainerNode.cpp |
diff --git a/third_party/WebKit/Source/core/dom/ContainerNode.cpp b/third_party/WebKit/Source/core/dom/ContainerNode.cpp |
index d7f3ac0c07bc72120e077f48712cfacdb70a4443..2f7a45335c8c3922b46955a5755e994329ba536d 100644 |
--- a/third_party/WebKit/Source/core/dom/ContainerNode.cpp |
+++ b/third_party/WebKit/Source/core/dom/ContainerNode.cpp |
@@ -772,10 +772,18 @@ void ContainerNode::detach(const AttachContext& context) |
Node::detach(context); |
} |
+bool ContainerNode::shouldNotUpdateRangesAfterChildrenChanged(const ChildrenChange& change) |
+{ |
+ return change.byParser |
+ || change.type == TextChanged |
+ || change.type == ElementInserted |
+ || change.type == NonElementInserted; |
+} |
+ |
void ContainerNode::childrenChanged(const ChildrenChange& change) |
{ |
document().incDOMTreeVersion(); |
- if (!change.byParser && change.type != TextChanged) |
+ if (!shouldNotUpdateRangesAfterChildrenChanged(change)) |
document().updateRangesAfterChildrenChanged(this); |
invalidateNodeListCachesInAncestors(); |
if (change.isChildInsertion() && !childNeedsStyleRecalc()) { |