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