void ScopedStyleResolver::appendCSSStyleSheet(CSSStyleSheet& cssSheet, const MediaQueryEvaluator& medium) { unsigned index = m_authorStyleSheets.size(); m_authorStyleSheets.append(&cssSheet); StyleSheetContents* sheet = cssSheet.contents(); AddRuleFlags addRuleFlags = treeScope().document().securityOrigin()->canRequest(sheet->baseURL()) ? RuleHasDocumentSecurityOrigin : RuleHasNoSpecialState; const RuleSet& ruleSet = sheet->ensureRuleSet(medium, addRuleFlags); addKeyframeRules(ruleSet); addFontFaceRules(ruleSet); addTreeBoundaryCrossingRules(ruleSet, &cssSheet, index); treeScope().document().styleResolver()->addMediaQueryResults(ruleSet.viewportDependentMediaQueryResults()); }
void ScopedStyleResolver::appendActiveStyleSheets( unsigned index, const ActiveStyleSheetVector& activeSheets) { for (auto activeIterator = activeSheets.begin() + index; activeIterator != activeSheets.end(); activeIterator++) { CSSStyleSheet* sheet = activeIterator->first; if (!activeIterator->second) continue; const RuleSet& ruleSet = *activeIterator->second; m_authorStyleSheets.append(sheet); addKeyframeRules(ruleSet); addFontFaceRules(ruleSet); addTreeBoundaryCrossingRules(ruleSet, sheet, index++); } }