Chromium Code Reviews| Index: Source/core/css/RuleFeature.cpp |
| diff --git a/Source/core/css/RuleFeature.cpp b/Source/core/css/RuleFeature.cpp |
| index 75af986dfdf2af2346bf9c8d28c999733361c3c0..7a4c8190cc00a98988ca4874a17d8479d0a41058 100644 |
| --- a/Source/core/css/RuleFeature.cpp |
| +++ b/Source/core/css/RuleFeature.cpp |
| @@ -130,13 +130,16 @@ RuleFeatureSet::InvalidationSetMode RuleFeatureSet::invalidationSetModeForSelect |
| foundIdent = true; |
| } else if (component->pseudoType() == CSSSelector::PseudoHost || component->pseudoType() == CSSSelector::PseudoAny) { |
| if (const CSSSelectorList* selectorList = component->selectorList()) { |
| + bool foundUniversal = false; |
| for (const CSSSelector* selector = selectorList->first(); selector; selector = CSSSelectorList::next(*selector)) { |
| InvalidationSetMode hostMode = invalidationSetModeForSelector(*selector); |
| if (hostMode == UseSubtreeStyleChange) |
| return foundCombinator ? UseLocalStyleChange : UseSubtreeStyleChange; |
| - if (!foundCombinator && hostMode == AddFeatures) |
| - foundIdent = true; |
| + if (hostMode == UseLocalStyleChange || component->pseudoType() == CSSSelector::PseudoNot) |
|
rune
2014/07/10 21:49:20
The PseudoNot check sneaked its way in from anothe
rune
2014/07/10 21:50:46
Done.
|
| + foundUniversal = true; |
| } |
| + if (!foundUniversal && !foundCombinator) |
| + foundIdent = true; |
| } |
| } else if (!isSkippableComponentForInvalidation(*component)) { |
| return foundCombinator ? UseLocalStyleChange : UseSubtreeStyleChange; |