Index: Source/core/css/resolver/ScopedStyleResolver.cpp |
diff --git a/Source/core/css/resolver/ScopedStyleResolver.cpp b/Source/core/css/resolver/ScopedStyleResolver.cpp |
index fc915a2639266b5f8858b0e1b481a05fc1801714..6fe45475d5fb768278ca36fde453017d9ef2bee9 100644 |
--- a/Source/core/css/resolver/ScopedStyleResolver.cpp |
+++ b/Source/core/css/resolver/ScopedStyleResolver.cpp |
@@ -169,10 +169,18 @@ void ScopedStyleResolver::collectMatchingShadowHostRules(ElementRuleCollector& c |
void ScopedStyleResolver::collectMatchingTreeBoundaryCrossingRules(ElementRuleCollector& collector, bool includeEmptyRules, CascadeOrder cascadeOrder) |
{ |
+ if (!m_treeBoundaryCrossingRuleSet) |
+ return; |
+ |
+ ASSERT(!collector.scopeContainsLastMatchedElement()); |
+ collector.setScopeContainsLastMatchedElement(true); |
+ |
for (const auto& rules : *m_treeBoundaryCrossingRuleSet) { |
MatchRequest request(rules->m_ruleSet.get(), includeEmptyRules, &treeScope().rootNode(), rules->m_parentStyleSheet, rules->m_parentIndex); |
collector.collectMatchingRules(request, cascadeOrder, true); |
} |
+ |
+ collector.setScopeContainsLastMatchedElement(false); |
} |
void ScopedStyleResolver::matchPageRules(PageRuleCollector& collector) |