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) |