| Index: Source/web/tests/WebFrameTest.cpp
|
| diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp
|
| index bd52f357308a5aef9510c41ef3b0788cb2418baa..33ef8eacc6c5c947dcc1b54a0aed15cc0707d59b 100644
|
| --- a/Source/web/tests/WebFrameTest.cpp
|
| +++ b/Source/web/tests/WebFrameTest.cpp
|
| @@ -98,10 +98,15 @@ using WebCore::HitTestRequest;
|
| using WebCore::Range;
|
| using blink::URLTestHelpers::toKURL;
|
| using blink::FrameTestHelpers::runPendingTasks;
|
| +using blink::FrameTestHelpers::setViewportSettings;
|
| +using blink::FrameTestHelpers::UseMockScrollbarSettings;
|
| +using blink::FrameTestHelpers::UseAndroidViewportUAStylesheet;
|
|
|
| namespace {
|
|
|
| const int touchPointPadding = 32;
|
| +const int androidDefaultLayoutWidth = 980;
|
| +
|
|
|
| #define EXPECT_EQ_RECT(a, b) \
|
| EXPECT_EQ(a.x(), b.x()); \
|
| @@ -136,6 +141,9 @@ private:
|
| OwnPtr<WebLayerTreeView> m_layerTreeView;
|
| };
|
|
|
| +class UseAndroidTestConfig : public UseMockScrollbarSettings, public UseAndroidViewportUAStylesheet {
|
| +};
|
| +
|
| class WebFrameTest : public testing::Test {
|
| protected:
|
| WebFrameTest()
|
| @@ -181,22 +189,6 @@ protected:
|
| std::string m_chromeURL;
|
| };
|
|
|
| -class UseMockScrollbarSettings {
|
| -public:
|
| - UseMockScrollbarSettings()
|
| - {
|
| - WebCore::Settings::setMockScrollbarsEnabled(true);
|
| - WebCore::RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true);
|
| - EXPECT_TRUE(WebCore::ScrollbarTheme::theme()->usesOverlayScrollbars());
|
| - }
|
| -
|
| - ~UseMockScrollbarSettings()
|
| - {
|
| - WebCore::Settings::setMockScrollbarsEnabled(false);
|
| - WebCore::RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(false);
|
| - }
|
| -};
|
| -
|
| TEST_F(WebFrameTest, ContentText)
|
| {
|
| registerMockedHttpURLLoad("iframes_test.html");
|
| @@ -629,31 +621,30 @@ TEST_F(WebFrameTest, DispatchMessageEventWithOriginCheck)
|
| EXPECT_EQ(std::string::npos, content.find("Message 2."));
|
| }
|
|
|
| -class FixedLayoutTestWebViewClient : public WebViewClient {
|
| +class ViewportWebViewClient : public WebViewClient {
|
| public:
|
| virtual WebScreenInfo screenInfo() OVERRIDE { return m_screenInfo; }
|
|
|
| WebScreenInfo m_screenInfo;
|
| };
|
|
|
| -TEST_F(WebFrameTest, FrameViewNeedsLayoutOnFixedLayoutResize)
|
| +TEST_F(WebFrameTest, FrameViewNeedsLayoutOnViewportResize)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| // Make sure we initialize to minimum scale, even if the window size
|
| // only becomes available after the load begins.
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
|
|
| - webViewHelper.webViewImpl()->setFixedLayoutSize(WebCore::IntSize(100, 100));
|
| + webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->setLayoutSize(WebCore::IntSize(100, 100));
|
| EXPECT_TRUE(webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->needsLayout());
|
|
|
| int prevLayoutCount = webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->layoutCount();
|
| @@ -663,20 +654,19 @@ TEST_F(WebFrameTest, FrameViewNeedsLayoutOnFixedLayoutResize)
|
| webViewHelper.webViewImpl()->layout();
|
| }
|
|
|
| -TEST_F(WebFrameTest, ChangeInFixedLayoutTriggersTextAutosizingRecalculate)
|
| +TEST_F(WebFrameTest, ChangeInViewportLayoutSizeTriggersTextAutosizingRecalculate)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| // Make sure we initialize to minimum scale, even if the window size
|
| // only becomes available after the load begins.
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
|
|
| WebCore::Document* document = webViewHelper.webViewImpl()->page()->mainFrame()->document();
|
| document->settings()->setTextAutosizingEnabled(true);
|
| @@ -716,8 +706,8 @@ TEST_F(WebFrameTest, ChangeInFixedLayoutTriggersTextAutosizingRecalculate)
|
|
|
| TEST_F(WebFrameTest, FixedLayoutSizeStopsResizeFromChangingLayoutSize)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| @@ -726,8 +716,7 @@ TEST_F(WebFrameTest, FixedLayoutSizeStopsResizeFromChangingLayoutSize)
|
| int fixedLayoutHeight = viewportHeight / 2;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html");
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", false, 0, 0, setViewportSettings);
|
| webViewHelper.webView()->setFixedLayoutSize(WebSize(fixedLayoutWidth, fixedLayoutHeight));
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
| @@ -738,8 +727,8 @@ TEST_F(WebFrameTest, FixedLayoutSizeStopsResizeFromChangingLayoutSize)
|
|
|
| TEST_F(WebFrameTest, FixedLayoutSizePreventsResizeFromChangingPageScale)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| @@ -748,8 +737,7 @@ TEST_F(WebFrameTest, FixedLayoutSizePreventsResizeFromChangingPageScale)
|
| int fixedLayoutHeight = viewportHeight / 2;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html");
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", false, 0, 0, setViewportSettings);
|
| webViewHelper.webView()->setFixedLayoutSize(WebSize(fixedLayoutWidth, fixedLayoutHeight));
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
| @@ -762,8 +750,8 @@ TEST_F(WebFrameTest, FixedLayoutSizePreventsResizeFromChangingPageScale)
|
|
|
| TEST_F(WebFrameTest, FixedLayoutSizePreventsLayoutFromChangingPageScale)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| @@ -772,8 +760,7 @@ TEST_F(WebFrameTest, FixedLayoutSizePreventsLayoutFromChangingPageScale)
|
| int fixedLayoutHeight = viewportHeight * 2;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html");
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", false, 0, 0, setViewportSettings);
|
| webViewHelper.webView()->setFixedLayoutSize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
| @@ -787,7 +774,7 @@ TEST_F(WebFrameTest, FixedLayoutSizePreventsLayoutFromChangingPageScale)
|
|
|
| TEST_F(WebFrameTest, PreferredSizeAndContentSizeReportedCorrectlyWithZeroHeightFixedLayout)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("200-by-300.html");
|
|
|
| int windowWidth = 100;
|
| @@ -797,12 +784,11 @@ TEST_F(WebFrameTest, PreferredSizeAndContentSizeReportedCorrectlyWithZeroHeightF
|
| int divWidth = 200;
|
| int divHeight = 300;
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "200-by-300.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "200-by-300.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(windowWidth, windowHeight));
|
| webViewHelper.webView()->setFixedLayoutSize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
| @@ -816,19 +802,18 @@ TEST_F(WebFrameTest, PreferredSizeAndContentSizeReportedCorrectlyWithZeroHeightF
|
|
|
| TEST_F(WebFrameTest, DisablingFixedLayoutSizeSetsCorrectLayoutSize)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|
| webViewHelper.webView()->setFixedLayoutSize(WebSize(viewportWidth, viewportHeight));
|
| @@ -839,24 +824,22 @@ TEST_F(WebFrameTest, DisablingFixedLayoutSizeSetsCorrectLayoutSize)
|
| webViewHelper.webView()->setFixedLayoutSize(WebSize(0, 0));
|
| EXPECT_TRUE(webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->needsLayout());
|
| webViewHelper.webView()->layout();
|
| - EXPECT_EQ(980, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().width());
|
| + EXPECT_EQ(androidDefaultLayoutWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().width());
|
| }
|
|
|
| TEST_F(WebFrameTest, DeviceScaleFactorUsesDefaultWithoutViewportTag)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 2;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client);
|
| -
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
|
|
| @@ -872,13 +855,13 @@ TEST_F(WebFrameTest, DeviceScaleFactorUsesDefaultWithoutViewportTag)
|
| webViewHelper.webView()->mainFrame()->contentAsText(1024).utf8();
|
| }
|
|
|
| -TEST_F(WebFrameTest, FixedLayoutInitializeAtMinimumScale)
|
| +TEST_F(WebFrameTest, InitializeAtMinimumScaleWhenViewportEnabled)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
|
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| @@ -886,12 +869,10 @@ TEST_F(WebFrameTest, FixedLayoutInitializeAtMinimumScale)
|
| // Make sure we initialize to minimum scale, even if the window size
|
| // only becomes available after the load begins.
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|
| - int defaultFixedLayoutWidth = 980;
|
| - float minimumPageScaleFactor = viewportWidth / (float) defaultFixedLayoutWidth;
|
| + float minimumPageScaleFactor = viewportWidth / (float) androidDefaultLayoutWidth;
|
| EXPECT_EQ(minimumPageScaleFactor, webViewHelper.webView()->pageScaleFactor());
|
| EXPECT_EQ(minimumPageScaleFactor, webViewHelper.webView()->minimumPageScaleFactor());
|
|
|
| @@ -912,11 +893,11 @@ TEST_F(WebFrameTest, FixedLayoutInitializeAtMinimumScale)
|
|
|
| TEST_F(WebFrameTest, WideDocumentInitializeAtMinimumScale)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
|
|
| registerMockedHttpURLLoad("wide_document.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| @@ -924,8 +905,7 @@ TEST_F(WebFrameTest, WideDocumentInitializeAtMinimumScale)
|
| // Make sure we initialize to minimum scale, even if the window size
|
| // only becomes available after the load begins.
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "wide_document.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "wide_document.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|
| int wideDocumentWidth = 1500;
|
| @@ -950,17 +930,16 @@ TEST_F(WebFrameTest, WideDocumentInitializeAtMinimumScale)
|
|
|
| TEST_F(WebFrameTest, DelayedViewportInitialScale)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-auto-initial-scale.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|
| EXPECT_EQ(0.25f, webViewHelper.webView()->pageScaleFactor());
|
| @@ -975,17 +954,16 @@ TEST_F(WebFrameTest, DelayedViewportInitialScale)
|
|
|
| TEST_F(WebFrameTest, setLoadWithOverviewModeToFalse)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-auto-initial-scale.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setLoadWithOverviewMode(false);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| @@ -996,17 +974,16 @@ TEST_F(WebFrameTest, setLoadWithOverviewModeToFalse)
|
|
|
| TEST_F(WebFrameTest, SetLoadWithOverviewModeToFalseAndNoWideViewport)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("large-div.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "large-div.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "large-div.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setLoadWithOverviewMode(false);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(false);
|
| @@ -1016,27 +993,18 @@ TEST_F(WebFrameTest, SetLoadWithOverviewModeToFalseAndNoWideViewport)
|
| EXPECT_EQ(1.0f, webViewHelper.webView()->pageScaleFactor());
|
| }
|
|
|
| -// Viewport settings need to be set before the page gets loaded
|
| -static void enableViewportSettings(WebSettings* settings)
|
| -{
|
| - settings->setViewportMetaEnabled(true);
|
| - settings->setViewportEnabled(true);
|
| - settings->setMainFrameResizesAreOrientationChanges(true);
|
| -}
|
| -
|
| TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-auto-initial-scale.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(false);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| @@ -1048,16 +1016,16 @@ TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidth)
|
|
|
| TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidthButAccountsScale)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(false);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| @@ -1068,80 +1036,79 @@ TEST_F(WebFrameTest, NoWideViewportIgnoresPageViewportWidthButAccountsScale)
|
| EXPECT_EQ(viewportHeight / 2, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().height());
|
| }
|
|
|
| -TEST_F(WebFrameTest, WideViewportSetsTo980WithoutViewportTag)
|
| +TEST_F(WebFrameTest, WideViewportSetsToDefaultWidthWithoutViewportTag)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|
| - EXPECT_EQ(980, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().width());
|
| - EXPECT_EQ(980.0 / viewportWidth * viewportHeight, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().height());
|
| + EXPECT_EQ(androidDefaultLayoutWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().width());
|
| + EXPECT_EQ(static_cast<float>(androidDefaultLayoutWidth) / viewportWidth * viewportHeight,
|
| + webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().height());
|
| }
|
|
|
| TEST_F(WebFrameTest, NoWideViewportAndHeightInMeta)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-height-1000.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-height-1000.html", true, 0, &client);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-height-1000.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(false);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|
| EXPECT_EQ(viewportWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().width());
|
| }
|
|
|
| -TEST_F(WebFrameTest, WideViewportSetsTo980WithAutoWidth)
|
| +TEST_F(WebFrameTest, WideViewportSetsToDefaultWidthWithAutoWidth)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-2x-initial-scale.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-2x-initial-scale.html", true, 0, &client);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-2x-initial-scale.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|
| - EXPECT_EQ(980, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().width());
|
| - EXPECT_EQ(980.0 / viewportWidth * viewportHeight, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().height());
|
| + EXPECT_EQ(androidDefaultLayoutWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().width());
|
| + EXPECT_EQ(static_cast<float>(androidDefaultLayoutWidth) / viewportWidth * viewportHeight,
|
| + webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().height());
|
| }
|
|
|
| TEST_F(WebFrameTest, PageViewportInitialScaleOverridesLoadWithOverviewMode)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setLoadWithOverviewMode(false);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|
| @@ -1151,20 +1118,19 @@ TEST_F(WebFrameTest, PageViewportInitialScaleOverridesLoadWithOverviewMode)
|
|
|
| TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
|
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| float enforcedPageScaleFactor = 2.0f;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setLoadWithOverviewMode(false);
|
| webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| webViewHelper.webView()->layout();
|
|
|
| EXPECT_EQ(enforcedPageScaleFactor, webViewHelper.webView()->pageScaleFactor());
|
| @@ -1183,17 +1149,17 @@ TEST_F(WebFrameTest, setInitialPageScaleFactorPermanently)
|
|
|
| TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesLoadWithOverviewMode)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-auto-initial-scale.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| float enforcedPageScaleFactor = 0.5f;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-auto-initial-scale.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setLoadWithOverviewMode(false);
|
| webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| @@ -1203,17 +1169,17 @@ TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesLoadWithOverviewMod
|
|
|
| TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitialScale)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-wide-2x-initial-scale.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| float enforcedPageScaleFactor = 0.5f;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-wide-2x-initial-scale.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|
| @@ -1222,7 +1188,8 @@ TEST_F(WebFrameTest, PermanentInitialPageScaleFactorOverridesPageViewportInitial
|
|
|
| TEST_F(WebFrameTest, SmallPermanentInitialPageScaleFactorIsClobbered)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| +
|
| const char* pages[] = {
|
| // These pages trigger the clobbering condition. There must be a matching item in "pageScaleFactors" array.
|
| "viewport-device-0.5x-initial-scale.html",
|
| @@ -1235,7 +1202,7 @@ TEST_F(WebFrameTest, SmallPermanentInitialPageScaleFactorIsClobbered)
|
| for (size_t i = 0; i < ARRAY_SIZE(pages); ++i)
|
| registerMockedHttpURLLoad(pages[i]);
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 400;
|
| int viewportHeight = 300;
|
| @@ -1244,8 +1211,7 @@ TEST_F(WebFrameTest, SmallPermanentInitialPageScaleFactorIsClobbered)
|
| for (size_t i = 0; i < ARRAY_SIZE(pages); ++i) {
|
| for (int quirkEnabled = 0; quirkEnabled <= 1; ++quirkEnabled) {
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + pages[i], true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + pages[i], true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setClobberUserAgentInitialScaleQuirk(quirkEnabled);
|
| webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| @@ -1258,17 +1224,16 @@ TEST_F(WebFrameTest, SmallPermanentInitialPageScaleFactorIsClobbered)
|
|
|
| TEST_F(WebFrameTest, PermanentInitialPageScaleFactorAffectsLayoutWidth)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| float enforcedPageScaleFactor = 0.5;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad("about:blank", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad("about:blank", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(false);
|
| webViewHelper.webView()->settings()->setLoadWithOverviewMode(false);
|
| @@ -1281,16 +1246,16 @@ TEST_F(WebFrameTest, PermanentInitialPageScaleFactorAffectsLayoutWidth)
|
|
|
| TEST_F(WebFrameTest, WideViewportInitialScaleDoesNotExpandFixedLayoutWidth)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-device-0.5x-initial-scale.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-device-0.5x-initial-scale.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-device-0.5x-initial-scale.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true);
|
| @@ -1307,16 +1272,16 @@ TEST_F(WebFrameTest, WideViewportInitialScaleDoesNotExpandFixedLayoutWidth)
|
|
|
| TEST_F(WebFrameTest, WideViewportAndWideContentWithInitialScale)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("wide_document_width_viewport.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 600;
|
| int viewportHeight = 800;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad("about:blank", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad("about:blank", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true);
|
| @@ -1334,17 +1299,16 @@ TEST_F(WebFrameTest, WideViewportAndWideContentWithInitialScale)
|
|
|
| TEST_F(WebFrameTest, WideViewportQuirkClobbersHeight)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-height-1000.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 600;
|
| int viewportHeight = 800;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad("about:blank", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad("about:blank", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(false);
|
| webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true);
|
| @@ -1360,17 +1324,16 @@ TEST_F(WebFrameTest, WideViewportQuirkClobbersHeight)
|
|
|
| TEST_F(WebFrameTest, LayoutSize320Quirk)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport/viewport-30.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 600;
|
| int viewportHeight = 800;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad("about:blank", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad("about:blank", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true);
|
| @@ -1403,16 +1366,16 @@ TEST_F(WebFrameTest, LayoutSize320Quirk)
|
|
|
| TEST_F(WebFrameTest, ZeroValuesQuirk)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-zero-values.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initialize(true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initialize(true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setViewportMetaZeroValuesQuirk(true);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setViewportMetaLayoutSizeQuirk(true);
|
| @@ -1433,7 +1396,7 @@ TEST_F(WebFrameTest, OverflowHiddenDisablesScrolling)
|
| {
|
| registerMockedHttpURLLoad("body-overflow-hidden.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| @@ -1452,7 +1415,7 @@ TEST_F(WebFrameTest, IgnoreOverflowHiddenQuirk)
|
| {
|
| registerMockedHttpURLLoad("body-overflow-hidden.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| @@ -1470,17 +1433,17 @@ TEST_F(WebFrameTest, IgnoreOverflowHiddenQuirk)
|
|
|
| TEST_F(WebFrameTest, NonZeroValuesNoQuirk)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-nonzero-values.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| float expectedPageScaleFactor = 0.5f;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initialize(true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initialize(true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setViewportMetaZeroValuesQuirk(true);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL + "viewport-nonzero-values.html");
|
| @@ -1498,18 +1461,17 @@ TEST_F(WebFrameTest, NonZeroValuesNoQuirk)
|
|
|
| TEST_F(WebFrameTest, setPageScaleFactorDoesNotLayout)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| // Small viewport to ensure there are always scrollbars.
|
| int viewportWidth = 64;
|
| int viewportHeight = 48;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
|
|
| @@ -1521,18 +1483,17 @@ TEST_F(WebFrameTest, setPageScaleFactorDoesNotLayout)
|
|
|
| TEST_F(WebFrameTest, setPageScaleFactorWithOverlayScrollbarsDoesNotLayout)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
|
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
|
|
| @@ -1545,14 +1506,14 @@ TEST_F(WebFrameTest, setPageScaleFactorWithOverlayScrollbarsDoesNotLayout)
|
|
|
| TEST_F(WebFrameTest, setPageScaleFactorBeforeFrameHasView)
|
| {
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| float pageScaleFactor = 3;
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| webViewHelper.initializeAndLoad("about:html", true, 0, 0);
|
| webViewHelper.webView()->setPageScaleFactor(pageScaleFactor, WebPoint());
|
|
|
| - FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL + "fixed_layout.html");
|
| + FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL + "no_viewport_tag.html");
|
| Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests();
|
| WebCore::FrameView* view = webViewHelper.webViewImpl()->mainFrameImpl()->frameView();
|
| EXPECT_EQ(pageScaleFactor, view->visibleContentScaleFactor());
|
| @@ -1560,17 +1521,16 @@ TEST_F(WebFrameTest, setPageScaleFactorBeforeFrameHasView)
|
|
|
| TEST_F(WebFrameTest, pageScaleFactorWrittenToHistoryItem)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
|
|
| @@ -1584,18 +1544,17 @@ TEST_F(WebFrameTest, pageScaleFactorWrittenToHistoryItem)
|
|
|
| TEST_F(WebFrameTest, pageScaleFactorShrinksViewport)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("large-div.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| // Small viewport to ensure there are always scrollbars.
|
| int viewportWidth = 64;
|
| int viewportHeight = 48;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "large-div.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "large-div.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
|
|
| @@ -1620,32 +1579,31 @@ TEST_F(WebFrameTest, pageScaleFactorShrinksViewport)
|
|
|
| TEST_F(WebFrameTest, pageScaleFactorDoesNotApplyCssTransform)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
|
|
| webViewHelper.webView()->setPageScaleFactor(2, WebPoint());
|
|
|
| - EXPECT_EQ(980, webViewHelper.webViewImpl()->page()->mainFrame()->contentRenderer()->unscaledDocumentRect().width());
|
| - EXPECT_EQ(980, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().width());
|
| + EXPECT_EQ(androidDefaultLayoutWidth, webViewHelper.webViewImpl()->page()->mainFrame()->contentRenderer()->unscaledDocumentRect().width());
|
| + EXPECT_EQ(androidDefaultLayoutWidth, webViewHelper.webViewImpl()->mainFrameImpl()->frameView()->contentsSize().width());
|
| }
|
|
|
| TEST_F(WebFrameTest, targetDensityDpiHigh)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-target-densitydpi-high.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| // high-dpi = 240
|
| float targetDpi = 240.0f;
|
| float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f };
|
| @@ -1658,7 +1616,7 @@ TEST_F(WebFrameTest, targetDensityDpiHigh)
|
| client.m_screenInfo.deviceScaleFactor = deviceScaleFactor;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-high.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-high.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(true);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| @@ -1674,12 +1632,12 @@ TEST_F(WebFrameTest, targetDensityDpiHigh)
|
|
|
| TEST_F(WebFrameTest, targetDensityDpiDevice)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-target-densitydpi-device.html");
|
|
|
| float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f };
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| @@ -1687,7 +1645,7 @@ TEST_F(WebFrameTest, targetDensityDpiDevice)
|
| client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i];
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-device.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-device.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(true);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| @@ -1700,12 +1658,12 @@ TEST_F(WebFrameTest, targetDensityDpiDevice)
|
|
|
| TEST_F(WebFrameTest, targetDensityDpiDeviceAndFixedWidth)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-target-densitydpi-device-and-fixed-width.html");
|
|
|
| float deviceScaleFactors[] = { 1.0f, 4.0f / 3.0f, 2.0f };
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| @@ -1713,7 +1671,7 @@ TEST_F(WebFrameTest, targetDensityDpiDeviceAndFixedWidth)
|
| client.m_screenInfo.deviceScaleFactor = deviceScaleFactors[i];
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-device-and-fixed-width.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-target-densitydpi-device-and-fixed-width.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| @@ -1727,16 +1685,16 @@ TEST_F(WebFrameTest, targetDensityDpiDeviceAndFixedWidth)
|
|
|
| TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOne)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-initial-scale-less-than-1.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1.33f;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-than-1.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-than-1.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(true);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(false);
|
| @@ -1750,16 +1708,16 @@ TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOne)
|
|
|
| TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOneWithDeviceWidth)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-initial-scale-less-than-1-device-width.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1.33f;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-than-1-device-width.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-less-than-1-device-width.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(true);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(false);
|
| @@ -1774,16 +1732,16 @@ TEST_F(WebFrameTest, NoWideViewportAndScaleLessThanOneWithDeviceWidth)
|
|
|
| TEST_F(WebFrameTest, NoWideViewportAndNoViewportWithInitialPageScaleOverride)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("large-div.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
| float enforcedPageScaleFactor = 5.0f;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "large-div.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "large-div.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(false);
|
| webViewHelper.webView()->setInitialPageScaleOverride(enforcedPageScaleFactor);
|
| @@ -1797,16 +1755,15 @@ TEST_F(WebFrameTest, NoWideViewportAndNoViewportWithInitialPageScaleOverride)
|
|
|
| TEST_F(WebFrameTest, NoUserScalableQuirkIgnoresViewportScale)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-initial-scale-and-user-scalable-no.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-and-user-scalable-no.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-and-user-scalable-no.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setViewportMetaNonUserScalableQuirk(true);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
| @@ -1818,17 +1775,16 @@ TEST_F(WebFrameTest, NoUserScalableQuirkIgnoresViewportScale)
|
|
|
| TEST_F(WebFrameTest, NoUserScalableQuirkIgnoresViewportScaleForNonWideViewport)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-initial-scale-and-user-scalable-no.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1.33f;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-and-user-scalable-no.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-initial-scale-and-user-scalable-no.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setSupportDeprecatedTargetDensityDPI(true);
|
| webViewHelper.webView()->settings()->setViewportMetaNonUserScalableQuirk(true);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| @@ -1843,16 +1799,15 @@ TEST_F(WebFrameTest, NoUserScalableQuirkIgnoresViewportScaleForNonWideViewport)
|
|
|
| TEST_F(WebFrameTest, NoUserScalableQuirkIgnoresViewportScaleForWideViewport)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("viewport-2x-initial-scale-non-user-scalable.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "viewport-2x-initial-scale-non-user-scalable.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "viewport-2x-initial-scale-non-user-scalable.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->settings()->setViewportMetaNonUserScalableQuirk(true);
|
| webViewHelper.webView()->settings()->setWideViewportQuirkEnabled(true);
|
| webViewHelper.webView()->settings()->setUseWideViewport(true);
|
| @@ -1878,13 +1833,13 @@ protected:
|
| const WebSize scrollOffset,
|
| const WebSize viewportSize,
|
| const bool shouldScaleRelativeToViewportWidth) {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad(url);
|
|
|
| const float aspectRatio = static_cast<float>(viewportSize.width) / viewportSize.height;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + url, true, 0, 0, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + url, true, 0, 0, setViewportSettings);
|
|
|
| // Origin scrollOffsets preserved under resize.
|
| {
|
| @@ -1967,10 +1922,10 @@ TEST_F(WebFrameResizeTest, ResizeYieldsCorrectScrollAndScaleForFixedWidth)
|
| url, initialPageScaleFactor, scrollOffset, viewportSize, shouldScaleRelativeToViewportWidth);
|
| }
|
|
|
| -TEST_F(WebFrameResizeTest, ResizeYieldsCorrectScrollAndScaleForFixedLayout)
|
| +TEST_F(WebFrameResizeTest, ResizeYieldsCorrectScrollAndScaleForDesktop)
|
| {
|
| - // With a fixed layout, pageScaleFactor scales by the relative change in viewport width.
|
| - const char* url = "resize_scroll_fixed_layout.html";
|
| + // On a desktop page (no viewport tag), pageScaleFactor scales by the relative change in viewport width.
|
| + const char* url = "resize_scroll_desktop.html";
|
| const float initialPageScaleFactor = 2;
|
| const WebSize scrollOffset(200, 400);
|
| const WebSize viewportSize(320, 240);
|
| @@ -1982,17 +1937,16 @@ TEST_F(WebFrameResizeTest, ResizeYieldsCorrectScrollAndScaleForFixedLayout)
|
|
|
| TEST_F(WebFrameTest, pageScaleFactorScalesPaintClip)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| registerMockedHttpURLLoad("large-div.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 50;
|
| int viewportHeight = 50;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "large-div.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "large-div.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
|
|
| @@ -2023,17 +1977,16 @@ TEST_F(WebFrameTest, pageScaleFactorScalesPaintClip)
|
|
|
| TEST_F(WebFrameTest, pageScaleFactorUpdatesScrollbars)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "fixed_layout.html", true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_viewport_tag.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->layout();
|
|
|
| @@ -2049,17 +2002,17 @@ TEST_F(WebFrameTest, pageScaleFactorUpdatesScrollbars)
|
|
|
| TEST_F(WebFrameTest, CanOverrideScaleLimits)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
|
|
| registerMockedHttpURLLoad("no_scale_for_you.html");
|
|
|
| - FixedLayoutTestWebViewClient client;
|
| + ViewportWebViewClient client;
|
| client.m_screenInfo.deviceScaleFactor = 1;
|
| int viewportWidth = 640;
|
| int viewportHeight = 480;
|
|
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "no_scale_for_you.html", true, 0, &client, enableViewportSettings);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "no_scale_for_you.html", true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
|
|
| EXPECT_EQ(2.0f, webViewHelper.webView()->minimumPageScaleFactor());
|
| @@ -2080,7 +2033,7 @@ TEST_F(WebFrameTest, CanOverrideScaleLimits)
|
|
|
| TEST_F(WebFrameTest, updateOverlayScrollbarLayers)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
|
|
| registerMockedHttpURLLoad("large-div.html");
|
|
|
| @@ -2234,8 +2187,7 @@ TEST_F(WebFrameTest, DivAutoZoomVeryTallTest)
|
| int viewportWidth = 640 / deviceScaleFactor;
|
| int viewportHeight = 1280 / deviceScaleFactor;
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + "very_tall_div.html");
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + "very_tall_div.html", false, 0, 0, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight));
|
| webViewHelper.webView()->setPageScaleFactorLimits(1.0f, 4);
|
| webViewHelper.webView()->setDeviceScaleFactor(deviceScaleFactor);
|
| @@ -2623,16 +2575,16 @@ TEST_F(WebFrameTest, ReloadWhileProvisional)
|
| {
|
| // Test that reloading while the previous load is still pending does not cause the initial
|
| // request to get lost.
|
| - registerMockedHttpURLLoad("fixed_layout.html");
|
| + registerMockedHttpURLLoad("no_viewport_tag.html");
|
|
|
| TestReloadWhileProvisionalFrameClient webFrameClient;
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| webViewHelper.initialize(false, &webFrameClient);
|
| - FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL + "fixed_layout.html");
|
| + FrameTestHelpers::loadFrame(webViewHelper.webView()->mainFrame(), m_baseURL + "no_viewport_tag.html");
|
| // start reload before first request is delivered.
|
| webViewHelper.webView()->mainFrame()->reload(true);
|
| Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests();
|
| - ASSERT_EQ(WebURL(toKURL(m_baseURL + "fixed_layout.html")),
|
| + ASSERT_EQ(WebURL(toKURL(m_baseURL + "no_viewport_tag.html")),
|
| webViewHelper.webView()->mainFrame()->dataSource()->request().url());
|
| }
|
|
|
| @@ -3794,7 +3746,7 @@ TEST_F(WebFrameTest, DisambiguationPopupNoContainer)
|
|
|
| TEST_F(WebFrameTest, DisambiguationPopupMobileSite)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| const std::string htmlFile = "disambiguation_popup_mobile_site.html";
|
| registerMockedHttpURLLoad(htmlFile);
|
|
|
| @@ -3803,8 +3755,7 @@ TEST_F(WebFrameTest, DisambiguationPopupMobileSite)
|
| // Make sure we initialize to minimum scale, even if the window size
|
| // only becomes available after the load begins.
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + htmlFile, true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + htmlFile, true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(1000, 1000));
|
| webViewHelper.webView()->layout();
|
|
|
| @@ -3831,7 +3782,7 @@ TEST_F(WebFrameTest, DisambiguationPopupMobileSite)
|
|
|
| TEST_F(WebFrameTest, DisambiguationPopupViewportSite)
|
| {
|
| - UseMockScrollbarSettings mockScrollbarSettings;
|
| + UseAndroidTestConfig useAndroidTestConfig;
|
| const std::string htmlFile = "disambiguation_popup_viewport_site.html";
|
| registerMockedHttpURLLoad(htmlFile);
|
|
|
| @@ -3840,8 +3791,7 @@ TEST_F(WebFrameTest, DisambiguationPopupViewportSite)
|
| // Make sure we initialize to minimum scale, even if the window size
|
| // only becomes available after the load begins.
|
| FrameTestHelpers::WebViewHelper webViewHelper;
|
| - webViewHelper.initializeAndLoad(m_baseURL + htmlFile, true, 0, &client);
|
| - webViewHelper.webView()->settings()->setViewportEnabled(true);
|
| + webViewHelper.initializeAndLoad(m_baseURL + htmlFile, true, 0, &client, setViewportSettings);
|
| webViewHelper.webView()->resize(WebSize(1000, 1000));
|
| webViewHelper.webView()->layout();
|
|
|
|
|