Index: Source/core/css/invalidation/DescendantInvalidationSet.cpp |
diff --git a/Source/core/css/invalidation/DescendantInvalidationSet.cpp b/Source/core/css/invalidation/DescendantInvalidationSet.cpp |
index e7122a939d0f87296afb02159f55c49d09dab881..6f1be3b13bf3acc04cbc21124ea902456e9ea2d7 100644 |
--- a/Source/core/css/invalidation/DescendantInvalidationSet.cpp |
+++ b/Source/core/css/invalidation/DescendantInvalidationSet.cpp |
@@ -39,6 +39,7 @@ namespace WebCore { |
DescendantInvalidationSet::DescendantInvalidationSet() |
: m_allDescendantsMightBeInvalid(false) |
, m_customPseudoInvalid(false) |
+ , m_treeBoundaryCrossing(false) |
{ |
} |
@@ -85,6 +86,9 @@ void DescendantInvalidationSet::combine(const DescendantInvalidationSet& other) |
if (other.customPseudoInvalid()) |
setCustomPseudoInvalid(); |
+ if (other.treeBoundaryCrossing()) |
+ setTreeBoundaryCrossing(); |
+ |
if (other.m_classes) { |
WillBeHeapHashSet<AtomicString>::const_iterator end = other.m_classes->end(); |
for (WillBeHeapHashSet<AtomicString>::const_iterator it = other.m_classes->begin(); it != end; ++it) |
@@ -172,6 +176,7 @@ void DescendantInvalidationSet::setWholeSubtreeInvalid() |
return; |
m_allDescendantsMightBeInvalid = true; |
+ m_treeBoundaryCrossing = false; |
m_classes = nullptr; |
m_ids = nullptr; |
m_tagNames = nullptr; |