OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) |
4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) | 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) |
5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All r
ights reserved. |
6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. | 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. |
10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 | 68 |
69 RuleRange ruleRange = collector.matchedResult().ranges.authorRuleRange(); | 69 RuleRange ruleRange = collector.matchedResult().ranges.authorRuleRange(); |
70 | 70 |
71 // When comparing rules declared in outer treescopes, outer's rules win. | 71 // When comparing rules declared in outer treescopes, outer's rules win. |
72 CascadeOrder outerCascadeOrder = size() + size(); | 72 CascadeOrder outerCascadeOrder = size() + size(); |
73 // When comparing rules declared in inner treescopes, inner's rules win. | 73 // When comparing rules declared in inner treescopes, inner's rules win. |
74 CascadeOrder innerCascadeOrder = size(); | 74 CascadeOrder innerCascadeOrder = size(); |
75 | 75 |
76 ASSERT(!collector.scopeContainsLastMatchedElement()); | 76 ASSERT(!collector.scopeContainsLastMatchedElement()); |
77 collector.setScopeContainsLastMatchedElement(true); | 77 collector.setScopeContainsLastMatchedElement(true); |
78 for (DocumentOrderedList::iterator it = m_scopingNodes.begin(); it != m_scop
ingNodes.end(); ++it) { | 78 for (const auto& scope : m_scopingNodes) { |
79 const ContainerNode* scopingNode = toContainerNode(*it); | 79 const ContainerNode* scopingNode = toContainerNode(scope); |
80 CSSStyleSheetRuleSubSet* ruleSubSet = m_treeBoundaryCrossingRuleSetMap.g
et(scopingNode); | 80 CSSStyleSheetRuleSubSet* ruleSubSet = m_treeBoundaryCrossingRuleSetMap.g
et(scopingNode); |
81 bool isInnerTreeScope = element->treeScope().isInclusiveAncestorOf(scopi
ngNode->treeScope()); | 81 bool isInnerTreeScope = element->treeScope().isInclusiveAncestorOf(scopi
ngNode->treeScope()); |
82 | 82 |
83 CascadeOrder cascadeOrder = isInnerTreeScope ? innerCascadeOrder : outer
CascadeOrder; | 83 CascadeOrder cascadeOrder = isInnerTreeScope ? innerCascadeOrder : outer
CascadeOrder; |
84 for (CSSStyleSheetRuleSubSet::iterator it = ruleSubSet->begin(); it != r
uleSubSet->end(); ++it) { | 84 for (const auto& rules : *ruleSubSet) { |
85 MatchRequest request((*it)->ruleSet.get(), includeEmptyRules, scopin
gNode, (*it)->parentStyleSheet, (*it)->parentIndex); | 85 MatchRequest request(rules->ruleSet.get(), includeEmptyRules, scopin
gNode, rules->parentStyleSheet, rules->parentIndex); |
86 collector.collectMatchingRules(request, ruleRange, ignoreCascadeScop
e, cascadeOrder, true); | 86 collector.collectMatchingRules(request, ruleRange, ignoreCascadeScop
e, cascadeOrder, true); |
87 } | 87 } |
88 ++innerCascadeOrder; | 88 ++innerCascadeOrder; |
89 --outerCascadeOrder; | 89 --outerCascadeOrder; |
90 } | 90 } |
91 collector.setScopeContainsLastMatchedElement(false); | 91 collector.setScopeContainsLastMatchedElement(false); |
92 } | 92 } |
93 | 93 |
94 void TreeBoundaryCrossingRules::reset(const ContainerNode* scopingNode) | 94 void TreeBoundaryCrossingRules::reset(const ContainerNode* scopingNode) |
95 { | 95 { |
96 m_treeBoundaryCrossingRuleSetMap.remove(scopingNode); | 96 m_treeBoundaryCrossingRuleSetMap.remove(scopingNode); |
97 m_scopingNodes.remove(scopingNode); | 97 m_scopingNodes.remove(scopingNode); |
98 } | 98 } |
99 | 99 |
100 void TreeBoundaryCrossingRules::collectFeaturesFromRuleSubSet(CSSStyleSheetRuleS
ubSet* ruleSubSet, RuleFeatureSet& features) | 100 void TreeBoundaryCrossingRules::collectFeaturesFromRuleSubSet(CSSStyleSheetRuleS
ubSet* ruleSubSet, RuleFeatureSet& features) |
101 { | 101 { |
102 for (CSSStyleSheetRuleSubSet::iterator it = ruleSubSet->begin(); it != ruleS
ubSet->end(); ++it) | 102 for (const auto& rules : *ruleSubSet) |
103 features.add((*it)->ruleSet->features()); | 103 features.add(rules->ruleSet->features()); |
104 } | 104 } |
105 | 105 |
106 void TreeBoundaryCrossingRules::collectFeaturesTo(RuleFeatureSet& features) | 106 void TreeBoundaryCrossingRules::collectFeaturesTo(RuleFeatureSet& features) |
107 { | 107 { |
108 for (TreeBoundaryCrossingRuleSetMap::iterator::Values it = m_treeBoundaryCro
ssingRuleSetMap.values().begin(); it != m_treeBoundaryCrossingRuleSetMap.values(
).end(); ++it) | 108 for (const auto& value : m_treeBoundaryCrossingRuleSetMap.values()) |
109 collectFeaturesFromRuleSubSet(it->get(), features); | 109 collectFeaturesFromRuleSubSet(value.get(), features); |
110 } | 110 } |
111 | 111 |
112 void TreeBoundaryCrossingRules::trace(Visitor* visitor) | 112 void TreeBoundaryCrossingRules::trace(Visitor* visitor) |
113 { | 113 { |
114 #if ENABLE(OILPAN) | 114 #if ENABLE(OILPAN) |
115 visitor->trace(m_treeBoundaryCrossingRuleSetMap); | 115 visitor->trace(m_treeBoundaryCrossingRuleSetMap); |
116 visitor->trace(m_scopingNodes); | 116 visitor->trace(m_scopingNodes); |
117 #endif | 117 #endif |
118 } | 118 } |
119 | 119 |
120 void TreeBoundaryCrossingRules::RuleSubSet::trace(Visitor* visitor) | 120 void TreeBoundaryCrossingRules::RuleSubSet::trace(Visitor* visitor) |
121 { | 121 { |
122 visitor->trace(ruleSet); | 122 visitor->trace(ruleSet); |
123 } | 123 } |
124 | 124 |
125 } // namespace blink | 125 } // namespace blink |
OLD | NEW |