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

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: Created 7 years, 2 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
Index: Source/web/tests/WebFrameTest.cpp
diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp
index b6673763c598398f26f3684f1b6c219be0ff907e..1294a891fa6abb71247256e64ed2c7db7805f92c 100644
--- a/Source/web/tests/WebFrameTest.cpp
+++ b/Source/web/tests/WebFrameTest.cpp
@@ -1198,6 +1198,76 @@ TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
EXPECT_EQ(enforcedPageScalePactor, 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;

Powered by Google App Engine
This is Rietveld 408576698