| 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 21 matching lines...) Expand all Loading... |
| 32 #include "core/css/CSSKeyframesRule.h" | 32 #include "core/css/CSSKeyframesRule.h" |
| 33 #include "core/css/CSSMediaRule.h" | 33 #include "core/css/CSSMediaRule.h" |
| 34 #include "core/css/CSSRuleList.h" | 34 #include "core/css/CSSRuleList.h" |
| 35 #include "core/css/CSSSelector.h" | 35 #include "core/css/CSSSelector.h" |
| 36 #include "core/css/CSSStyleRule.h" | 36 #include "core/css/CSSStyleRule.h" |
| 37 #include "core/css/CSSStyleSheet.h" | 37 #include "core/css/CSSStyleSheet.h" |
| 38 #include "core/css/CSSSupportsRule.h" | 38 #include "core/css/CSSSupportsRule.h" |
| 39 #include "core/css/StylePropertySet.h" | 39 #include "core/css/StylePropertySet.h" |
| 40 #include "core/css/resolver/StyleResolver.h" | 40 #include "core/css/resolver/StyleResolver.h" |
| 41 #include "core/css/resolver/StyleResolverStats.h" | 41 #include "core/css/resolver/StyleResolverStats.h" |
| 42 #include "core/dom/StyleEngine.h" |
| 42 #include "core/dom/shadow/ShadowRoot.h" | 43 #include "core/dom/shadow/ShadowRoot.h" |
| 43 #include "core/style/StyleInheritedData.h" | 44 #include "core/style/StyleInheritedData.h" |
| 44 #include <algorithm> | 45 #include <algorithm> |
| 45 | 46 |
| 46 namespace blink { | 47 namespace blink { |
| 47 | 48 |
| 48 ElementRuleCollector::ElementRuleCollector(const ElementResolveContext& context, | 49 ElementRuleCollector::ElementRuleCollector(const ElementResolveContext& context, |
| 49 const SelectorFilter& filter, ComputedStyle* style) | 50 const SelectorFilter& filter, ComputedStyle* style) |
| 50 : m_context(context) | 51 : m_context(context) |
| 51 , m_selectorFilter(filter) | 52 , m_selectorFilter(filter) |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 } | 164 } |
| 164 if (m_pseudoStyleRequest.pseudoId != NOPSEUDO && m_pseudoStyleRequest.ps
eudoId != result.dynamicPseudo) { | 165 if (m_pseudoStyleRequest.pseudoId != NOPSEUDO && m_pseudoStyleRequest.ps
eudoId != result.dynamicPseudo) { |
| 165 rejected++; | 166 rejected++; |
| 166 continue; | 167 continue; |
| 167 } | 168 } |
| 168 | 169 |
| 169 matched++; | 170 matched++; |
| 170 didMatchRule(ruleData, result, cascadeOrder, matchRequest); | 171 didMatchRule(ruleData, result, cascadeOrder, matchRequest); |
| 171 } | 172 } |
| 172 | 173 |
| 173 if (StyleResolver* resolver = m_context.element()->document().styleResolver(
)) { | 174 StyleEngine& styleEngine = m_context.element()->document().styleEngine(); |
| 174 INCREMENT_STYLE_STATS_COUNTER(*resolver, rulesRejected, rejected); | 175 if (!styleEngine.stats()) |
| 175 INCREMENT_STYLE_STATS_COUNTER(*resolver, rulesFastRejected, fastRejected
); | 176 return; |
| 176 INCREMENT_STYLE_STATS_COUNTER(*resolver, rulesMatched, matched); | 177 |
| 177 } | 178 INCREMENT_STYLE_STATS_COUNTER(styleEngine, rulesRejected, rejected); |
| 179 INCREMENT_STYLE_STATS_COUNTER(styleEngine, rulesFastRejected, fastRejected); |
| 180 INCREMENT_STYLE_STATS_COUNTER(styleEngine, rulesMatched, matched); |
| 178 } | 181 } |
| 179 | 182 |
| 180 void ElementRuleCollector::collectMatchingRules(const MatchRequest& matchRequest
, CascadeOrder cascadeOrder, bool matchingTreeBoundaryRules) | 183 void ElementRuleCollector::collectMatchingRules(const MatchRequest& matchRequest
, CascadeOrder cascadeOrder, bool matchingTreeBoundaryRules) |
| 181 { | 184 { |
| 182 ASSERT(matchRequest.ruleSet); | 185 ASSERT(matchRequest.ruleSet); |
| 183 ASSERT(m_context.element()); | 186 ASSERT(m_context.element()); |
| 184 | 187 |
| 185 Element& element = *m_context.element(); | 188 Element& element = *m_context.element(); |
| 186 const AtomicString& pseudoId = element.shadowPseudoId(); | 189 const AtomicString& pseudoId = element.shadowPseudoId(); |
| 187 if (!pseudoId.isEmpty()) { | 190 if (!pseudoId.isEmpty()) { |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 330 // should not see the element's treescope. Because RuleSet has no | 333 // should not see the element's treescope. Because RuleSet has no |
| 331 // information about "scope". | 334 // information about "scope". |
| 332 MatchRequest matchRequest(ruleSet); | 335 MatchRequest matchRequest(ruleSet); |
| 333 collectMatchingRules(matchRequest); | 336 collectMatchingRules(matchRequest); |
| 334 collectMatchingShadowHostRules(matchRequest); | 337 collectMatchingShadowHostRules(matchRequest); |
| 335 | 338 |
| 336 return !m_matchedRules.isEmpty(); | 339 return !m_matchedRules.isEmpty(); |
| 337 } | 340 } |
| 338 | 341 |
| 339 } // namespace blink | 342 } // namespace blink |
| OLD | NEW |