Index: Source/core/css/invalidation/DescendantInvalidationSet.cpp |
diff --git a/Source/core/css/invalidation/DescendantInvalidationSet.cpp b/Source/core/css/invalidation/DescendantInvalidationSet.cpp |
index 232f3cfe9b14348d607baf9ee7162d9ea459874d..0dce99f2c571fb0e4cc10fcc504905c3b455e3e1 100644 |
--- a/Source/core/css/invalidation/DescendantInvalidationSet.cpp |
+++ b/Source/core/css/invalidation/DescendantInvalidationSet.cpp |
@@ -40,6 +40,7 @@ DescendantInvalidationSet::DescendantInvalidationSet() |
: m_allDescendantsMightBeInvalid(false) |
, m_customPseudoInvalid(false) |
, m_treeBoundaryCrossing(false) |
+ , m_insertionPointCrossing(false) |
{ |
} |
@@ -89,6 +90,9 @@ void DescendantInvalidationSet::combine(const DescendantInvalidationSet& other) |
if (other.treeBoundaryCrossing()) |
setTreeBoundaryCrossing(); |
+ if (other.insertionPointCrossing()) |
+ setInsertionPointCrossing(); |
+ |
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) |
@@ -177,6 +181,7 @@ void DescendantInvalidationSet::setWholeSubtreeInvalid() |
m_allDescendantsMightBeInvalid = true; |
m_treeBoundaryCrossing = false; |
+ m_insertionPointCrossing = false; |
m_classes = nullptr; |
m_ids = nullptr; |
m_tagNames = nullptr; |
@@ -203,6 +208,8 @@ void DescendantInvalidationSet::show() const |
fprintf(stderr, "::custom "); |
if (m_treeBoundaryCrossing) |
fprintf(stderr, "::shadow/deep/ "); |
+ if (m_insertionPointCrossing) |
+ fprintf(stderr, "::content/:host-context "); |
if (m_ids) { |
for (WillBeHeapHashSet<AtomicString>::const_iterator it = m_ids->begin(); it != m_ids->end(); ++it) |
fprintf(stderr, "#%s ", (*it).ascii().data()); |