diff options
author | Torne (Richard Coles) <torne@google.com> | 2015-01-21 14:50:04 +0000 |
---|---|---|
committer | Torne (Richard Coles) <torne@google.com> | 2015-01-21 14:50:04 +0000 |
commit | ec3f91c2254a4a87db039560486ad2cd1c24cd5a (patch) | |
tree | 01600c6b60462295c84db09d6cdd7a2daf10fd17 | |
parent | 9e75a9e8e78755bdac83500676c5d9a933921504 (diff) | |
download | WebKit-ec3f91c2254a4a87db039560486ad2cd1c24cd5a.tar.gz |
Merge from Chromium at DEPS revision 40.0.2214.89
This commit was generated by merge_to_master.py.
Change-Id: Ib4975106222248521436070315b2efa268f84c80
-rw-r--r-- | Source/web/PageScaleConstraintsSet.cpp | 3 | ||||
-rw-r--r-- | Source/web/tests/WebFrameTest.cpp | 22 |
2 files changed, 24 insertions, 1 deletions
diff --git a/Source/web/PageScaleConstraintsSet.cpp b/Source/web/PageScaleConstraintsSet.cpp index 113517d55..4aa0494f8 100644 --- a/Source/web/PageScaleConstraintsSet.cpp +++ b/Source/web/PageScaleConstraintsSet.cpp @@ -206,7 +206,8 @@ void PageScaleConstraintsSet::adjustForAndroidWebViewQuirks(const ViewportDescri if (wideViewportQuirkEnabled) { if (useWideViewport && (description.maxWidth.isAuto() || description.maxWidth.type() == ExtendToZoom) && description.zoom != 1.0f) { - adjustedLayoutSizeWidth = layoutFallbackWidth; + if (layoutFallbackWidth) + adjustedLayoutSizeWidth = layoutFallbackWidth; adjustedLayoutSizeHeight = computeHeightByAspectRatio(adjustedLayoutSizeWidth, m_viewSize); } else if (!useWideViewport) { const float nonWideScale = description.zoom < 1 && description.maxWidth.type() != DeviceWidth && description.maxWidth.type() != DeviceHeight ? -1 : oldInitialScale; diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp index 84c623244..2d24c78f3 100644 --- a/Source/web/tests/WebFrameTest.cpp +++ b/Source/web/tests/WebFrameTest.cpp @@ -1070,6 +1070,28 @@ TEST_F(WebFrameTest, WideViewportSetsTo980WithoutViewportTag) EXPECT_EQ(980.0 / viewportWidth * viewportHeight, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().height()); } +TEST_F(WebFrameTest, WideViewportSetsTo980WithXhtmlMp) +{ + UseMockScrollbarSettings mockScrollbarSettings; + registerMockedHttpURLLoad("viewport/viewport-legacy-xhtmlmp.html"); + + FixedLayoutTestWebViewClient client; + client.m_screenInfo.deviceScaleFactor = 1; + int viewportWidth = 640; + int viewportHeight = 480; + + FrameTestHelpers::WebViewHelper webViewHelper; + webViewHelper.initialize(true, 0, &client, enableViewportSettings); + applyViewportStyleOverride(&webViewHelper); + webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true); + webViewHelper.webView()->settings()->setUseWideViewport(true); + FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL + "viewport/viewport-legacy-xhtmlmp.html"); + + webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); + EXPECT_EQ(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().width()); + EXPECT_EQ(viewportHeight, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().height()); +} + TEST_F(WebFrameTest, NoWideViewportAndHeightInMeta) { UseMockScrollbarSettings mockScrollbarSettings; |