bool ScopedStyleResolver::checkRegionStyle(Element* regionElement) { if (!m_authorStyle) return false; unsigned rulesSize = m_authorStyle->m_regionSelectorsAndRuleSets.size(); for (unsigned i = 0; i < rulesSize; ++i) { ASSERT(m_authorStyle->m_regionSelectorsAndRuleSets.at(i).ruleSet.get()); if (checkRegionSelector(m_authorStyle->m_regionSelectorsAndRuleSets.at(i).selector, regionElement)) return true; } return false; }
void ElementRuleCollector::collectMatchingRulesForRegion(const MatchRequest& matchRequest, StyleResolver::RuleRange& ruleRange) { if (!m_regionForStyling) return; unsigned size = matchRequest.ruleSet->m_regionSelectorsAndRuleSets.size(); for (unsigned i = 0; i < size; ++i) { const CSSSelector* regionSelector = matchRequest.ruleSet->m_regionSelectorsAndRuleSets.at(i).selector; if (checkRegionSelector(regionSelector, toElement(m_regionForStyling->node()))) { RuleSet* regionRules = matchRequest.ruleSet->m_regionSelectorsAndRuleSets.at(i).ruleSet.get(); ASSERT(regionRules); collectMatchingRules(MatchRequest(regionRules, matchRequest.includeEmptyRules, matchRequest.scope), ruleRange); } } }
void ElementRuleCollector::collectMatchingRulesForRegion(const MatchRequest& matchRequest, RuleRange& ruleRange, SelectorChecker::BehaviorAtBoundary behaviorAtBoundary, CascadeScope cascadeScope, CascadeOrder cascadeOrder) { if (!m_regionForStyling) return; unsigned size = matchRequest.ruleSet->m_regionSelectorsAndRuleSets.size(); for (unsigned i = 0; i < size; ++i) { const CSSSelector* regionSelector = matchRequest.ruleSet->m_regionSelectorsAndRuleSets.at(i).selector; if (checkRegionSelector(regionSelector, toElement(m_regionForStyling->node()))) { RuleSet* regionRules = matchRequest.ruleSet->m_regionSelectorsAndRuleSets.at(i).ruleSet.get(); ASSERT(regionRules); collectMatchingRules(MatchRequest(regionRules, matchRequest.includeEmptyRules, matchRequest.scope), ruleRange, behaviorAtBoundary, cascadeScope, cascadeOrder); } } }