| 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);
|
|
|