Index: Source/core/css/resolver/ScopedStyleResolver.cpp |
diff --git a/Source/core/css/resolver/ScopedStyleResolver.cpp b/Source/core/css/resolver/ScopedStyleResolver.cpp |
index b748dde0c21d8469c48ce453a1574de4f069afbf..a3dd4ee6d8f0a37674ff752d1d2642aa0c5902e0 100644 |
--- a/Source/core/css/resolver/ScopedStyleResolver.cpp |
+++ b/Source/core/css/resolver/ScopedStyleResolver.cpp |
@@ -65,17 +65,30 @@ ContainerNode* ScopedStyleResolver::scopingNodeFor(const CSSStyleSheet* sheet) |
return (parent->isElementNode() || parent->isShadowRoot()) ? parent : 0; |
} |
-void ScopedStyleResolver::addRulesFromSheet(StyleSheetContents* sheet, const MediaQueryEvaluator& medium, StyleResolver* resolver) |
+inline RuleSet* ScopedStyleResolver::ensureAuthorStyle() |
{ |
if (!m_authorStyle) |
m_authorStyle = RuleSet::create(); |
+ return m_authorStyle.get(); |
+} |
+ |
+void ScopedStyleResolver::addRulesFromSheet(StyleSheetContents* sheet, const MediaQueryEvaluator& medium, StyleResolver* resolver, bool viewportRuleIsProcessed) |
+{ |
+ AddRuleFlags addRuleFlags = resolver->document().securityOrigin()->canRequest(sheet->baseURL()) ? RuleHasDocumentSecurityOrigin : RuleHasNoSpecialState; |
+ |
+ if (viewportRuleIsProcessed) |
+ addRuleFlags = static_cast<AddRuleFlags>(addRuleFlags | ViewportRuleIsProcessed); |
- bool hasDocumentSecurityOrigin = resolver->document().securityOrigin()->canRequest(sheet->baseURL()); |
- m_authorStyle->addRulesFromSheet(sheet, medium, hasDocumentSecurityOrigin); |
+ ensureAuthorStyle()->addRulesFromSheet(sheet, medium, addRuleFlags); |
resolver->addMediaQueryResults(m_authorStyle->viewportDependentMediaQueryResults()); |
resolver->processScopedRules(*m_authorStyle, sheet->baseURL(), &m_scopingNode); |
} |
+void ScopedStyleResolver::addViewportRule(StyleRuleViewport* rule) |
+{ |
+ ensureAuthorStyle()->addViewportRule(rule); |
+} |
+ |
inline RuleSet* ScopedStyleResolver::ensureAtHostRuleSetFor(const ShadowRoot* shadowRoot) |
{ |
HashMap<const ShadowRoot*, OwnPtr<RuleSet> >::AddResult addResult = m_atHostRules.add(shadowRoot, nullptr); |