Chromium Code Reviews| Index: Source/web/tests/WebFrameTest.cpp |
| diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp |
| index 8ee7b11a0a43541080c98ce9f35233f410ca1262..d2098db868a7067546a13fe64ea18f754d98bccb 100644 |
| --- a/Source/web/tests/WebFrameTest.cpp |
| +++ b/Source/web/tests/WebFrameTest.cpp |
| @@ -7273,4 +7273,55 @@ TEST_F(WebFrameTest, CrossDomainAccessErrorsUseCallingWindow) |
| popupWebViewHelper.reset(); |
| } |
| +TEST_F(WebFrameTest, OverscrollGlowAnimation) |
| +{ |
| + UseMockScrollbarSettings mockScrollbarSettings; |
| + registerMockedHttpURLLoad("mainthread_scrolling.html"); |
| + |
| + FixedLayoutTestWebViewClient client; |
| + client.m_screenInfo.deviceScaleFactor = 1; |
| + int viewportWidth = 640; |
| + int viewportHeight = 480; |
| + |
| + FrameTestHelpers::WebViewHelper webViewHelper; |
| + |
| + webViewHelper.initializeAndLoad(m_baseURL + "mainthread_scrolling.html", true, 0, &client, configureAndroid); |
| + // set view height to zero so that if the height of the view is not |
| + // successfully updated during later resizes touch events will fail |
| + // (as in not hit content included in the view) |
| + webViewHelper.webView()->resize(WebSize(viewportWidth, 0)); |
| + webViewHelper.webView()->layout(); |
| + |
|
majidvp
2015/05/07 16:35:30
Why do you need this resize here?
|
| + webViewHelper.webView()->settings()->setForceZeroLayoutHeight(true); |
| + webViewHelper.webView()->resize(WebSize(viewportWidth, viewportHeight)); |
| + |
|
majidvp
2015/05/07 16:35:30
Again resize does not make sense to me.
|
| + IntPoint hitPoint = IntPoint(5, 5); |
| + |
| + PlatformGestureEvent gestureEventSB(PlatformEvent::Type::GestureScrollBegin, hitPoint, hitPoint, IntSize(0, 0), 0, false, false, false, false); |
| + webViewHelper.webViewImpl()->mainFrameImpl()->frame()->eventHandler().handleGestureEvent(gestureEventSB); |
|
majidvp
2015/05/07 16:35:30
I think it is better to have webView handle the ge
|
| + |
| + PlatformGestureEvent gestureEventSU1(PlatformEvent::Type::GestureScrollUpdate, hitPoint, hitPoint, IntSize(0, 0), 0, false, false, false, false); |
| + gestureEventSU1.setScrollGestureData(0, -13, 0, 0, false, false); |
| + webViewHelper.webViewImpl()->mainFrameImpl()->frame()->eventHandler().handleGestureEvent(gestureEventSU1); |
| + FloatSize unUsedDelta = webViewHelper.webViewImpl()->mainFrameImpl()->frame()->eventHandler().unusedDeltaForTesting(); |
| + FloatSize accumulatedRootOverscroll = webViewHelper.webViewImpl()->mainFrameImpl()->frame()->eventHandler().accumulatedRootOverscrollForTesting(); |
| + EXPECT_EQ(0, unUsedDelta.width()); |
| + EXPECT_EQ(-13, unUsedDelta.height()); |
| + EXPECT_EQ(0, accumulatedRootOverscroll.width()); |
| + EXPECT_EQ(-13, accumulatedRootOverscroll.height()); |
| + |
| + PlatformGestureEvent gestureEventSU2(PlatformEvent::Type::GestureScrollUpdate, hitPoint, hitPoint, IntSize(0, 0), 0, false, false, false, false); |
| + gestureEventSU2.setScrollGestureData(0, -13, 0, 0, false, false); |
| + webViewHelper.webViewImpl()->mainFrameImpl()->frame()->eventHandler().handleGestureEvent(gestureEventSU2); |
| + unUsedDelta = webViewHelper.webViewImpl()->mainFrameImpl()->frame()->eventHandler().unusedDeltaForTesting(); |
| + accumulatedRootOverscroll = webViewHelper.webViewImpl()->mainFrameImpl()->frame()->eventHandler().accumulatedRootOverscrollForTesting(); |
| + EXPECT_EQ(0, unUsedDelta.width()); |
| + EXPECT_EQ(-13, unUsedDelta.height()); |
| + EXPECT_EQ(0, accumulatedRootOverscroll.width()); |
| + EXPECT_EQ(-26, accumulatedRootOverscroll.height()); |
|
majidvp
2015/05/07 16:35:30
This tests the simple case where we have overscrol
|
| + |
| + PlatformGestureEvent gestureEventSE(PlatformEvent::Type::GestureScrollEnd, hitPoint, hitPoint, IntSize(0, 0), 0, false, false, false, false); |
| + webViewHelper.webViewImpl()->mainFrameImpl()->frame()->eventHandler().handleGestureEvent(gestureEventSE); |
| +} |
| + |
| } // namespace blink |