Chromium Code Reviews| Index: Source/core/css/TreeBoundaryCrossingRules.h |
| diff --git a/Source/core/css/TreeBoundaryCrossingRules.h b/Source/core/css/TreeBoundaryCrossingRules.h |
| index d08c68282503e1b9d5494153654a75d4f59aa095..eddf1bcb93ed44482fc19d7935f0ab8fe7e841ae 100644 |
| --- a/Source/core/css/TreeBoundaryCrossingRules.h |
| +++ b/Source/core/css/TreeBoundaryCrossingRules.h |
| @@ -33,27 +33,29 @@ |
| namespace WebCore { |
| class ContainerNode; |
| +class ElementRuleCollector; |
| +class MinimalRuleData; |
| class RuleFeatureSet; |
| +class RuleSet; |
| class TreeBoundaryCrossingRules { |
| DISALLOW_ALLOCATION(); |
| public: |
| - void addRule(StyleRule*, size_t selectorIndex, ContainerNode* scopingNode, AddRuleFlags); |
| - void clear() { m_treeBoundaryCrossingRuleSetMap.clear(); } |
| + void addTreeBoundaryCrossingRules(const RuleSet&, ContainerNode*, CSSStyleSheet* parentStyleSheet); |
| void reset(const ContainerNode* scopingNode); |
| - bool isEmpty() const { return m_treeBoundaryCrossingRuleSetMap.isEmpty(); } |
| void collectFeaturesTo(RuleFeatureSet&); |
| - |
| - DocumentOrderedList::iterator begin() { return m_scopingNodes.begin(); } |
| - DocumentOrderedList::iterator end() { return m_scopingNodes.end(); } |
| - size_t size() const { return m_scopingNodes.size(); } |
| - RuleSet* ruleSetScopedBy(const ContainerNode* scopingNode) { return m_treeBoundaryCrossingRuleSetMap.get(scopingNode); } |
| + void collectTreeBoundaryCrossingRules(Element*, ElementRuleCollector&, bool includeEmptyRules); |
| void trace(Visitor* visitor) { visitor->trace(m_treeBoundaryCrossingRuleSetMap); } |
| - |
| private: |
| + typedef std::pair<CSSStyleSheet*, OwnPtrWillBeMember<RuleSet> > CSSStyleSheetRules; |
| + typedef Vector<CSSStyleSheetRules> CSSStyleSheetRuleSubSet; |
|
esprehn
2014/03/26 19:16:03
This doesn't make sense to me, tree boundary cross
|
| + size_t size() const { return m_scopingNodes.size(); } |
| + void collectFeaturesFromStyleSheetSubSet(TreeBoundaryCrossingRules::CSSStyleSheetRuleSubSet* styleSheetSubSet, RuleFeatureSet& features); |
| + void addRules(const WillBeHeapVector<MinimalRuleData>& rules, ContainerNode* scope, CSSStyleSheet* parentStyleSheet); |
| + |
| DocumentOrderedList m_scopingNodes; |
| - typedef WillBeHeapHashMap<const ContainerNode*, OwnPtrWillBeMember<RuleSet> > TreeBoundaryCrossingRuleSetMap; |
| + typedef WillBeHeapHashMap<const ContainerNode*, OwnPtrWillBeMember<CSSStyleSheetRuleSubSet> > TreeBoundaryCrossingRuleSetMap; |
| TreeBoundaryCrossingRuleSetMap m_treeBoundaryCrossingRuleSetMap; |
| }; |