| 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 3d76fb5a2540f4e5152c8579711395270fc54fea..7eee8702aa751a97236d8d17a9451d0be9f64b49 100644
|
| --- a/third_party/WebKit/Source/core/css/RuleFeature.cpp
|
| +++ b/third_party/WebKit/Source/core/css/RuleFeature.cpp
|
| @@ -420,6 +420,10 @@ RuleFeatureSet::extractInvalidationSetFeatures(const CSSSelector& selector, Inva
|
| return std::make_pair(&selector, ForceSubtree);
|
| }
|
| if (const CSSSelectorList* selectorList = current->selectorList()) {
|
| + if (current->pseudoType() == CSSSelector::PseudoSlotted) {
|
| + ASSERT(position == Subject);
|
| + features.invalidatesSlotted = true;
|
| + }
|
| ASSERT(supportsInvalidationWithSelectorList(current->pseudoType()));
|
| const CSSSelector* subSelector = selectorList->first();
|
| bool allSubSelectorsHaveFeatures = !!subSelector;
|
| @@ -468,6 +472,8 @@ void RuleFeatureSet::addFeaturesToInvalidationSet(InvalidationSet& invalidationS
|
| invalidationSet.setTreeBoundaryCrossing();
|
| if (features.insertionPointCrossing)
|
| invalidationSet.setInsertionPointCrossing();
|
| + if (features.invalidatesSlotted)
|
| + invalidationSet.setInvalidatesSlotted();
|
| if (features.forceSubtree)
|
| invalidationSet.setWholeSubtreeInvalid();
|
| if (features.contentPseudoCrossing || features.forceSubtree)
|
|
|