Index: Source/core/css/resolver/ViewportStyleResolver.cpp |
diff --git a/Source/core/css/resolver/ViewportStyleResolver.cpp b/Source/core/css/resolver/ViewportStyleResolver.cpp |
index 7c957ea3d5f14e16d2fca85959c84dabd21a35e4..7ab40abd6cb4bdb80c63dfdd5d21689d978e1f50 100644 |
--- a/Source/core/css/resolver/ViewportStyleResolver.cpp |
+++ b/Source/core/css/resolver/ViewportStyleResolver.cpp |
@@ -31,14 +31,18 @@ |
#include "core/css/resolver/ViewportStyleResolver.h" |
#include "core/CSSValueKeywords.h" |
+#include "core/css/CSSDefaultStyleSheets.h" |
#include "core/css/CSSPrimitiveValueMappings.h" |
#include "core/css/CSSToLengthConversionData.h" |
#include "core/css/StylePropertySet.h" |
#include "core/css/StyleRule.h" |
+#include "core/css/resolver/ScopedStyleResolver.h" |
#include "core/dom/Document.h" |
#include "core/dom/NodeLayoutStyle.h" |
#include "core/dom/ViewportDescription.h" |
#include "core/frame/FrameView.h" |
+#include "core/frame/Settings.h" |
+#include "core/inspector/InspectorInstrumentation.h" |
dgozman
2015/03/08 06:32:11
Not used anymore.
rune
2015/03/08 19:15:26
Done.
|
namespace blink { |
@@ -51,11 +55,33 @@ ViewportStyleResolver::ViewportStyleResolver(Document* document) |
ASSERT(m_document); |
} |
+void ViewportStyleResolver::collectViewportRules() |
+{ |
+ CSSDefaultStyleSheets& defaultStyleSheets = CSSDefaultStyleSheets::instance(); |
+ collectViewportRules(defaultStyleSheets.defaultStyle(), UserAgentOrigin); |
+ |
+ bool useMobileViewportStyle = m_document->settings() && m_document->settings()->useMobileViewportStyle(); |
+#if OS(ANDROID) |
+ // FIXME: Remove when useMobileViewportStyle is set from chromium. |
+ useMobileViewportStyle = true; |
+#endif |
+ if (useMobileViewportStyle) |
+ collectViewportRules(defaultStyleSheets.defaultMobileViewportStyle(), UserAgentOrigin); |
+ |
+ if (m_document->isMobileDocument()) |
+ collectViewportRules(defaultStyleSheets.defaultXHTMLMobileProfileStyle(), UserAgentOrigin); |
+ |
+ if (ScopedStyleResolver* scopedResolver = m_document->scopedStyleResolver()) |
+ scopedResolver->collectViewportRulesTo(this); |
+ |
+ resolve(); |
+} |
+ |
void ViewportStyleResolver::collectViewportRules(RuleSet* rules, Origin origin) |
{ |
rules->compactRulesIfNeeded(); |
- const WillBeHeapVector<RawPtrWillBeMember<StyleRuleViewport> >& viewportRules = rules->viewportRules(); |
+ const WillBeHeapVector<RawPtrWillBeMember<StyleRuleViewport>>& viewportRules = rules->viewportRules(); |
for (size_t i = 0; i < viewportRules.size(); ++i) |
addViewportRule(viewportRules[i], origin); |
} |
@@ -84,9 +110,6 @@ void ViewportStyleResolver::addViewportRule(StyleRuleViewport* viewportRule, Ori |
void ViewportStyleResolver::resolve() |
{ |
- if (!m_document) |
- return; |
- |
if (!m_propertySet) { |
m_document->setViewportDescription(ViewportDescription(ViewportDescription::UserAgentStyleSheet)); |
return; |