Index: third_party/WebKit/Source/core/css/RuleFeature.cpp |
diff --git a/third_party/WebKit/Source/core/css/RuleFeature.cpp b/third_party/WebKit/Source/core/css/RuleFeature.cpp |
index c605524f3ca646f3c42dd6c144d9ad3838987f3b..59e3abdb63f4aac8d391f9187d3e84e023c9df03 100644 |
--- a/third_party/WebKit/Source/core/css/RuleFeature.cpp |
+++ b/third_party/WebKit/Source/core/css/RuleFeature.cpp |
@@ -152,6 +152,7 @@ bool supportsInvalidation(CSSSelector::PseudoType type) |
case CSSSelector::PseudoShadow: |
case CSSSelector::PseudoSpatialNavigationFocus: |
case CSSSelector::PseudoListBox: |
+ case CSSSelector::PseudoSlotted: |
return true; |
case CSSSelector::PseudoUnknown: |
case CSSSelector::PseudoLeftPage: |
@@ -173,7 +174,8 @@ bool supportsInvalidationWithSelectorList(CSSSelector::PseudoType pseudo) |
|| pseudo == CSSSelector::PseudoCue |
|| pseudo == CSSSelector::PseudoHost |
|| pseudo == CSSSelector::PseudoHostContext |
- || pseudo == CSSSelector::PseudoNot; |
+ || pseudo == CSSSelector::PseudoNot |
+ || pseudo == CSSSelector::PseudoSlotted; |
} |
#endif // ENABLE(ASSERT) |
@@ -515,7 +517,7 @@ void RuleFeatureSet::addFeaturesToInvalidationSets(const CSSSelector* selector, |
if (current->relation() == CSSSelector::SubSelector) |
continue; |
- if (current->relationIsAffectedByPseudoContent()) { |
+ if (current->relationIsAffectedByPseudoContent() || current->relation() == CSSSelector::ShadowSlot) { |
descendantFeatures.insertionPointCrossing = true; |
descendantFeatures.contentPseudoCrossing = true; |
} |