bool ElementRuleCollector::hasAnyMatchingRules(RuleSet* ruleSet) { clearMatchedRules(); m_mode = SelectorChecker::SharingRules; int firstRuleIndex = -1, lastRuleIndex = -1; StyleResolver::RuleRange ruleRange(firstRuleIndex, lastRuleIndex); collectMatchingRules(MatchRequest(ruleSet), ruleRange); return m_matchedRules && !m_matchedRules->isEmpty(); }
bool ElementRuleCollector::hasAnyMatchingRules(const RuleSet* ruleSet) { clearMatchedRules(); m_mode = SelectorChecker::Mode::CollectingRulesIgnoringVirtualPseudoElements; int firstRuleIndex = -1, lastRuleIndex = -1; StyleResolver::RuleRange ruleRange(firstRuleIndex, lastRuleIndex); collectMatchingRules(MatchRequest(ruleSet), ruleRange); return !m_matchedRules.isEmpty(); }
bool ElementRuleCollector::hasAnyMatchingRules(RuleSet* ruleSet) { clearMatchedRules(); m_mode = SelectorChecker::SharingRules; // To check whether a given RuleSet has any rule matching a given element, // should not see the element's treescope. Because RuleSet has no // information about "scope". int firstRuleIndex = -1, lastRuleIndex = -1; RuleRange ruleRange(firstRuleIndex, lastRuleIndex); // FIXME: Verify whether it's ok to ignore CascadeScope here. collectMatchingRules(MatchRequest(ruleSet), ruleRange, SelectorChecker::StaysWithinTreeScope); return m_matchedRules && !m_matchedRules->isEmpty(); }
bool ElementRuleCollector::hasAnyMatchingRules(RuleSet* ruleSet) { clearMatchedRules(); m_mode = SelectorChecker::SharingRules; // To check whether a given RuleSet has any rule matching a given element, // should not see the element's treescope. Because RuleSet has no // information about "scope". m_behaviorAtBoundary = SelectorChecker::StaysWithinTreeScope; int firstRuleIndex = -1, lastRuleIndex = -1; StyleResolver::RuleRange ruleRange(firstRuleIndex, lastRuleIndex); collectMatchingRules(MatchRequest(ruleSet), ruleRange); return m_matchedRules && !m_matchedRules->isEmpty(); }