| 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;
|
|
|