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 |