Index: Source/web/tests/WebFrameTest.cpp |
diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp |
index ca5c2fd80ac21caab25b132900d921d0673c4803..f516d0c713906c698cf88cafb9ce92730d0eb9a7 100644 |
--- a/Source/web/tests/WebFrameTest.cpp |
+++ b/Source/web/tests/WebFrameTest.cpp |
@@ -706,13 +706,39 @@ TEST_F(WebFrameTest, WideViewportInitialScaleDoesNotExpandFixedLayoutWidth) |
m_webView->settings()->setViewportEnabled(true); |
m_webView->settings()->setUseWideViewport(true); |
m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
- m_webView->settings()->setViewportMetaLayoutSizeQuirk(true); |
+ m_webView->settings()->setViewportMetaLayoutSizeAndZeroValuesQuirk(true); |
m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
EXPECT_EQ(viewportWidth, webViewImpl->mainFrameImpl()->frameView()->fixedLayoutSize().width()); |
} |
+TEST_F(WebFrameTest, ZeroValuesQuirk) |
+{ |
+ registerMockedHttpURLLoad("viewport-zero-values.html"); |
+ |
+ FixedLayoutTestWebViewClient client; |
+ client.m_screenInfo.deviceScaleFactor = 1; |
+ int viewportWidth = 640; |
+ int viewportHeight = 480; |
+ |
+ m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "viewport-zero-values.html", true, 0, &client); |
+ m_webView->enableFixedLayoutMode(true); |
+ m_webView->settings()->setViewportEnabled(true); |
+ m_webView->settings()->setSupportDeprecatedTargetDensityDPI(true); |
+ m_webView->settings()->setViewportMetaLayoutSizeAndZeroValuesQuirk(true); |
+ m_webView->resize(WebSize(viewportWidth, viewportHeight)); |
+ |
+ WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(m_webView); |
+ EXPECT_EQ(viewportWidth, webViewImpl->mainFrameImpl()->frameView()->fixedLayoutSize().width()); |
+ EXPECT_EQ(1.0f, m_webView->pageScaleFactor()); |
+ |
+ m_webView->settings()->setUseWideViewport(true); |
+ m_webView->layout(); |
+ EXPECT_EQ(viewportWidth, webViewImpl->mainFrameImpl()->frameView()->fixedLayoutSize().width()); |
+ EXPECT_EQ(1.0f, m_webView->pageScaleFactor()); |
+} |
+ |
TEST_F(WebFrameTest, ScaleFactorShouldNotOscillate) |
{ |
registerMockedHttpURLLoad("scale_oscillate.html"); |