| 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 ec4bba5004290332d40f28f73d7f983534890f93..9a9dffcd3b9eed39cc0ef63716ef29e6f14411ae 100644
|
| --- a/third_party/WebKit/Source/core/css/RuleFeature.cpp
|
| +++ b/third_party/WebKit/Source/core/css/RuleFeature.cpp
|
| @@ -480,12 +480,23 @@ void RuleFeatureSet::updateInvalidationSets(const RuleData& ruleData) {
|
|
|
| void RuleFeatureSet::updateRuleSetInvalidation(
|
| const InvalidationSetFeatures& features) {
|
| - if (!features.hasFeaturesForRuleSetInvalidation) {
|
| - if (features.forceSubtree || features.tagNames.isEmpty())
|
| - m_metadata.needsFullRecalcForRuleSetInvalidation = true;
|
| - else
|
| - addTagNamesToTypeRuleInvalidationSet(features.tagNames);
|
| + if (features.hasFeaturesForRuleSetInvalidation)
|
| + return;
|
| + if (features.forceSubtree ||
|
| + (!features.customPseudoElement && features.tagNames.isEmpty())) {
|
| + m_metadata.needsFullRecalcForRuleSetInvalidation = true;
|
| + return;
|
| + }
|
| +
|
| + ensureTypeRuleInvalidationSet();
|
| +
|
| + if (features.customPseudoElement) {
|
| + m_typeRuleInvalidationSet->setCustomPseudoInvalid();
|
| + m_typeRuleInvalidationSet->setTreeBoundaryCrossing();
|
| }
|
| +
|
| + for (auto tagName : features.tagNames)
|
| + m_typeRuleInvalidationSet->addTagName(tagName);
|
| }
|
|
|
| void RuleFeatureSet::updateInvalidationSetsForContentAttribute(
|
| @@ -1167,14 +1178,6 @@ void RuleFeatureSet::addFeaturesToUniversalSiblingInvalidationSet(
|
| descendantFeatures);
|
| }
|
|
|
| -void RuleFeatureSet::addTagNamesToTypeRuleInvalidationSet(
|
| - const Vector<AtomicString>& tagNames) {
|
| - DCHECK(!tagNames.isEmpty());
|
| - ensureTypeRuleInvalidationSet();
|
| - for (auto tagName : tagNames)
|
| - m_typeRuleInvalidationSet->addTagName(tagName);
|
| -}
|
| -
|
| DEFINE_TRACE(RuleFeatureSet) {
|
| visitor->trace(m_siblingRules);
|
| visitor->trace(m_uncommonAttributeRules);
|
|
|