X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FSource%2Fcore%2Fcss%2FTreeBoundaryCrossingRules.h;h=64c2970e4c3b8f1ac73ee67bc342adb9b1384a8f;hb=004985e17e624662a4c85c76a7654039dc83f028;hp=d08c68282503e1b9d5494153654a75d4f59aa095;hpb=2f108dbacb161091e42a3479f4e171339b7e7623;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/Source/core/css/TreeBoundaryCrossingRules.h b/src/third_party/WebKit/Source/core/css/TreeBoundaryCrossingRules.h index d08c682..64c2970 100644 --- a/src/third_party/WebKit/Source/core/css/TreeBoundaryCrossingRules.h +++ b/src/third_party/WebKit/Source/core/css/TreeBoundaryCrossingRules.h @@ -32,28 +32,29 @@ namespace WebCore { +class CSSStyleSheet; class ContainerNode; +class ElementRuleCollector; class RuleFeatureSet; class TreeBoundaryCrossingRules { DISALLOW_ALLOCATION(); public: - void addRule(StyleRule*, size_t selectorIndex, ContainerNode* scopingNode, AddRuleFlags); - void clear() { m_treeBoundaryCrossingRuleSetMap.clear(); } + void addTreeBoundaryCrossingRules(const RuleSet&, ContainerNode& scope, CSSStyleSheet*); + 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: + size_t size() const { return m_scopingNodes.size(); } + typedef WillBeHeapVector > > CSSStyleSheetRuleSubSet; + void collectFeaturesFromRuleSubSet(CSSStyleSheetRuleSubSet*, RuleFeatureSet&); + DocumentOrderedList m_scopingNodes; - typedef WillBeHeapHashMap > TreeBoundaryCrossingRuleSetMap; + typedef WillBeHeapHashMap > TreeBoundaryCrossingRuleSetMap; TreeBoundaryCrossingRuleSetMap m_treeBoundaryCrossingRuleSetMap; };