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..260f63682f5b71207f0cf759307bf7d4a9752ea5 100644 |
--- a/ui/events/blink/blink_event_util_unittest.cc |
+++ b/ui/events/blink/blink_event_util_unittest.cc |
@@ -8,6 +8,7 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
#include "third_party/WebKit/public/platform/WebGestureEvent.h" |
#include "third_party/WebKit/public/platform/WebInputEvent.h" |
+#include "third_party/WebKit/public/platform/WebMouseWheelEvent.h" |
#include "ui/events/gesture_event_details.h" |
namespace ui { |
@@ -28,6 +29,108 @@ TEST(BlinkEventUtilTest, NoScalingWith1DSF) { |
EXPECT_TRUE(ScaleWebInputEvent(event, 2.f)); |
} |
+TEST(BlinkEventUtilTest, NonPaginatedWebMouseWheelEvent) { |
+ blink::WebMouseWheelEvent event(blink::WebInputEvent::MouseWheel, |
+ blink::WebInputEvent::NoModifiers, |
+ blink::WebInputEvent::TimeStampForTesting); |
+ event.deltaX = 1.f; |
+ event.deltaY = 1.f; |
+ event.wheelTicksX = 1.f; |
+ event.wheelTicksY = 1.f; |
+ event.scrollByPage = false; |
+ std::unique_ptr<blink::WebInputEvent> webEvent = |
+ ScaleWebInputEvent(event, 2.f); |
+ EXPECT_TRUE(webEvent); |
+ blink::WebMouseWheelEvent* mouseWheelEvent = |
+ static_cast<blink::WebMouseWheelEvent*>(webEvent.get()); |
+ EXPECT_EQ(2.f, mouseWheelEvent->deltaX); |
+ EXPECT_EQ(2.f, mouseWheelEvent->deltaY); |
+ EXPECT_EQ(2.f, mouseWheelEvent->wheelTicksX); |
+ EXPECT_EQ(2.f, mouseWheelEvent->wheelTicksY); |
+} |
+ |
+TEST(BlinkEventUtilTest, PaginatedWebMouseWheelEvent) { |
+ blink::WebMouseWheelEvent event(blink::WebInputEvent::MouseWheel, |
+ blink::WebInputEvent::NoModifiers, |
+ blink::WebInputEvent::TimeStampForTesting); |
+ event.deltaX = 1.f; |
+ event.deltaY = 1.f; |
+ event.wheelTicksX = 1.f; |
+ event.wheelTicksY = 1.f; |
+ event.scrollByPage = true; |
+ std::unique_ptr<blink::WebInputEvent> webEvent = |
+ ScaleWebInputEvent(event, 2.f); |
+ EXPECT_TRUE(webEvent); |
+ blink::WebMouseWheelEvent* mouseWheelEvent = |
+ static_cast<blink::WebMouseWheelEvent*>(webEvent.get()); |
+ EXPECT_EQ(1.f, mouseWheelEvent->deltaX); |
+ EXPECT_EQ(1.f, mouseWheelEvent->deltaY); |
+ EXPECT_EQ(1.f, mouseWheelEvent->wheelTicksX); |
+ EXPECT_EQ(1.f, mouseWheelEvent->wheelTicksY); |
+} |
+ |
+TEST(BlinkEventUtilTest, NonPaginatedScrollBeginEvent) { |
+ ui::GestureEventDetails details(ui::ET_GESTURE_SCROLL_BEGIN, 1, 1); |
+ 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(2.f, gestureEvent->data.scrollBegin.deltaXHint); |
+ EXPECT_EQ(2.f, gestureEvent->data.scrollBegin.deltaYHint); |
+} |
+ |
+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.f, gestureEvent->data.scrollBegin.deltaXHint); |
+ EXPECT_EQ(1.f, gestureEvent->data.scrollBegin.deltaYHint); |
+} |
+ |
+TEST(BlinkEventUtilTest, NonPaginatedScrollUpdateEvent) { |
+ ui::GestureEventDetails details(ui::ET_GESTURE_SCROLL_UPDATE, 1, 1); |
+ 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(2.f, gestureEvent->data.scrollUpdate.deltaX); |
+ EXPECT_EQ(2.f, gestureEvent->data.scrollUpdate.deltaY); |
+} |
+ |
+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.f, gestureEvent->data.scrollUpdate.deltaX); |
+ EXPECT_EQ(1.f, gestureEvent->data.scrollUpdate.deltaY); |
+} |
+ |
TEST(BlinkEventUtilTest, TouchEventCoalescing) { |
blink::WebTouchPoint touch_point; |
touch_point.id = 1; |