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

Side by Side Diff: content/browser/renderer_host/input/touch_event_queue_unittest.cc

Issue 235003005: Consolidate all touch/gesture related constants in content (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleanup Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "content/browser/renderer_host/input/timeout_monitor.h" 9 #include "content/browser/renderer_host/input/timeout_monitor.h"
10 #include "content/browser/renderer_host/input/touch_event_queue.h" 10 #include "content/browser/renderer_host/input/touch_event_queue.h"
(...skipping 23 matching lines...) Expand all
34 : sent_event_count_(0), 34 : sent_event_count_(0),
35 acked_event_count_(0), 35 acked_event_count_(0),
36 last_acked_event_state_(INPUT_EVENT_ACK_STATE_UNKNOWN), 36 last_acked_event_state_(INPUT_EVENT_ACK_STATE_UNKNOWN),
37 slop_length_dips_(0), 37 slop_length_dips_(0),
38 touch_scrolling_mode_(TouchEventQueue::TOUCH_SCROLLING_MODE_DEFAULT) {} 38 touch_scrolling_mode_(TouchEventQueue::TOUCH_SCROLLING_MODE_DEFAULT) {}
39 39
40 virtual ~TouchEventQueueTest() {} 40 virtual ~TouchEventQueueTest() {}
41 41
42 // testing::Test 42 // testing::Test
43 virtual void SetUp() OVERRIDE { 43 virtual void SetUp() OVERRIDE {
44 ResetQueueWithParameters(touch_scrolling_mode_, slop_length_dips_); 44 ResetQueueWithConfig(CreateConfig());
45 }
46
47 virtual void SetTouchScrollingMode(TouchEventQueue::TouchScrollingMode mode) {
48 touch_scrolling_mode_ = mode;
49 ResetQueueWithParameters(touch_scrolling_mode_, slop_length_dips_);
50 } 45 }
51 46
52 virtual void TearDown() OVERRIDE { 47 virtual void TearDown() OVERRIDE {
53 queue_.reset(); 48 queue_.reset();
54 } 49 }
55 50
56 // TouchEventQueueClient 51 // TouchEventQueueClient
57 virtual void SendTouchEventImmediately( 52 virtual void SendTouchEventImmediately(
58 const TouchEventWithLatencyInfo& event) OVERRIDE { 53 const TouchEventWithLatencyInfo& event) OVERRIDE {
59 ++sent_event_count_; 54 ++sent_event_count_;
(...skipping 17 matching lines...) Expand all
77 scoped_ptr<WebGestureEvent> followup_gesture_event = 72 scoped_ptr<WebGestureEvent> followup_gesture_event =
78 followup_gesture_event_.Pass(); 73 followup_gesture_event_.Pass();
79 queue_->OnGestureScrollEvent( 74 queue_->OnGestureScrollEvent(
80 GestureEventWithLatencyInfo(*followup_gesture_event, 75 GestureEventWithLatencyInfo(*followup_gesture_event,
81 ui::LatencyInfo())); 76 ui::LatencyInfo()));
82 } 77 }
83 } 78 }
84 79
85 protected: 80 protected:
86 81
87 void SetUpForTimeoutTesting(base::TimeDelta timeout_delay) { 82 TouchEventQueue::Config CreateConfig() {
88 queue_->SetAckTimeoutEnabled(true, timeout_delay); 83 TouchEventQueue::Config config;
84 config.touch_scrolling_mode = touch_scrolling_mode_;
85 config.touchmove_slop_suppression_length_dips = slop_length_dips_;
86 return config;
87 }
88
89 void SetTouchScrollingMode(TouchEventQueue::TouchScrollingMode mode) {
90 touch_scrolling_mode_ = mode;
91 ResetQueueWithConfig(CreateConfig());
89 } 92 }
90 93
91 void SetUpForTouchMoveSlopTesting(double slop_length_dips) { 94 void SetUpForTouchMoveSlopTesting(double slop_length_dips) {
92 slop_length_dips_ = slop_length_dips; 95 slop_length_dips_ = slop_length_dips;
93 ResetQueueWithParameters(touch_scrolling_mode_, slop_length_dips_); 96 ResetQueueWithConfig(CreateConfig());
97 }
98
99 void SetUpForTimeoutTesting(base::TimeDelta timeout_delay) {
100 TouchEventQueue::Config config = CreateConfig();
101 config.touch_ack_timeout_delay = timeout_delay;
102 config.touch_ack_timeout_supported = true;
103 ResetQueueWithConfig(config);
94 } 104 }
95 105
96 void SendTouchEvent(const WebTouchEvent& event) { 106 void SendTouchEvent(const WebTouchEvent& event) {
97 queue_->QueueEvent(TouchEventWithLatencyInfo(event, ui::LatencyInfo())); 107 queue_->QueueEvent(TouchEventWithLatencyInfo(event, ui::LatencyInfo()));
98 } 108 }
99 109
100 void SendGestureEvent(WebInputEvent::Type type) { 110 void SendGestureEvent(WebInputEvent::Type type) {
101 WebGestureEvent event; 111 WebGestureEvent event;
102 event.type = type; 112 event.type = type;
103 queue_->OnGestureScrollEvent( 113 queue_->OnGestureScrollEvent(
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 } 186 }
177 187
178 bool IsPendingAckTouchStart() const { 188 bool IsPendingAckTouchStart() const {
179 return queue_->IsPendingAckTouchStart(); 189 return queue_->IsPendingAckTouchStart();
180 } 190 }
181 191
182 void OnHasTouchEventHandlers(bool has_handlers) { 192 void OnHasTouchEventHandlers(bool has_handlers) {
183 queue_->OnHasTouchEventHandlers(has_handlers); 193 queue_->OnHasTouchEventHandlers(has_handlers);
184 } 194 }
185 195
186 void SetAckTimeoutDisabled() { 196 void SetAckTimeoutDisabled() { queue_->SetAckTimeoutEnabled(false); }
187 queue_->SetAckTimeoutEnabled(false, base::TimeDelta());
188 }
189 197
190 bool IsTimeoutEnabled() const { return queue_->ack_timeout_enabled(); } 198 bool IsTimeoutEnabled() const { return queue_->ack_timeout_enabled(); }
191 199
192 bool IsTimeoutRunning() const { return queue_->IsTimeoutRunningForTesting(); } 200 bool IsTimeoutRunning() const { return queue_->IsTimeoutRunningForTesting(); }
193 201
194 bool HasPendingAsyncTouchMove() const { 202 bool HasPendingAsyncTouchMove() const {
195 return queue_->HasPendingAsyncTouchMoveForTesting(); 203 return queue_->HasPendingAsyncTouchMoveForTesting();
196 } 204 }
197 205
198 size_t queued_event_count() const { 206 size_t queued_event_count() const {
(...skipping 21 matching lines...) Expand all
220 FROM_HERE, base::MessageLoop::QuitClosure(), delay); 228 FROM_HERE, base::MessageLoop::QuitClosure(), delay);
221 base::MessageLoop::current()->Run(); 229 base::MessageLoop::current()->Run();
222 } 230 }
223 231
224 private: 232 private:
225 void SendTouchEvent() { 233 void SendTouchEvent() {
226 SendTouchEvent(touch_event_); 234 SendTouchEvent(touch_event_);
227 touch_event_.ResetPoints(); 235 touch_event_.ResetPoints();
228 } 236 }
229 237
230 void ResetQueueWithParameters(TouchEventQueue::TouchScrollingMode mode, 238 void ResetQueueWithConfig(const TouchEventQueue::Config& config) {
231 double slop_length_dips) { 239 queue_.reset(new TouchEventQueue(this, config));
232 queue_.reset(new TouchEventQueue(this, mode, slop_length_dips));
233 queue_->OnHasTouchEventHandlers(true); 240 queue_->OnHasTouchEventHandlers(true);
234 } 241 }
235 242
236 scoped_ptr<TouchEventQueue> queue_; 243 scoped_ptr<TouchEventQueue> queue_;
237 size_t sent_event_count_; 244 size_t sent_event_count_;
238 size_t acked_event_count_; 245 size_t acked_event_count_;
239 WebTouchEvent last_sent_event_; 246 WebTouchEvent last_sent_event_;
240 WebTouchEvent last_acked_event_; 247 WebTouchEvent last_acked_event_;
241 InputEventAckState last_acked_event_state_; 248 InputEventAckState last_acked_event_state_;
242 SyntheticWebTouchEvent touch_event_; 249 SyntheticWebTouchEvent touch_event_;
(...skipping 1696 matching lines...) Expand 10 before | Expand all | Expand 10 after
1939 EXPECT_EQ(1U, GetAndResetSentEventCount()); 1946 EXPECT_EQ(1U, GetAndResetSentEventCount());
1940 1947
1941 SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 1948 SendTouchEventAck(INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
1942 EXPECT_EQ(0U, queued_event_count()); 1949 EXPECT_EQ(0U, queued_event_count());
1943 EXPECT_EQ(WebInputEvent::TouchCancel, acked_event().type); 1950 EXPECT_EQ(WebInputEvent::TouchCancel, acked_event().type);
1944 EXPECT_EQ(1U, GetAndResetAckedEventCount()); 1951 EXPECT_EQ(1U, GetAndResetAckedEventCount());
1945 EXPECT_EQ(0U, GetAndResetSentEventCount()); 1952 EXPECT_EQ(0U, GetAndResetSentEventCount());
1946 } 1953 }
1947 1954
1948 } // namespace content 1955 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698