Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2689)

Unified Diff: Source/web/tests/WebFrameTest.cpp

Issue 219123002: Read the default min-width value from the UA style sheets (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/web/tests/ViewportTest.cpp ('k') | Source/web/tests/data/no_viewport_tag.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/tests/WebFrameTest.cpp
diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp
index 9645e9a27015c80799f8db0fa0eee32abe8e5e3f..706251ca0d31fbc0591e3c9f1e3e3a8eab305502 100644
--- a/Source/web/tests/WebFrameTest.cpp
+++ b/Source/web/tests/WebFrameTest.cpp
@@ -40,6 +40,7 @@
#include "SkBitmap.h"
#include "SkCanvas.h"
#include "URLTestHelpers.h"
+#include "UserAgentStyleSheets.h"
#include "WebDataSource.h"
#include "WebDocument.h"
#include "WebFindOptions.h"
@@ -59,6 +60,8 @@
#include "WebViewClient.h"
#include "WebViewImpl.h"
#include "core/clipboard/Clipboard.h"
+#include "core/css/StyleSheetContents.h"
+#include "core/css/resolver/ViewportStyleResolver.h"
#include "core/dom/DocumentMarkerController.h"
#include "core/dom/FullscreenElementStack.h"
#include "core/dom/Range.h"
@@ -157,6 +160,18 @@ protected:
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_chromeURL.c_str()), WebString::fromUTF8(fileName.c_str()));
}
+ void applyViewportStyleOverride(FrameTestHelpers::WebViewHelper* webViewHelper)
+ {
+ RefPtrWillBeRawPtr<WebCore::StyleSheetContents> styleSheet = WebCore::StyleSheetContents::create(WebCore::CSSParserContext(WebCore::UASheetMode, 0));
+ styleSheet->parseString(String(WebCore::viewportAndroidUserAgentStyleSheet, sizeof(WebCore::viewportAndroidUserAgentStyleSheet)));
+ OwnPtrWillBeRawPtr<WebCore::RuleSet> ruleSet = WebCore::RuleSet::create();
+ ruleSet->addRulesFromSheet(styleSheet.get(), WebCore::MediaQueryEvaluator("screen"));
+
+ Document* document = webViewHelper->webViewImpl()->page()->mainFrame()->document();
+ document->ensureStyleResolver().viewportStyleResolver()->collectViewportRules(ruleSet.get(), WebCore::ViewportStyleResolver::UserAgentOrigin);
+ document->ensureStyleResolver().viewportStyleResolver()->resolve();
+ }
+
static void configueCompositingWebView(WebSettings* settings)
{
settings->setForceCompositingMode(true);
@@ -882,6 +897,7 @@ TEST_F(WebFrameTest, DisablingFixedLayoutSizeSetsCorrectLayoutSize)
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, enableViewportSettings);
+ applyViewportStyleOverride(&webViewHelper);
webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(true);
webViewHelper.webView()->settings()->setUseWideViewport(true);
webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
@@ -1137,6 +1153,7 @@ TEST_F(WebFrameTest, WideViewportSetsTo980WithoutViewportTag)
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, enableViewportSettings);
+ applyViewportStyleOverride(&webViewHelper);
webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
webViewHelper.webView()->settings()->setUseWideViewport(true);
webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
@@ -1176,6 +1193,7 @@ TEST_F(WebFrameTest, WideViewportSetsTo980WithAutoWidth)
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport-2x-initial-scale.html", true, 0, &client, enableViewportSettings);
+ applyViewportStyleOverride(&webViewHelper);
webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
webViewHelper.webView()->settings()->setUseWideViewport(true);
webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
@@ -1215,6 +1233,7 @@ TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently)
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client, enableViewportSettings);
+ applyViewportStyleOverride(&webViewHelper);
webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
webViewHelper.webView()->settings()->setLoadWithOverviewMode(false);
webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor);
@@ -1298,6 +1317,7 @@ TEST_F(WebFrameTest, SmallPermanentInitialPageScaleFactorIsClobbered)
for (int quirkEnabled = 0; quirkEnabled <= 1; ++quirkEnabled) {
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + pages[i], true, 0, &client, enableViewportSettings);
+ applyViewportStyleOverride(&webViewHelper);
webViewHelper.webView()->settings()->setClobberUserAgentInitialScaleQuirk(quirkEnabled);
webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor);
webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
« no previous file with comments | « Source/web/tests/ViewportTest.cpp ('k') | Source/web/tests/data/no_viewport_tag.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698