summaryrefslogtreecommitdiff
path: root/Source/WebKit/chromium/tests/WebFrameTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/chromium/tests/WebFrameTest.cpp')
-rw-r--r--Source/WebKit/chromium/tests/WebFrameTest.cpp51
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);