diff options
Diffstat (limited to 'Source/WebKit/chromium/tests/WebFrameTest.cpp')
| -rw-r--r-- | Source/WebKit/chromium/tests/WebFrameTest.cpp | 51 |
1 files changed, 24 insertions, 27 deletions
diff --git a/Source/WebKit/chromium/tests/WebFrameTest.cpp b/Source/WebKit/chromium/tests/WebFrameTest.cpp index ffed3c203..f503541f5 100644 --- a/Source/WebKit/chromium/tests/WebFrameTest.cpp +++ b/Source/WebKit/chromium/tests/WebFrameTest.cpp @@ -220,10 +220,8 @@ TEST_F(WebFrameTest, DispatchMessageEventWithOriginCheck) class FixedLayoutTestWebViewClient : public WebViewClient { public: - virtual WebRect windowRect() OVERRIDE { return m_windowRect; } virtual WebScreenInfo screenInfo() OVERRIDE { return m_screenInfo; } - WebRect m_windowRect; WebScreenInfo m_screenInfo; }; @@ -235,8 +233,7 @@ TEST_F(WebFrameTest, DeviceScaleFactorUsesDefaultWithoutViewportTag) int viewportHeight = 480; FixedLayoutTestWebViewClient client; - client.m_screenInfo.horizontalDPI = 320; - client.m_windowRect = WebRect(0, 0, viewportWidth, viewportHeight); + client.m_screenInfo.deviceScaleFactor = 2; WebView* webView = static_cast<WebView*>(FrameTestHelpers::createWebViewAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client)); @@ -260,10 +257,9 @@ TEST_F(WebFrameTest, FixedLayoutInitializeAtMinimumPageScale) registerMockedHttpURLLoad("fixed_layout.html"); FixedLayoutTestWebViewClient client; - client.m_screenInfo.horizontalDPI = 160; + client.m_screenInfo.deviceScaleFactor = 1; int viewportWidth = 640; int viewportHeight = 480; - client.m_windowRect = WebRect(0, 0, viewportWidth, viewportHeight); // Make sure we initialize to minimum scale, even if the window size // only becomes available after the load begins. @@ -291,6 +287,23 @@ TEST_F(WebFrameTest, FixedLayoutInitializeAtMinimumPageScale) webViewImpl->resize(WebSize(viewportWidth, viewportHeight + 100)); EXPECT_EQ(userPinchPageScaleFactor, webViewImpl->pageScaleFactor()); } + +TEST_F(WebFrameTest, ScaleFactorShouldNotOscillate) +{ + registerMockedHttpURLLoad("scale_oscillate.html"); + + FixedLayoutTestWebViewClient client; + client.m_screenInfo.horizontalDPI = 212; + int viewportWidth = 800; + int viewportHeight = 1057; + + WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(FrameTestHelpers::createWebViewAndLoad(m_baseURL + "scale_oscillate.html", true, 0, &client)); + webViewImpl->enableFixedLayoutMode(true); + webViewImpl->settings()->setViewportEnabled(true); + webViewImpl->resize(WebSize(viewportWidth, viewportHeight)); + webViewImpl->layout(); +} + #endif TEST_F(WebFrameTest, CanOverrideMaximumScaleFactor) @@ -298,10 +311,9 @@ TEST_F(WebFrameTest, CanOverrideMaximumScaleFactor) registerMockedHttpURLLoad("no_scale_for_you.html"); FixedLayoutTestWebViewClient client; - client.m_screenInfo.horizontalDPI = 160; + client.m_screenInfo.deviceScaleFactor = 1; int viewportWidth = 640; int viewportHeight = 480; - client.m_windowRect = WebRect(0, 0, viewportWidth, viewportHeight); WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(FrameTestHelpers::createWebViewAndLoad(m_baseURL + "no_scale_for_you.html", true, 0, &client)); webViewImpl->enableFixedLayoutMode(true); @@ -316,13 +328,6 @@ TEST_F(WebFrameTest, CanOverrideMaximumScaleFactor) } #if ENABLE(GESTURE_EVENTS) -class DivAutoZoomTestWebViewClient : public WebViewClient { - public: - virtual WebRect windowRect() OVERRIDE { return m_windowRect; } - - WebRect m_windowRect; -}; - void setScaleAndScrollAndLayout(WebKit::WebView* webView, WebPoint scroll, float scale) { webView->setPageScaleFactor(scale, WebPoint(scroll.x, scroll.y)); @@ -333,11 +338,9 @@ TEST_F(WebFrameTest, DivAutoZoomParamsTest) { registerMockedHttpURLLoad("get_scale_for_auto_zoom_into_div_test.html"); - DivAutoZoomTestWebViewClient client; int viewportWidth = 640; int viewportHeight = 480; - client.m_windowRect = WebRect(0, 0, viewportWidth, viewportHeight); - WebKit::WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_for_auto_zoom_into_div_test.html", true, 0, &client); + WebKit::WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_for_auto_zoom_into_div_test.html"); webView->enableFixedLayoutMode(true); webView->setDeviceScaleFactor(2.0f); webView->resize(WebSize(viewportWidth, viewportHeight)); @@ -401,12 +404,10 @@ TEST_F(WebFrameTest, DivAutoZoomMultipleDivsTest) { registerMockedHttpURLLoad("get_multiple_divs_for_auto_zoom_test.html"); - DivAutoZoomTestWebViewClient client; int viewportWidth = 640; int viewportHeight = 480; float doubleTapZoomAlreadyLegibleRatio = 1.2f; - client.m_windowRect = WebRect(0, 0, viewportWidth, viewportHeight); - WebKit::WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_multiple_divs_for_auto_zoom_test.html", true, 0, &client); + WebKit::WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_multiple_divs_for_auto_zoom_test.html"); webView->enableFixedLayoutMode(true); webView->resize(WebSize(viewportWidth, viewportHeight)); webView->setPageScaleFactorLimits(1, 4); @@ -442,12 +443,10 @@ TEST_F(WebFrameTest, DivAutoZoomScaleBoundsTest) { registerMockedHttpURLLoad("get_scale_bounds_check_for_auto_zoom_test.html"); - DivAutoZoomTestWebViewClient client; int viewportWidth = 640; int viewportHeight = 480; float doubleTapZoomAlreadyLegibleRatio = 1.2f; - client.m_windowRect = WebRect(0, 0, viewportWidth, viewportHeight); - WebKit::WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_bounds_check_for_auto_zoom_test.html", true, 0, &client); + WebKit::WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_bounds_check_for_auto_zoom_test.html"); webView->enableFixedLayoutMode(true); webView->resize(WebSize(viewportWidth, viewportHeight)); webView->setPageScaleFactorLimits(1, 4); @@ -504,14 +503,12 @@ TEST_F(WebFrameTest, DISABLED_DivScrollIntoEditableTest) { registerMockedHttpURLLoad("get_scale_for_zoom_into_editable_test.html"); - DivAutoZoomTestWebViewClient client; int viewportWidth = 640; int viewportHeight = 480; float leftBoxRatio = 0.3f; int caretPadding = 10; int minReadableCaretHeight = 18; - client.m_windowRect = WebRect(0, 0, viewportWidth, viewportHeight); - WebKit::WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_for_zoom_into_editable_test.html", true, 0, &client); + WebKit::WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_scale_for_zoom_into_editable_test.html"); webView->enableFixedLayoutMode(true); webView->resize(WebSize(viewportWidth, viewportHeight)); webView->setPageScaleFactorLimits(1, 10); |
