| 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 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 273 return false; | 273 return false; |
| 274 return true; | 274 return true; |
| 275 } | 275 } |
| 276 | 276 |
| 277 void ElementRuleCollector::collectRuleIfMatches(const RuleData& ruleData, Cascad
eScope cascadeScope, CascadeOrder cascadeOrder, const MatchRequest& matchRequest
, RuleRange& ruleRange) | 277 void ElementRuleCollector::collectRuleIfMatches(const RuleData& ruleData, Cascad
eScope cascadeScope, CascadeOrder cascadeOrder, const MatchRequest& matchRequest
, RuleRange& ruleRange) |
| 278 { | 278 { |
| 279 if (m_canUseFastReject && m_selectorFilter.fastRejectSelector<RuleData::maxi
mumIdentifierCount>(ruleData.descendantSelectorIdentifierHashes())) | 279 if (m_canUseFastReject && m_selectorFilter.fastRejectSelector<RuleData::maxi
mumIdentifierCount>(ruleData.descendantSelectorIdentifierHashes())) |
| 280 return; | 280 return; |
| 281 | 281 |
| 282 StyleRule* rule = ruleData.rule(); | 282 StyleRule* rule = ruleData.rule(); |
| 283 |
| 284 // If the rule has no properties to apply, then ignore it in the non-debug m
ode. |
| 285 const StylePropertySet& properties = rule->properties(); |
| 286 if (properties.isEmpty() && !matchRequest.includeEmptyRules) |
| 287 return; |
| 288 |
| 283 SelectorChecker::MatchResult result; | 289 SelectorChecker::MatchResult result; |
| 284 if (ruleMatches(ruleData, matchRequest.scope, &result)) { | 290 if (ruleMatches(ruleData, matchRequest.scope, &result)) { |
| 285 // If the rule has no properties to apply, then ignore it in the non-deb
ug mode. | |
| 286 const StylePropertySet& properties = rule->properties(); | |
| 287 if (properties.isEmpty() && !matchRequest.includeEmptyRules) | |
| 288 return; | |
| 289 // FIXME: Exposing the non-standard getMatchedCSSRules API to web is the
only reason this is needed. | 291 // FIXME: Exposing the non-standard getMatchedCSSRules API to web is the
only reason this is needed. |
| 290 if (m_sameOriginOnly && !ruleData.hasDocumentSecurityOrigin()) | 292 if (m_sameOriginOnly && !ruleData.hasDocumentSecurityOrigin()) |
| 291 return; | 293 return; |
| 292 | 294 |
| 293 PseudoId dynamicPseudo = result.dynamicPseudo; | 295 PseudoId dynamicPseudo = result.dynamicPseudo; |
| 294 // If we're matching normal rules, set a pseudo bit if | 296 // If we're matching normal rules, set a pseudo bit if |
| 295 // we really just matched a pseudo-element. | 297 // we really just matched a pseudo-element. |
| 296 if (dynamicPseudo != NOPSEUDO && m_pseudoStyleRequest.pseudoId == NOPSEU
DO) { | 298 if (dynamicPseudo != NOPSEUDO && m_pseudoStyleRequest.pseudoId == NOPSEU
DO) { |
| 297 if (m_mode == SelectorChecker::CollectingCSSRules || m_mode == Selec
torChecker::CollectingStyleRules) | 299 if (m_mode == SelectorChecker::CollectingCSSRules || m_mode == Selec
torChecker::CollectingStyleRules) |
| 298 return; | 300 return; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 343 // information about "scope". | 345 // information about "scope". |
| 344 int firstRuleIndex = -1, lastRuleIndex = -1; | 346 int firstRuleIndex = -1, lastRuleIndex = -1; |
| 345 RuleRange ruleRange(firstRuleIndex, lastRuleIndex); | 347 RuleRange ruleRange(firstRuleIndex, lastRuleIndex); |
| 346 // FIXME: Verify whether it's ok to ignore CascadeScope here. | 348 // FIXME: Verify whether it's ok to ignore CascadeScope here. |
| 347 collectMatchingRules(MatchRequest(ruleSet), ruleRange); | 349 collectMatchingRules(MatchRequest(ruleSet), ruleRange); |
| 348 | 350 |
| 349 return !m_matchedRules.isEmpty(); | 351 return !m_matchedRules.isEmpty(); |
| 350 } | 352 } |
| 351 | 353 |
| 352 } // namespace blink | 354 } // namespace blink |
| OLD | NEW |