Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1664)

Unified Diff: Source/web/tests/WebFrameTest.cpp

Issue 1056983004: OverscrollGlow for mainThread-{BLINK CHANGES} (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Tests !!! Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698