Index: Source/core/css/ElementRuleCollector.h |
diff --git a/Source/core/css/ElementRuleCollector.h b/Source/core/css/ElementRuleCollector.h |
index 91426b0aa775f4b1876511e1dddb7038f3740945..088b2d7e17b220be145c9750135055027d4a664a 100644 |
--- a/Source/core/css/ElementRuleCollector.h |
+++ b/Source/core/css/ElementRuleCollector.h |
@@ -115,8 +115,17 @@ public: |
private: |
void collectRuleIfMatches(const RuleData&, SelectorChecker::BehaviorAtBoundary, CascadeScope, CascadeOrder, const MatchRequest&, RuleRange&); |
- void collectMatchingRulesForList(const Vector<RuleData>*, SelectorChecker::BehaviorAtBoundary, CascadeScope, CascadeOrder, const MatchRequest&, RuleRange&); |
- void collectMatchingRulesForList(const RuleData*, SelectorChecker::BehaviorAtBoundary, CascadeScope, CascadeOrder, const MatchRequest&, RuleRange&); |
+ |
+ template<typename RuleDataListType> |
+ void collectMatchingRulesForList(const RuleDataListType* rules, SelectorChecker::BehaviorAtBoundary behaviorAtBoundary, CascadeScope cascadeScope, CascadeOrder cascadeOrder, const MatchRequest& matchRequest, RuleRange& ruleRange) |
+ { |
+ if (!rules) |
+ return; |
+ |
+ for (typename RuleDataListType::const_iterator it = rules->begin(), end = rules->end(); it != end; ++it) |
+ collectRuleIfMatches(*it, behaviorAtBoundary, cascadeScope, cascadeOrder, matchRequest, ruleRange); |
+ } |
+ |
bool ruleMatches(const RuleData&, const ContainerNode* scope, SelectorChecker::BehaviorAtBoundary, SelectorChecker::MatchResult*); |
CSSRuleList* nestedRuleList(CSSRule*); |