| 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, 2013 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights 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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 m_cssRuleList = StaticCSSRuleList::create(); | 103 m_cssRuleList = StaticCSSRuleList::create(); |
| 104 return m_cssRuleList.get(); | 104 return m_cssRuleList.get(); |
| 105 } | 105 } |
| 106 | 106 |
| 107 void ElementRuleCollector::addElementStyleProperties(const StylePropertySet* pro
pertySet, bool isCacheable) | 107 void ElementRuleCollector::addElementStyleProperties(const StylePropertySet* pro
pertySet, bool isCacheable) |
| 108 { | 108 { |
| 109 if (!propertySet) | 109 if (!propertySet) |
| 110 return; | 110 return; |
| 111 m_result.addMatchedProperties(propertySet); | 111 m_result.addMatchedProperties(propertySet); |
| 112 if (!isCacheable) | 112 if (!isCacheable) |
| 113 m_result.isCacheable = false; | 113 m_result.setIsCacheable(false); |
| 114 } | 114 } |
| 115 | 115 |
| 116 static bool rulesApplicableInCurrentTreeScope(const Element* element, const Cont
ainerNode* scopingNode, bool matchingTreeBoundaryRules) | 116 static bool rulesApplicableInCurrentTreeScope(const Element* element, const Cont
ainerNode* scopingNode, bool matchingTreeBoundaryRules) |
| 117 { | 117 { |
| 118 // [skipped, because already checked] a) it's a UA rule | 118 // [skipped, because already checked] a) it's a UA rule |
| 119 // b) We're mathcing tree boundary rules. | 119 // b) We're mathcing tree boundary rules. |
| 120 if (matchingTreeBoundaryRules) | 120 if (matchingTreeBoundaryRules) |
| 121 return true; | 121 return true; |
| 122 // c) the rules comes from a scoped style sheet within the same tree scope | 122 // c) the rules comes from a scoped style sheet within the same tree scope |
| 123 if (!scopingNode || element->treeScope() == scopingNode->treeScope()) | 123 if (!scopingNode || element->treeScope() == scopingNode->treeScope()) |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 for (unsigned i = 0; i < m_matchedRules.size(); ++i) | 286 for (unsigned i = 0; i < m_matchedRules.size(); ++i) |
| 287 appendCSSOMWrapperForRule(const_cast<CSSStyleSheet*>(m_matchedRules[
i].parentStyleSheet()), m_matchedRules[i].ruleData()->rule()); | 287 appendCSSOMWrapperForRule(const_cast<CSSStyleSheet*>(m_matchedRules[
i].parentStyleSheet()), m_matchedRules[i].ruleData()->rule()); |
| 288 return; | 288 return; |
| 289 } | 289 } |
| 290 | 290 |
| 291 // Now transfer the set of matched rules over to our list of declarations. | 291 // Now transfer the set of matched rules over to our list of declarations. |
| 292 for (unsigned i = 0; i < m_matchedRules.size(); i++) { | 292 for (unsigned i = 0; i < m_matchedRules.size(); i++) { |
| 293 const RuleData* ruleData = m_matchedRules[i].ruleData(); | 293 const RuleData* ruleData = m_matchedRules[i].ruleData(); |
| 294 m_result.addMatchedProperties(&ruleData->rule()->properties(), ruleData-
>linkMatchType(), ruleData->propertyWhitelistType(m_matchingUARules)); | 294 m_result.addMatchedProperties(&ruleData->rule()->properties(), ruleData-
>linkMatchType(), ruleData->propertyWhitelistType(m_matchingUARules)); |
| 295 } | 295 } |
| 296 | |
| 297 if (m_matchingUARules) | |
| 298 m_result.uaEnd = m_result.matchedProperties.size(); | |
| 299 } | 296 } |
| 300 | 297 |
| 301 void ElementRuleCollector::didMatchRule(const RuleData& ruleData, const Selector
Checker::MatchResult& result, CascadeOrder cascadeOrder, const MatchRequest& mat
chRequest) | 298 void ElementRuleCollector::didMatchRule(const RuleData& ruleData, const Selector
Checker::MatchResult& result, CascadeOrder cascadeOrder, const MatchRequest& mat
chRequest) |
| 302 { | 299 { |
| 303 PseudoId dynamicPseudo = result.dynamicPseudo; | 300 PseudoId dynamicPseudo = result.dynamicPseudo; |
| 304 // If we're matching normal rules, set a pseudo bit if | 301 // If we're matching normal rules, set a pseudo bit if |
| 305 // we really just matched a pseudo-element. | 302 // we really just matched a pseudo-element. |
| 306 if (dynamicPseudo != NOPSEUDO && m_pseudoStyleRequest.pseudoId == NOPSEUDO)
{ | 303 if (dynamicPseudo != NOPSEUDO && m_pseudoStyleRequest.pseudoId == NOPSEUDO)
{ |
| 307 if (m_mode == SelectorChecker::CollectingCSSRules || m_mode == SelectorC
hecker::CollectingStyleRules) | 304 if (m_mode == SelectorChecker::CollectingCSSRules || m_mode == SelectorC
hecker::CollectingStyleRules) |
| 308 return; | 305 return; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 // should not see the element's treescope. Because RuleSet has no | 341 // should not see the element's treescope. Because RuleSet has no |
| 345 // information about "scope". | 342 // information about "scope". |
| 346 MatchRequest matchRequest(ruleSet); | 343 MatchRequest matchRequest(ruleSet); |
| 347 collectMatchingRules(matchRequest); | 344 collectMatchingRules(matchRequest); |
| 348 collectMatchingShadowHostRules(matchRequest); | 345 collectMatchingShadowHostRules(matchRequest); |
| 349 | 346 |
| 350 return !m_matchedRules.isEmpty(); | 347 return !m_matchedRules.isEmpty(); |
| 351 } | 348 } |
| 352 | 349 |
| 353 } // namespace blink | 350 } // namespace blink |
| OLD | NEW |