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..b685eefa6e42a8a60ac86abb8321d1707a0fffa6 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->pseudoType() == CSSSelector::PseudoSlotted) { |
rune
2016/01/20 12:53:32
It would possibly be more consistent if you checke
kochi
2016/01/21 05:09:37
Good suggestion. Done.
|
descendantFeatures.insertionPointCrossing = true; |
descendantFeatures.contentPseudoCrossing = true; |
} |