| Index: third_party/WebKit/Source/web/tests/VisualViewportTest.cpp
|
| diff --git a/third_party/WebKit/Source/web/tests/VisualViewportTest.cpp b/third_party/WebKit/Source/web/tests/VisualViewportTest.cpp
|
| index f8edd534e82a88678152ad873fc4f9e8fecce270..f5b433e7d8056373011a836118525a6f16cf9257 100644
|
| --- a/third_party/WebKit/Source/web/tests/VisualViewportTest.cpp
|
| +++ b/third_party/WebKit/Source/web/tests/VisualViewportTest.cpp
|
| @@ -1119,64 +1119,6 @@ TEST_P(ParameterizedVisualViewportTest, TestClientNotifiedOfScrollEvents)
|
| webViewImpl()->mainFrameImpl()->setClient(oldClient);
|
| }
|
|
|
| -// Tests that calling scroll into view on a visible element doesn cause
|
| -// a scroll due to a fractional offset. Bug crbug.com/463356.
|
| -TEST_P(ParameterizedVisualViewportTest, ScrollIntoViewFractionalOffset)
|
| -{
|
| - initializeWithAndroidSettings();
|
| -
|
| - webViewImpl()->resize(IntSize(1000, 1000));
|
| -
|
| - registerMockedHttpURLLoad("scroll-into-view.html");
|
| - navigateTo(m_baseURL + "scroll-into-view.html");
|
| -
|
| - FrameView& frameView = *webViewImpl()->mainFrameImpl()->frameView();
|
| - ScrollableArea* layoutViewportScrollableArea = frameView.layoutViewportScrollableArea();
|
| - VisualViewport& visualViewport = frame()->page()->frameHost().visualViewport();
|
| - Element* inputBox = frame()->document()->getElementById("box");
|
| -
|
| - webViewImpl()->setPageScaleFactor(2);
|
| -
|
| - // The element is already in the view so the scrollIntoView shouldn't move
|
| - // the viewport at all.
|
| - webViewImpl()->setVisualViewportOffset(WebFloatPoint(250.25f, 100.25f));
|
| - layoutViewportScrollableArea->setScrollPosition(DoublePoint(0, 900.75), ProgrammaticScroll);
|
| - inputBox->scrollIntoViewIfNeeded(false);
|
| -
|
| - EXPECT_POINT_EQ(DoublePoint(0, 900.75), layoutViewportScrollableArea->scrollPositionDouble());
|
| - EXPECT_POINT_EQ(FloatPoint(250.25f, 100.25f), visualViewport.location());
|
| -
|
| - // Change the fractional part of the frameview to one that would round down.
|
| - layoutViewportScrollableArea->setScrollPosition(DoublePoint(0, 900.125), ProgrammaticScroll);
|
| - inputBox->scrollIntoViewIfNeeded(false);
|
| -
|
| - EXPECT_POINT_EQ(DoublePoint(0, 900.125), layoutViewportScrollableArea->scrollPositionDouble());
|
| - EXPECT_POINT_EQ(FloatPoint(250.25f, 100.25f), visualViewport.location());
|
| -
|
| - // Repeat both tests above with the visual viewport at a high fractional.
|
| - webViewImpl()->setVisualViewportOffset(WebFloatPoint(250.875f, 100.875f));
|
| - layoutViewportScrollableArea->setScrollPosition(DoublePoint(0, 900.75), ProgrammaticScroll);
|
| - inputBox->scrollIntoViewIfNeeded(false);
|
| -
|
| - EXPECT_POINT_EQ(DoublePoint(0, 900.75), layoutViewportScrollableArea->scrollPositionDouble());
|
| - EXPECT_POINT_EQ(FloatPoint(250.875f, 100.875f), visualViewport.location());
|
| -
|
| - // Change the fractional part of the frameview to one that would round down.
|
| - layoutViewportScrollableArea->setScrollPosition(DoublePoint(0, 900.125), ProgrammaticScroll);
|
| - inputBox->scrollIntoViewIfNeeded(false);
|
| -
|
| - EXPECT_POINT_EQ(DoublePoint(0, 900.125), layoutViewportScrollableArea->scrollPositionDouble());
|
| - EXPECT_POINT_EQ(FloatPoint(250.875f, 100.875f), visualViewport.location());
|
| -
|
| - // Both viewports with a 0.5 fraction.
|
| - webViewImpl()->setVisualViewportOffset(WebFloatPoint(250.5f, 100.5f));
|
| - layoutViewportScrollableArea->setScrollPosition(DoublePoint(0, 900.5), ProgrammaticScroll);
|
| - inputBox->scrollIntoViewIfNeeded(false);
|
| -
|
| - EXPECT_POINT_EQ(DoublePoint(0, 900.5), layoutViewportScrollableArea->scrollPositionDouble());
|
| - EXPECT_POINT_EQ(FloatPoint(250.5f, 100.5f), visualViewport.location());
|
| -}
|
| -
|
| // Top controls can make an unscrollable page temporarily scrollable, causing
|
| // a scroll clamp when the page is resized. Make sure this bug is fixed.
|
| // crbug.com/437620
|
| @@ -1469,84 +1411,6 @@ TEST_P(ParameterizedVisualViewportTest, ElementBoundsInViewportSpaceAccountsForV
|
| EXPECT_SIZE_EQ(bounds.size(), boundsInViewport.size());
|
| }
|
|
|
| -// Test that the various window.scroll and document.body.scroll properties and
|
| -// methods work unchanged from the pre-virtual viewport mode.
|
| -TEST_P(ParameterizedVisualViewportTest, bodyAndWindowScrollPropertiesAccountForViewport)
|
| -{
|
| - initializeWithAndroidSettings();
|
| -
|
| - webViewImpl()->resize(IntSize(200, 300));
|
| -
|
| - // Load page with no main frame scrolling.
|
| - registerMockedHttpURLLoad("200-by-300-viewport.html");
|
| - navigateTo(m_baseURL + "200-by-300-viewport.html");
|
| -
|
| - VisualViewport& visualViewport = frame()->page()->frameHost().visualViewport();
|
| - visualViewport.setScale(2);
|
| -
|
| - // Chrome's quirky behavior regarding viewport scrolling means we treat the
|
| - // body element as the viewport and don't apply scrolling to the HTML
|
| - // element.
|
| - RuntimeEnabledFeatures::setScrollTopLeftInteropEnabled(false);
|
| -
|
| - LocalDOMWindow* window = webViewImpl()->mainFrameImpl()->frame()->localDOMWindow();
|
| - window->scrollTo(100, 150);
|
| - EXPECT_EQ(100, window->scrollX());
|
| - EXPECT_EQ(150, window->scrollY());
|
| - EXPECT_FLOAT_POINT_EQ(FloatPoint(100, 150), visualViewport.location());
|
| -
|
| - HTMLElement* body = toHTMLBodyElement(window->document()->body());
|
| - body->setScrollLeft(50);
|
| - body->setScrollTop(130);
|
| - EXPECT_EQ(50, body->scrollLeft());
|
| - EXPECT_EQ(130, body->scrollTop());
|
| - EXPECT_FLOAT_POINT_EQ(FloatPoint(50, 130), visualViewport.location());
|
| -
|
| - HTMLElement* documentElement = toHTMLElement(window->document()->documentElement());
|
| - documentElement->setScrollLeft(40);
|
| - documentElement->setScrollTop(50);
|
| - EXPECT_EQ(0, documentElement->scrollLeft());
|
| - EXPECT_EQ(0, documentElement->scrollTop());
|
| - EXPECT_FLOAT_POINT_EQ(FloatPoint(50, 130), visualViewport.location());
|
| -
|
| - visualViewport.setLocation(FloatPoint(10, 20));
|
| - EXPECT_EQ(10, body->scrollLeft());
|
| - EXPECT_EQ(20, body->scrollTop());
|
| - EXPECT_EQ(0, documentElement->scrollLeft());
|
| - EXPECT_EQ(0, documentElement->scrollTop());
|
| - EXPECT_EQ(10, window->scrollX());
|
| - EXPECT_EQ(20, window->scrollY());
|
| -
|
| - // Turning on the standards-compliant viewport scrolling impl should make
|
| - // the document element the viewport and not body.
|
| - RuntimeEnabledFeatures::setScrollTopLeftInteropEnabled(true);
|
| -
|
| - window->scrollTo(100, 150);
|
| - EXPECT_EQ(100, window->scrollX());
|
| - EXPECT_EQ(150, window->scrollY());
|
| - EXPECT_FLOAT_POINT_EQ(FloatPoint(100, 150), visualViewport.location());
|
| -
|
| - body->setScrollLeft(50);
|
| - body->setScrollTop(130);
|
| - EXPECT_EQ(0, body->scrollLeft());
|
| - EXPECT_EQ(0, body->scrollTop());
|
| - EXPECT_FLOAT_POINT_EQ(FloatPoint(100, 150), visualViewport.location());
|
| -
|
| - documentElement->setScrollLeft(40);
|
| - documentElement->setScrollTop(50);
|
| - EXPECT_EQ(40, documentElement->scrollLeft());
|
| - EXPECT_EQ(50, documentElement->scrollTop());
|
| - EXPECT_FLOAT_POINT_EQ(FloatPoint(40, 50), visualViewport.location());
|
| -
|
| - visualViewport.setLocation(FloatPoint(10, 20));
|
| - EXPECT_EQ(0, body->scrollLeft());
|
| - EXPECT_EQ(0, body->scrollTop());
|
| - EXPECT_EQ(10, documentElement->scrollLeft());
|
| - EXPECT_EQ(20, documentElement->scrollTop());
|
| - EXPECT_EQ(10, window->scrollX());
|
| - EXPECT_EQ(20, window->scrollY());
|
| -}
|
| -
|
| // Tests that when a new frame is created, it is created with the intended
|
| // size (i.e. viewport at minimum scale, 100x200 / 0.5).
|
| TEST_P(ParameterizedVisualViewportTest, TestMainFrameInitializationSizing)
|
|
|