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; |
}; |