| Index: Source/core/css/RuleFeature.h
|
| diff --git a/Source/core/css/RuleFeature.h b/Source/core/css/RuleFeature.h
|
| index b51863c428975a72a41f1295c091d558f12976a3..72685af2e7170a985cc37ec5afbb45f5199c34e6 100644
|
| --- a/Source/core/css/RuleFeature.h
|
| +++ b/Source/core/css/RuleFeature.h
|
| @@ -22,6 +22,7 @@
|
| #ifndef RuleFeature_h
|
| #define RuleFeature_h
|
|
|
| +#include "core/css/analyzer/RuleSetAnalyzer.h"
|
| #include "wtf/Forward.h"
|
| #include "wtf/HashSet.h"
|
| #include "wtf/text/AtomicStringHash.h"
|
| @@ -54,7 +55,7 @@ public:
|
| void add(const RuleFeatureSet&);
|
| void clear();
|
|
|
| - void collectFeaturesFromSelector(const CSSSelector*);
|
| + void collectFeaturesFromSelector(const CSSSelector*, HashSet<AtomicString>* classesInRulesArg);
|
|
|
| bool usesSiblingRules() const { return !siblingRules.isEmpty(); }
|
| bool usesFirstLineRules() const { return m_usesFirstLineRules; }
|
| @@ -80,13 +81,19 @@ public:
|
| return idsInRules.contains(idValue);
|
| }
|
|
|
| + RuleSetAnalyzer* getRuleSetAnalyzer() const;
|
| + RuleSetAnalyzer* ensureRuleSetAnalyzer();
|
| +
|
| + // FIXME: move this stuff into the rule set analyzer.
|
| HashSet<AtomicString> idsInRules;
|
| HashSet<AtomicString> classesInRules;
|
| HashSet<AtomicString> attrsInRules;
|
| Vector<RuleFeature> siblingRules;
|
| Vector<RuleFeature> uncommonAttributeRules;
|
| private:
|
| - void collectFeaturesFromSelectorList(const CSSSelectorList*);
|
| + RefPtr<RuleSetAnalyzer> ruleSetAnalyzer;
|
| +
|
| + void collectFeaturesFromSelectorList(const CSSSelectorList*, HashSet<AtomicString>* classesInRulesArg);
|
|
|
| bool m_usesFirstLineRules;
|
| unsigned m_maxDirectAdjacentSelectors;
|
|
|