Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(384)

Unified Diff: Source/core/dom/shadow/SelectRuleFeatureSet.h

Issue 540533004: Use style invalidation for more pseudo classes. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/dom/shadow/ElementShadow.cpp ('k') | Source/core/dom/shadow/SelectRuleFeatureSet.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/shadow/SelectRuleFeatureSet.h
diff --git a/Source/core/dom/shadow/SelectRuleFeatureSet.h b/Source/core/dom/shadow/SelectRuleFeatureSet.h
index 2c2f1dd14a5ff67940a19f18ad29e68016eea68b..0593133e52532c2240c792bb8a11129aa4093710 100644
--- a/Source/core/dom/shadow/SelectRuleFeatureSet.h
+++ b/Source/core/dom/shadow/SelectRuleFeatureSet.h
@@ -41,8 +41,6 @@ class SpaceSplitString;
class SelectRuleFeatureSet {
DISALLOW_ALLOCATION();
public:
- SelectRuleFeatureSet();
-
void add(const SelectRuleFeatureSet&);
void clear();
void collectFeaturesFromSelector(const CSSSelector&);
@@ -50,16 +48,15 @@ public:
bool hasSelectorForId(const AtomicString&) const;
bool hasSelectorForClass(const AtomicString&) const;
bool hasSelectorForAttribute(const AtomicString&) const;
+ bool hasSelectorForPseudoType(CSSSelector::PseudoType) const;
- bool hasSelectorForChecked() const { return hasSelectorFor(AffectedSelectorChecked); }
- bool hasSelectorForEnabled() const { return hasSelectorFor(AffectedSelectorEnabled); }
- bool hasSelectorForDisabled() const { return hasSelectorFor(AffectedSelectorDisabled); }
- bool hasSelectorForIndeterminate() const { return hasSelectorFor(AffectedSelectorIndeterminate); }
- bool hasSelectorForLink() const { return hasSelectorFor(AffectedSelectorLink); }
- bool hasSelectorForTarget() const { return hasSelectorFor(AffectedSelectorTarget); }
- bool hasSelectorForVisited() const { return hasSelectorFor(AffectedSelectorVisited); }
-
- bool hasSelectorFor(AffectedSelectorMask features) const { return m_featureFlags & features; }
+ bool hasSelectorForChecked() const { return hasSelectorForPseudoType(CSSSelector::PseudoChecked); }
+ bool hasSelectorForEnabled() const { return hasSelectorForPseudoType(CSSSelector::PseudoEnabled); }
+ bool hasSelectorForDisabled() const { return hasSelectorForPseudoType(CSSSelector::PseudoDisabled); }
+ bool hasSelectorForIndeterminate() const { return hasSelectorForPseudoType(CSSSelector::PseudoIndeterminate); }
+ bool hasSelectorForLink() const { return hasSelectorForPseudoType(CSSSelector::PseudoLink); }
+ bool hasSelectorForTarget() const { return hasSelectorForPseudoType(CSSSelector::PseudoTarget); }
+ bool hasSelectorForVisited() const { return hasSelectorForPseudoType(CSSSelector::PseudoVisited); }
bool checkSelectorsForClassChange(const SpaceSplitString& changedClasses) const;
bool checkSelectorsForClassChange(const SpaceSplitString& oldClasses, const SpaceSplitString& newClasses) const;
@@ -67,10 +64,7 @@ public:
void trace(Visitor* visitor) { visitor->trace(m_cssRuleFeatureSet); }
private:
- void setSelectRuleFeature(AffectedSelectorType feature) { m_featureFlags |= feature; }
-
RuleFeatureSet m_cssRuleFeatureSet;
- int m_featureFlags;
};
inline bool SelectRuleFeatureSet::hasSelectorForId(const AtomicString& idValue) const
@@ -91,6 +85,11 @@ inline bool SelectRuleFeatureSet::hasSelectorForAttribute(const AtomicString& at
return m_cssRuleFeatureSet.hasSelectorForAttribute(attributeName);
}
+inline bool SelectRuleFeatureSet::hasSelectorForPseudoType(CSSSelector::PseudoType pseudo) const
+{
+ return m_cssRuleFeatureSet.hasSelectorForPseudoType(pseudo);
+}
+
}
#endif
« no previous file with comments | « Source/core/dom/shadow/ElementShadow.cpp ('k') | Source/core/dom/shadow/SelectRuleFeatureSet.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698