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

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

Issue 55073002: [Android WebView] Add a quirk to clobber initial scale in certain cases (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed checking against device-width Created 7 years, 1 month 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/WebViewImpl.cpp ('k') | Source/web/tests/data/viewport-initial-scale-1.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 a308f78579bc9d135c01d7b8c267e2aee32e7790..d49540e144f83f851949e46214454c06613f5b2b 100644
--- a/Source/web/tests/WebFrameTest.cpp
+++ b/Source/web/tests/WebFrameTest.cpp
@@ -1228,6 +1228,76 @@ TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor());
}
+TEST_F(WebFrameTest, SmallPermanentInitialPageScaleFactorIsClobberedWithDeviceWidth)
+{
+ UseMockScrollbarSettings mockScrollbarSettings;
+ registerMockedHttpURLLoad("viewport-device-0.5x-initial-scale.html");
+
+ FixedLayoutTestWebViewClient client;
+ client.m_screenInfo.deviceScaleFactor = 1;
+ int viewportWidth = 640;
+ int viewportHeight = 480;
+ float enforcedPageScalePactor = 0.75f;
+ float pageScaleFactor = 0.5f;
+
+ {
+ FrameTestHelpers::WebViewHelper webViewHelper;
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport-device-0.5x-initial-scale.html", true, 0, &client);
+ webViewHelper.webView()->settings()->setViewportEnabled(true);
+ webViewHelper.webView()->settings()->setClobberUserAgentInitialScaleQuirk(false);
+ webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScalePactor);
+ webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
+
+ EXPECT_EQ(enforcedPageScalePactor, webViewHelper.webView()->pageScaleFactor());
+ }
+
+ {
+ FrameTestHelpers::WebViewHelper webViewHelper;
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport-device-0.5x-initial-scale.html", true, 0, &client);
+ webViewHelper.webView()->settings()->setViewportEnabled(true);
+ webViewHelper.webView()->settings()->setClobberUserAgentInitialScaleQuirk(true);
+ webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScalePactor);
+ webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
+
+ EXPECT_EQ(pageScaleFactor, webViewHelper.webView()->pageScaleFactor());
+ }
+}
+
+TEST_F(WebFrameTest, SmallPermanentInitialPageScaleFactorIsClobberedWithAutoWidthAndInitialScale1)
+{
+ UseMockScrollbarSettings mockScrollbarSettings;
+ registerMockedHttpURLLoad("viewport-initial-scale-1.html");
+
+ FixedLayoutTestWebViewClient client;
+ client.m_screenInfo.deviceScaleFactor = 1;
+ int viewportWidth = 640;
+ int viewportHeight = 480;
+ float enforcedPageScalePactor = 0.75f;
+ float pageScaleFactor = 1.0f;
+
+ {
+ FrameTestHelpers::WebViewHelper webViewHelper;
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-1.html", true, 0, &client);
+ webViewHelper.webView()->settings()->setViewportEnabled(true);
+ webViewHelper.webView()->settings()->setClobberUserAgentInitialScaleQuirk(false);
+ webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScalePactor);
+ webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
+
+ EXPECT_EQ(enforcedPageScalePactor, webViewHelper.webView()->pageScaleFactor());
+ }
+
+ {
+ FrameTestHelpers::WebViewHelper webViewHelper;
+ webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-1.html", true, 0, &client);
+ webViewHelper.webView()->settings()->setViewportEnabled(true);
+ webViewHelper.webView()->settings()->setClobberUserAgentInitialScaleQuirk(true);
+ webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScalePactor);
+ webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
+
+ EXPECT_EQ(pageScaleFactor, webViewHelper.webView()->pageScaleFactor());
+ }
+}
+
TEST_F(WebFrameTest, WideViewportInitialScaleDoesNotExpandFixedLayoutWidth)
{
UseMockScrollbarSettings mockScrollbarSettings;
« no previous file with comments | « Source/web/WebViewImpl.cpp ('k') | Source/web/tests/data/viewport-initial-scale-1.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698