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 kTouchpadAndWheelScrollLatching = true; |
34 const int64_t kScrollEndTimeoutMs = kTouchpadAndWheelScrollLatching ? 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( |
151 new MouseWheelEventQueue(this, kTouchpadAndWheelScrollLatching)); | |
dtapuska
2016/07/25 22:31:07
should this be a parameterized test? that it runs
tdresser
2016/07/26 12:19:00
+1! (https://github.com/google/googletest/blob/mas
sahel
2016/07/26 21:20:13
Done.
| |
150 } | 152 } |
151 | 153 |
152 ~MouseWheelEventQueueTest() override {} | 154 ~MouseWheelEventQueueTest() override {} |
153 | 155 |
154 // MouseWheelEventQueueClient | 156 // MouseWheelEventQueueClient |
155 void SendMouseWheelEventImmediately( | 157 void SendMouseWheelEventImmediately( |
156 const MouseWheelEventWithLatencyInfo& event) override { | 158 const MouseWheelEventWithLatencyInfo& event) override { |
157 WebMouseWheelEvent* cloned_event = new WebMouseWheelEvent(); | 159 WebMouseWheelEvent* cloned_event = new WebMouseWheelEvent(); |
158 std::unique_ptr<WebInputEvent> cloned_event_holder(cloned_event); | 160 std::unique_ptr<WebInputEvent> cloned_event_holder(cloned_event); |
159 *cloned_event = event.event; | 161 *cloned_event = event.event; |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
552 EXPECT_EQ(1U, GetAndResetAckedEventCount()); | 554 EXPECT_EQ(1U, GetAndResetAckedEventCount()); |
553 EXPECT_EQ(2U, all_sent_events().size()); | 555 EXPECT_EQ(2U, all_sent_events().size()); |
554 EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); | 556 EXPECT_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); |
555 EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); | 557 EXPECT_GESTURE_SCROLL_UPDATE(sent_gesture_event(1)); |
556 EXPECT_EQ(0U, sent_gesture_event(1)->data.scrollUpdate.deltaX); | 558 EXPECT_EQ(0U, sent_gesture_event(1)->data.scrollUpdate.deltaX); |
557 EXPECT_EQ(1U, sent_gesture_event(1)->data.scrollUpdate.deltaY); | 559 EXPECT_EQ(1U, sent_gesture_event(1)->data.scrollUpdate.deltaY); |
558 EXPECT_EQ(2U, GetAndResetSentEventCount()); | 560 EXPECT_EQ(2U, GetAndResetSentEventCount()); |
559 } | 561 } |
560 | 562 |
561 } // namespace content | 563 } // namespace content |
OLD | NEW |