Index: Source/core/css/TreeBoundaryCrossingRules.h |
diff --git a/Source/core/css/TreeBoundaryCrossingRules.h b/Source/core/css/TreeBoundaryCrossingRules.h |
index 9e391e228ffb98ab9677f85f0f6bdb591033258f..3cc1479d743aaa0170df751c8c02934db8891946 100644 |
--- a/Source/core/css/TreeBoundaryCrossingRules.h |
+++ b/Source/core/css/TreeBoundaryCrossingRules.h |
@@ -33,24 +33,25 @@ |
namespace WebCore { |
class ContainerNode; |
+class ElementRuleCollector; |
class RuleFeatureSet; |
class TreeBoundaryCrossingRules { |
public: |
- void addRule(StyleRule*, size_t selectorIndex, ContainerNode* scopingNode, AddRuleFlags); |
- void clear() { m_treeBoundaryCrossingRuleSetMap.clear(); } |
+ void addRule(StyleRule*, size_t selectorIndex, ContainerNode* scopingNode, CSSStyleSheet* parentStyleSheet, AddRuleFlags); |
void reset(const ContainerNode* scopingNode); |
- bool isEmpty() const { return m_treeBoundaryCrossingRuleSetMap.isEmpty(); } |
void collectFeaturesTo(RuleFeatureSet&); |
+ void collectTreeBoundaryCrossingRules(Element*, ElementRuleCollector&, bool includeEmptyRules); |
- DocumentOrderedList::iterator begin() { return m_scopingNodes.begin(); } |
- DocumentOrderedList::iterator end() { return m_scopingNodes.end(); } |
+private: |
+ typedef HashMap<const CSSStyleSheet*, OwnPtrWillBeMember<RuleSet> > CSSStyleSheetRuleSubSet; |
vsevik
2014/03/26 08:33:44
Can we use Vector of pairs instead? This should be
lushnikov
2014/03/26 14:04:36
Done.
|
size_t size() const { return m_scopingNodes.size(); } |
- RuleSet* ruleSetScopedBy(const ContainerNode* scopingNode) { return m_treeBoundaryCrossingRuleSetMap.get(scopingNode); } |
+ void collectFeaturesFromStyleSheetSubSet(TreeBoundaryCrossingRules::CSSStyleSheetRuleSubSet* styleSheetSubSet, RuleFeatureSet& features); |
-private: |
+ typedef ListHashSet<CSSStyleSheet*> CSSStyleSheetOrder; |
+ WillBePersistentHeapHashMap<const ContainerNode*, OwnPtrWillBeMember<CSSStyleSheetOrder> > m_styleSheetsOrder; |
DocumentOrderedList m_scopingNodes; |
- typedef WillBePersistentHeapHashMap<const ContainerNode*, OwnPtrWillBeMember<RuleSet> > TreeBoundaryCrossingRuleSetMap; |
+ typedef WillBePersistentHeapHashMap<const ContainerNode*, OwnPtrWillBeMember<CSSStyleSheetRuleSubSet> > TreeBoundaryCrossingRuleSetMap; |
TreeBoundaryCrossingRuleSetMap m_treeBoundaryCrossingRuleSetMap; |
}; |