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

Unified Diff: ui/events/blink/blink_event_util_unittest.cc

Issue 2605193002: Fix mouse wheel over-scrolls when display is scaled and scroll is paginated (Closed)
Patch Set: Better function/variable names. Created 3 years, 10 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: ui/events/blink/blink_event_util_unittest.cc
diff --git a/ui/events/blink/blink_event_util_unittest.cc b/ui/events/blink/blink_event_util_unittest.cc
index 1bee59157f5832fa87e92ad83c5ee0bbe761ba49..eb82995c5fcb1b55bf7a4587af65b68924056a44 100644
--- a/ui/events/blink/blink_event_util_unittest.cc
+++ b/ui/events/blink/blink_event_util_unittest.cc
@@ -28,6 +28,36 @@ TEST(BlinkEventUtilTest, NoScalingWith1DSF) {
EXPECT_TRUE(ScaleWebInputEvent(event, 2.f));
}
+TEST(BlinkEventUtilTest, PaginatedScrollBeginEvent) {
+ ui::GestureEventDetails details(ui::ET_GESTURE_SCROLL_BEGIN, 1, 1,
+ ui::GestureEventDetails::ScrollUnits::PAGE);
+ details.set_device_type(ui::GestureDeviceType::DEVICE_TOUCHSCREEN);
+ auto event =
+ CreateWebGestureEvent(details, base::TimeTicks(), gfx::PointF(1.f, 1.f),
+ gfx::PointF(1.f, 1.f), 0, 0U);
+ std::unique_ptr<blink::WebInputEvent> webEvent =
+ ScaleWebInputEvent(event, 2.f);
+ EXPECT_TRUE(webEvent);
+ blink::WebGestureEvent* gestureEvent =
+ static_cast<blink::WebGestureEvent*>(webEvent.get());
+ EXPECT_EQ(1, gestureEvent->data.scrollUpdate.deltaY);
Bret 2017/02/17 21:06:03 nit: it's probably worth adding the one line to ch
chengx 2017/02/17 21:57:45 Added checks for deltaX. Also, I should use scroll
+}
+
+TEST(BlinkEventUtilTest, PaginatedScrollUpdateEvent) {
+ ui::GestureEventDetails details(ui::ET_GESTURE_SCROLL_UPDATE, 1, 1,
+ ui::GestureEventDetails::ScrollUnits::PAGE);
+ details.set_device_type(ui::GestureDeviceType::DEVICE_TOUCHSCREEN);
+ auto event =
+ CreateWebGestureEvent(details, base::TimeTicks(), gfx::PointF(1.f, 1.f),
+ gfx::PointF(1.f, 1.f), 0, 0U);
+ std::unique_ptr<blink::WebInputEvent> webEvent =
+ ScaleWebInputEvent(event, 2.f);
+ EXPECT_TRUE(webEvent);
+ blink::WebGestureEvent* gestureEvent =
+ static_cast<blink::WebGestureEvent*>(webEvent.get());
+ EXPECT_EQ(1, gestureEvent->data.scrollUpdate.deltaY);
+}
+
TEST(BlinkEventUtilTest, TouchEventCoalescing) {
blink::WebTouchPoint touch_point;
touch_point.id = 1;

Powered by Google App Engine
This is Rietveld 408576698