OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/renderer_host/input/mouse_wheel_event_queue.h" | 5 #include "content/browser/renderer_host/input/mouse_wheel_event_queue.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <utility> | 10 #include <utility> |
(...skipping 12 matching lines...) Expand all Loading... |
23 using blink::WebInputEvent; | 23 using blink::WebInputEvent; |
24 using blink::WebMouseWheelEvent; | 24 using blink::WebMouseWheelEvent; |
25 | 25 |
26 namespace content { | 26 namespace content { |
27 namespace { | 27 namespace { |
28 | 28 |
29 const float kWheelScrollX = 10; | 29 const float kWheelScrollX = 10; |
30 const float kWheelScrollY = 12; | 30 const float kWheelScrollY = 12; |
31 const float kWheelScrollGlobalX = 50; | 31 const float kWheelScrollGlobalX = 50; |
32 const float kWheelScrollGlobalY = 72; | 32 const float kWheelScrollGlobalY = 72; |
33 const int64_t kScrollEndTimeoutMs = 100; | 33 const bool kTouchpadScrollLatching = true; |
| 34 const int64_t kScrollEndTimeoutMs = kTouchpadScrollLatching ? 100 : 0; |
34 | 35 |
35 base::TimeDelta DefaultScrollEndTimeoutDelay() { | 36 base::TimeDelta DefaultScrollEndTimeoutDelay() { |
36 return base::TimeDelta::FromMilliseconds(kScrollEndTimeoutMs); | 37 return base::TimeDelta::FromMilliseconds(kScrollEndTimeoutMs); |
37 } | 38 } |
38 | 39 |
39 #define EXPECT_GESTURE_SCROLL_BEGIN_IMPL(event) \ | 40 #define EXPECT_GESTURE_SCROLL_BEGIN_IMPL(event) \ |
40 EXPECT_EQ(WebInputEvent::GestureScrollBegin, event->type); \ | 41 EXPECT_EQ(WebInputEvent::GestureScrollBegin, event->type); \ |
41 EXPECT_EQ(kWheelScrollX, event->x); \ | 42 EXPECT_EQ(kWheelScrollX, event->x); \ |
42 EXPECT_EQ(kWheelScrollY, event->y); \ | 43 EXPECT_EQ(kWheelScrollY, event->y); \ |
43 EXPECT_EQ(kWheelScrollGlobalX, event->globalX); \ | 44 EXPECT_EQ(kWheelScrollGlobalX, event->globalX); \ |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 EXPECT_EQ(WebInputEvent::MouseWheel, event->type); | 140 EXPECT_EQ(WebInputEvent::MouseWheel, event->type); |
140 | 141 |
141 } // namespace | 142 } // namespace |
142 | 143 |
143 class MouseWheelEventQueueTest : public testing::Test, | 144 class MouseWheelEventQueueTest : public testing::Test, |
144 public MouseWheelEventQueueClient { | 145 public MouseWheelEventQueueClient { |
145 public: | 146 public: |
146 MouseWheelEventQueueTest() | 147 MouseWheelEventQueueTest() |
147 : acked_event_count_(0), | 148 : acked_event_count_(0), |
148 last_acked_event_state_(INPUT_EVENT_ACK_STATE_UNKNOWN) { | 149 last_acked_event_state_(INPUT_EVENT_ACK_STATE_UNKNOWN) { |
149 queue_.reset(new MouseWheelEventQueue(this, kScrollEndTimeoutMs)); | 150 queue_.reset(new MouseWheelEventQueue(this, kTouchpadScrollLatching)); |
150 } | 151 } |
151 | 152 |
152 ~MouseWheelEventQueueTest() override {} | 153 ~MouseWheelEventQueueTest() override {} |
153 | 154 |
154 // MouseWheelEventQueueClient | 155 // MouseWheelEventQueueClient |
155 void SendMouseWheelEventImmediately( | 156 void SendMouseWheelEventImmediately( |
156 const MouseWheelEventWithLatencyInfo& event) override { | 157 const MouseWheelEventWithLatencyInfo& event) override { |
157 WebMouseWheelEvent* cloned_event = new WebMouseWheelEvent(); | 158 WebMouseWheelEvent* cloned_event = new WebMouseWheelEvent(); |
158 std::unique_ptr<WebInputEvent> cloned_event_holder(cloned_event); | 159 std::unique_ptr<WebInputEvent> cloned_event_holder(cloned_event); |
159 *cloned_event = event.event; | 160 *cloned_event = event.event; |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
552 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 553 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
553 EXPECT_EQ(2U, all_sent_events().size()); | 554 EXPECT_EQ(2U, all_sent_events().size()); |
554 EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); | 555 EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
555 EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); | 556 EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); |
556 EXPECT_EQ(0U, sent_gesture_event(1)->data.scrollUpdate.deltaX); | 557 EXPECT_EQ(0U, sent_gesture_event(1)->data.scrollUpdate.deltaX); |
557 EXPECT_EQ(1U, sent_gesture_event(1)->data.scrollUpdate.deltaY); | 558 EXPECT_EQ(1U, sent_gesture_event(1)->data.scrollUpdate.deltaY); |
558 EXPECT_EQ(2U, GetAndResetSentEventCount()); | 559 EXPECT_EQ(2U, GetAndResetSentEventCount()); |
559 } | 560 } |
560 | 561 |
561 } // namespace content | 562 } // namespace content |
OLD | NEW |