Index: Source/core/css/resolver/StyleResolver.cpp |
diff --git a/Source/core/css/resolver/StyleResolver.cpp b/Source/core/css/resolver/StyleResolver.cpp |
index 54dd5636646847aae469d2e2eafc45bae6d99dbe..322833aa0500ba765fdb93d2a976392781a9b8b1 100644 |
--- a/Source/core/css/resolver/StyleResolver.cpp |
+++ b/Source/core/css/resolver/StyleResolver.cpp |
@@ -178,8 +178,7 @@ void StyleResolver::finishAppendAuthorStyleSheets() |
if (document().renderer() && document().renderer()->style()) |
document().renderer()->style()->font().update(fontSelector()); |
- if (RuntimeEnabledFeatures::cssViewportEnabled()) |
- collectViewportRules(); |
+ collectViewportRules(); |
} |
void StyleResolver::resetAuthorStyle(const ContainerNode* scopingNode) |
@@ -1013,11 +1012,13 @@ PassRefPtr<RenderStyle> StyleResolver::styleForPage(int pageIndex) |
void StyleResolver::collectViewportRules() |
{ |
- ASSERT(RuntimeEnabledFeatures::cssViewportEnabled()); |
+ collectViewportRules(CSSDefaultStyleSheets::defaultStyle, false); |
+ |
+ if (document().isMobileDocument()) |
+ collectViewportRules(CSSDefaultStyleSheets::xhtmlMobileProfileStyle(), false); |
- collectViewportRules(CSSDefaultStyleSheets::defaultStyle); |
if (m_ruleSets.userStyle()) |
- collectViewportRules(m_ruleSets.userStyle()); |
+ collectViewportRules(m_ruleSets.userStyle(), false); |
if (ScopedStyleResolver* scopedResolver = m_styleTree.scopedStyleResolverForDocument()) |
scopedResolver->collectViewportRulesTo(this); |
@@ -1025,13 +1026,13 @@ void StyleResolver::collectViewportRules() |
viewportStyleResolver()->resolve(); |
} |
-void StyleResolver::collectViewportRules(RuleSet* rules) |
+void StyleResolver::collectViewportRules(RuleSet* rules, bool author) |
{ |
- ASSERT(RuntimeEnabledFeatures::cssViewportEnabled()); |
- |
rules->compactRulesIfNeeded(); |
const Vector<StyleRuleViewport*>& viewportRules = rules->viewportRules(); |
+ if (author && viewportRules.size()) |
+ viewportStyleResolver()->setHasAuthorStyle(); |
for (size_t i = 0; i < viewportRules.size(); ++i) |
viewportStyleResolver()->addViewportRule(viewportRules[i]); |
} |