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

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

Issue 260923003: Revert of Consolidate all touch/gesture related constants in content (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "content/browser/renderer_host/input/tap_suppression_controller.h" 7 #include "content/browser/renderer_host/input/tap_suppression_controller.h"
8 #include "content/browser/renderer_host/input/tap_suppression_controller_client. h" 8 #include "content/browser/renderer_host/input/tap_suppression_controller_client. h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 using base::TimeDelta; 11 using base::TimeDelta;
12 12
13 namespace content { 13 namespace content {
14 14
15 class MockTapSuppressionController : public TapSuppressionController, 15 class MockTapSuppressionController : public TapSuppressionController,
16 public TapSuppressionControllerClient { 16 public TapSuppressionControllerClient {
17 public: 17 public:
18 using TapSuppressionController::DISABLED;
19 using TapSuppressionController::NOTHING; 18 using TapSuppressionController::NOTHING;
20 using TapSuppressionController::GFC_IN_PROGRESS; 19 using TapSuppressionController::GFC_IN_PROGRESS;
21 using TapSuppressionController::TAP_DOWN_STASHED; 20 using TapSuppressionController::TAP_DOWN_STASHED;
22 using TapSuppressionController::LAST_CANCEL_STOPPED_FLING; 21 using TapSuppressionController::LAST_CANCEL_STOPPED_FLING;
23 22
24 enum Action { 23 enum Action {
25 NONE = 0, 24 NONE = 0,
26 TAP_DOWN_DEFERRED = 1 << 0, 25 TAP_DOWN_DEFERRED = 1 << 0,
27 TAP_DOWN_FORWARDED = 1 << 1, 26 TAP_DOWN_FORWARDED = 1 << 1,
28 TAP_DOWN_DROPPED = 1 << 2, 27 TAP_DOWN_DROPPED = 1 << 2,
29 TAP_UP_SUPPRESSED = 1 << 3, 28 TAP_UP_SUPPRESSED = 1 << 3,
30 TAP_UP_FORWARDED = 1 << 4, 29 TAP_UP_FORWARDED = 1 << 4,
31 TAP_CANCEL_SUPPRESSED = 1 << 5, 30 TAP_CANCEL_SUPPRESSED = 1 << 5,
32 TAP_CANCEL_FORWARDED = 1 << 6, 31 TAP_CANCEL_FORWARDED = 1 << 6,
33 STASHED_TAP_DOWN_FORWARDED = 1 << 7, 32 STASHED_TAP_DOWN_FORWARDED = 1 << 7,
34 }; 33 };
35 34
36 MockTapSuppressionController(const TapSuppressionController::Config& config) 35 MockTapSuppressionController()
37 : TapSuppressionController(this, config), 36 : TapSuppressionController(this),
37 max_cancel_to_down_time_in_ms_(1),
38 max_tap_gap_time_in_ms_(1),
38 last_actions_(NONE), 39 last_actions_(NONE),
39 time_(), 40 time_(),
40 timer_started_(false) { 41 timer_started_(false) {
41 } 42 }
42 43
43 virtual ~MockTapSuppressionController() {} 44 virtual ~MockTapSuppressionController() {}
44 45
45 void SendGestureFlingCancel() { 46 void SendGestureFlingCancel() {
46 last_actions_ = NONE; 47 last_actions_ = NONE;
47 GestureFlingCancel(); 48 GestureFlingCancel();
(...skipping 30 matching lines...) Expand all
78 79
79 void AdvanceTime(const base::TimeDelta& delta) { 80 void AdvanceTime(const base::TimeDelta& delta) {
80 last_actions_ = NONE; 81 last_actions_ = NONE;
81 time_ += delta; 82 time_ += delta;
82 if (timer_started_ && time_ >= timer_expiry_time_) { 83 if (timer_started_ && time_ >= timer_expiry_time_) {
83 timer_started_ = false; 84 timer_started_ = false;
84 TapDownTimerExpired(); 85 TapDownTimerExpired();
85 } 86 }
86 } 87 }
87 88
89 void set_max_cancel_to_down_time_in_ms(int val) {
90 max_cancel_to_down_time_in_ms_ = val;
91 }
92
93 void set_max_tap_gap_time_in_ms(int val) {
94 max_tap_gap_time_in_ms_ = val;
95 }
96
88 State state() { return state_; } 97 State state() { return state_; }
89 98
90 int last_actions() { return last_actions_; } 99 int last_actions() { return last_actions_; }
91 100
92 protected: 101 protected:
93 virtual base::TimeTicks Now() OVERRIDE { 102 virtual base::TimeTicks Now() OVERRIDE {
94 return time_; 103 return time_;
95 } 104 }
96 105
97 virtual void StartTapDownTimer(const base::TimeDelta& delay) OVERRIDE { 106 virtual void StartTapDownTimer(const base::TimeDelta& delay) OVERRIDE {
98 timer_expiry_time_ = time_ + delay; 107 timer_expiry_time_ = time_ + delay;
99 timer_started_ = true; 108 timer_started_ = true;
100 } 109 }
101 110
102 virtual void StopTapDownTimer() OVERRIDE { 111 virtual void StopTapDownTimer() OVERRIDE {
103 timer_started_ = false; 112 timer_started_ = false;
104 } 113 }
105 114
106 private: 115 private:
107 // TapSuppressionControllerClient implementation 116 // TapSuppressionControllerClient implementation
117 virtual int MaxCancelToDownTimeInMs() OVERRIDE {
118 return max_cancel_to_down_time_in_ms_;
119 }
120
121 virtual int MaxTapGapTimeInMs() OVERRIDE {
122 return max_tap_gap_time_in_ms_;
123 }
124
108 virtual void DropStashedTapDown() OVERRIDE { 125 virtual void DropStashedTapDown() OVERRIDE {
109 last_actions_ |= TAP_DOWN_DROPPED; 126 last_actions_ |= TAP_DOWN_DROPPED;
110 } 127 }
111 128
112 virtual void ForwardStashedTapDown() OVERRIDE { 129 virtual void ForwardStashedTapDown() OVERRIDE {
113 last_actions_ |= STASHED_TAP_DOWN_FORWARDED; 130 last_actions_ |= STASHED_TAP_DOWN_FORWARDED;
114 } 131 }
115 132
116 // Hiding some derived public methods 133 // Hiding some derived public methods
117 using TapSuppressionController::GestureFlingCancel; 134 using TapSuppressionController::GestureFlingCancel;
118 using TapSuppressionController::GestureFlingCancelAck; 135 using TapSuppressionController::GestureFlingCancelAck;
119 using TapSuppressionController::ShouldDeferTapDown; 136 using TapSuppressionController::ShouldDeferTapDown;
120 using TapSuppressionController::ShouldSuppressTapEnd; 137 using TapSuppressionController::ShouldSuppressTapEnd;
121 138
139 int max_cancel_to_down_time_in_ms_;
140 int max_tap_gap_time_in_ms_;
141
122 int last_actions_; 142 int last_actions_;
123 143
124 base::TimeTicks time_; 144 base::TimeTicks time_;
125 bool timer_started_; 145 bool timer_started_;
126 base::TimeTicks timer_expiry_time_; 146 base::TimeTicks timer_expiry_time_;
127 147
128 DISALLOW_COPY_AND_ASSIGN(MockTapSuppressionController); 148 DISALLOW_COPY_AND_ASSIGN(MockTapSuppressionController);
129 }; 149 };
130 150
131 class TapSuppressionControllerTest : public testing::Test { 151 class TapSuppressionControllerTest : public testing::Test {
132 public: 152 public:
133 TapSuppressionControllerTest() { 153 TapSuppressionControllerTest() {
134 } 154 }
135 virtual ~TapSuppressionControllerTest() { 155 virtual ~TapSuppressionControllerTest() {
136 } 156 }
137 157
138 protected: 158 protected:
139 // testing::Test 159 // testing::Test
140 virtual void SetUp() { 160 virtual void SetUp() {
141 tap_suppression_controller_.reset( 161 tap_suppression_controller_.reset(new MockTapSuppressionController());
142 new MockTapSuppressionController(GetConfig()));
143 } 162 }
144 163
145 virtual void TearDown() { 164 virtual void TearDown() {
146 tap_suppression_controller_.reset(); 165 tap_suppression_controller_.reset();
147 } 166 }
148 167
149 static TapSuppressionController::Config GetConfig() {
150 TapSuppressionController::Config config;
151 config.enabled = true;
152 config.max_cancel_to_down_time = base::TimeDelta::FromMilliseconds(10);
153 config.max_tap_gap_time = base::TimeDelta::FromMilliseconds(10);
154 return config;
155 }
156
157 scoped_ptr<MockTapSuppressionController> tap_suppression_controller_; 168 scoped_ptr<MockTapSuppressionController> tap_suppression_controller_;
158 }; 169 };
159 170
160 // Test TapSuppressionController for when GestureFlingCancel Ack comes before 171 // Test TapSuppressionController for when GestureFlingCancel Ack comes before
161 // TapDown and everything happens without any delays. 172 // TapDown and everything happens without any delays.
162 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapFast) { 173 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapFast) {
174 tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10);
175 tap_suppression_controller_->set_max_tap_gap_time_in_ms(10);
176
163 // Send GestureFlingCancel. 177 // Send GestureFlingCancel.
164 tap_suppression_controller_->SendGestureFlingCancel(); 178 tap_suppression_controller_->SendGestureFlingCancel();
165 EXPECT_EQ(MockTapSuppressionController::NONE, 179 EXPECT_EQ(MockTapSuppressionController::NONE,
166 tap_suppression_controller_->last_actions()); 180 tap_suppression_controller_->last_actions());
167 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS, 181 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS,
168 tap_suppression_controller_->state()); 182 tap_suppression_controller_->state());
169 183
170 // Send GestureFlingCancel Ack. 184 // Send GestureFlingCancel Ack.
171 tap_suppression_controller_->SendGestureFlingCancelAck(true); 185 tap_suppression_controller_->SendGestureFlingCancelAck(true);
172 EXPECT_EQ(MockTapSuppressionController::NONE, 186 EXPECT_EQ(MockTapSuppressionController::NONE,
(...skipping 13 matching lines...) Expand all
186 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED | 200 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED |
187 MockTapSuppressionController::TAP_DOWN_DROPPED, 201 MockTapSuppressionController::TAP_DOWN_DROPPED,
188 tap_suppression_controller_->last_actions()); 202 tap_suppression_controller_->last_actions());
189 EXPECT_EQ(MockTapSuppressionController::NOTHING, 203 EXPECT_EQ(MockTapSuppressionController::NOTHING,
190 tap_suppression_controller_->state()); 204 tap_suppression_controller_->state());
191 } 205 }
192 206
193 // Test TapSuppressionController for when GestureFlingCancel Ack comes before 207 // Test TapSuppressionController for when GestureFlingCancel Ack comes before
194 // TapDown, but there is a small delay between TapDown and TapUp. 208 // TapDown, but there is a small delay between TapDown and TapUp.
195 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapInsufficientlyLateTapUp) { 209 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapInsufficientlyLateTapUp) {
210 tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10);
211 tap_suppression_controller_->set_max_tap_gap_time_in_ms(10);
212
196 // Send GestureFlingCancel. 213 // Send GestureFlingCancel.
197 tap_suppression_controller_->SendGestureFlingCancel(); 214 tap_suppression_controller_->SendGestureFlingCancel();
198 EXPECT_EQ(MockTapSuppressionController::NONE, 215 EXPECT_EQ(MockTapSuppressionController::NONE,
199 tap_suppression_controller_->last_actions()); 216 tap_suppression_controller_->last_actions());
200 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS, 217 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS,
201 tap_suppression_controller_->state()); 218 tap_suppression_controller_->state());
202 219
203 // Send GestureFlingCancel Ack. 220 // Send GestureFlingCancel Ack.
204 tap_suppression_controller_->SendGestureFlingCancelAck(true); 221 tap_suppression_controller_->SendGestureFlingCancelAck(true);
205 EXPECT_EQ(MockTapSuppressionController::NONE, 222 EXPECT_EQ(MockTapSuppressionController::NONE,
(...skipping 21 matching lines...) Expand all
227 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED | 244 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED |
228 MockTapSuppressionController::TAP_DOWN_DROPPED, 245 MockTapSuppressionController::TAP_DOWN_DROPPED,
229 tap_suppression_controller_->last_actions()); 246 tap_suppression_controller_->last_actions());
230 EXPECT_EQ(MockTapSuppressionController::NOTHING, 247 EXPECT_EQ(MockTapSuppressionController::NOTHING,
231 tap_suppression_controller_->state()); 248 tap_suppression_controller_->state());
232 } 249 }
233 250
234 // Test TapSuppressionController for when GestureFlingCancel Ack comes before 251 // Test TapSuppressionController for when GestureFlingCancel Ack comes before
235 // TapDown, but there is a long delay between TapDown and TapUp. 252 // TapDown, but there is a long delay between TapDown and TapUp.
236 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapSufficientlyLateTapUp) { 253 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapSufficientlyLateTapUp) {
254 tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10);
255 tap_suppression_controller_->set_max_tap_gap_time_in_ms(10);
256
237 // Send GestureFlingCancel. 257 // Send GestureFlingCancel.
238 tap_suppression_controller_->SendGestureFlingCancel(); 258 tap_suppression_controller_->SendGestureFlingCancel();
239 EXPECT_EQ(MockTapSuppressionController::NONE, 259 EXPECT_EQ(MockTapSuppressionController::NONE,
240 tap_suppression_controller_->last_actions()); 260 tap_suppression_controller_->last_actions());
241 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS, 261 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS,
242 tap_suppression_controller_->state()); 262 tap_suppression_controller_->state());
243 263
244 // Send processed GestureFlingCancel Ack. 264 // Send processed GestureFlingCancel Ack.
245 tap_suppression_controller_->SendGestureFlingCancelAck(true); 265 tap_suppression_controller_->SendGestureFlingCancelAck(true);
246 EXPECT_EQ(MockTapSuppressionController::NONE, 266 EXPECT_EQ(MockTapSuppressionController::NONE,
(...skipping 20 matching lines...) Expand all
267 tap_suppression_controller_->SendTapUp(); 287 tap_suppression_controller_->SendTapUp();
268 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED, 288 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED,
269 tap_suppression_controller_->last_actions()); 289 tap_suppression_controller_->last_actions());
270 EXPECT_EQ(MockTapSuppressionController::NOTHING, 290 EXPECT_EQ(MockTapSuppressionController::NOTHING,
271 tap_suppression_controller_->state()); 291 tap_suppression_controller_->state());
272 } 292 }
273 293
274 // Test TapSuppressionController for when GestureFlingCancel Ack comes before 294 // Test TapSuppressionController for when GestureFlingCancel Ack comes before
275 // TapDown, but there is a small delay between the Ack and TapDown. 295 // TapDown, but there is a small delay between the Ack and TapDown.
276 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapInsufficientlyLateTapDown) { 296 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapInsufficientlyLateTapDown) {
297 tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10);
298 tap_suppression_controller_->set_max_tap_gap_time_in_ms(10);
299
277 // Send GestureFlingCancel. 300 // Send GestureFlingCancel.
278 tap_suppression_controller_->SendGestureFlingCancel(); 301 tap_suppression_controller_->SendGestureFlingCancel();
279 EXPECT_EQ(MockTapSuppressionController::NONE, 302 EXPECT_EQ(MockTapSuppressionController::NONE,
280 tap_suppression_controller_->last_actions()); 303 tap_suppression_controller_->last_actions());
281 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS, 304 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS,
282 tap_suppression_controller_->state()); 305 tap_suppression_controller_->state());
283 306
284 // Send GestureFlingCancel Ack. 307 // Send GestureFlingCancel Ack.
285 tap_suppression_controller_->SendGestureFlingCancelAck(true); 308 tap_suppression_controller_->SendGestureFlingCancelAck(true);
286 EXPECT_EQ(MockTapSuppressionController::NONE, 309 EXPECT_EQ(MockTapSuppressionController::NONE,
(...skipping 21 matching lines...) Expand all
308 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED | 331 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED |
309 MockTapSuppressionController::TAP_DOWN_DROPPED, 332 MockTapSuppressionController::TAP_DOWN_DROPPED,
310 tap_suppression_controller_->last_actions()); 333 tap_suppression_controller_->last_actions());
311 EXPECT_EQ(MockTapSuppressionController::NOTHING, 334 EXPECT_EQ(MockTapSuppressionController::NOTHING,
312 tap_suppression_controller_->state()); 335 tap_suppression_controller_->state());
313 } 336 }
314 337
315 // Test TapSuppressionController for when GestureFlingCancel Ack comes before 338 // Test TapSuppressionController for when GestureFlingCancel Ack comes before
316 // TapDown, but there is a long delay between the Ack and TapDown. 339 // TapDown, but there is a long delay between the Ack and TapDown.
317 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapSufficientlyLateTapDown) { 340 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapSufficientlyLateTapDown) {
341 tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10);
342 tap_suppression_controller_->set_max_tap_gap_time_in_ms(10);
343
318 // Send GestureFlingCancel. 344 // Send GestureFlingCancel.
319 tap_suppression_controller_->SendGestureFlingCancel(); 345 tap_suppression_controller_->SendGestureFlingCancel();
320 EXPECT_EQ(MockTapSuppressionController::NONE, 346 EXPECT_EQ(MockTapSuppressionController::NONE,
321 tap_suppression_controller_->last_actions()); 347 tap_suppression_controller_->last_actions());
322 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS, 348 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS,
323 tap_suppression_controller_->state()); 349 tap_suppression_controller_->state());
324 350
325 // Send GestureFlingCancel Ack. 351 // Send GestureFlingCancel Ack.
326 tap_suppression_controller_->SendGestureFlingCancelAck(true); 352 tap_suppression_controller_->SendGestureFlingCancelAck(true);
327 EXPECT_EQ(MockTapSuppressionController::NONE, 353 EXPECT_EQ(MockTapSuppressionController::NONE,
(...skipping 20 matching lines...) Expand all
348 tap_suppression_controller_->SendTapUp(); 374 tap_suppression_controller_->SendTapUp();
349 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED, 375 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED,
350 tap_suppression_controller_->last_actions()); 376 tap_suppression_controller_->last_actions());
351 EXPECT_EQ(MockTapSuppressionController::NOTHING, 377 EXPECT_EQ(MockTapSuppressionController::NOTHING,
352 tap_suppression_controller_->state()); 378 tap_suppression_controller_->state());
353 } 379 }
354 380
355 // Test TapSuppressionController for when unprocessed GestureFlingCancel Ack 381 // Test TapSuppressionController for when unprocessed GestureFlingCancel Ack
356 // comes after TapDown and everything happens without any delay. 382 // comes after TapDown and everything happens without any delay.
357 TEST_F(TapSuppressionControllerTest, GFCAckUnprocessedAfterTapFast) { 383 TEST_F(TapSuppressionControllerTest, GFCAckUnprocessedAfterTapFast) {
384 tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10);
385 tap_suppression_controller_->set_max_tap_gap_time_in_ms(10);
386
358 // Send GestureFlingCancel. 387 // Send GestureFlingCancel.
359 tap_suppression_controller_->SendGestureFlingCancel(); 388 tap_suppression_controller_->SendGestureFlingCancel();
360 EXPECT_EQ(MockTapSuppressionController::NONE, 389 EXPECT_EQ(MockTapSuppressionController::NONE,
361 tap_suppression_controller_->last_actions()); 390 tap_suppression_controller_->last_actions());
362 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS, 391 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS,
363 tap_suppression_controller_->state()); 392 tap_suppression_controller_->state());
364 393
365 // Send TapDown. This TapDown should be suppressed, for now. 394 // Send TapDown. This TapDown should be suppressed, for now.
366 tap_suppression_controller_->SendTapDown(); 395 tap_suppression_controller_->SendTapDown();
367 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED, 396 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED,
(...skipping 13 matching lines...) Expand all
381 tap_suppression_controller_->SendTapUp(); 410 tap_suppression_controller_->SendTapUp();
382 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED, 411 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED,
383 tap_suppression_controller_->last_actions()); 412 tap_suppression_controller_->last_actions());
384 EXPECT_EQ(MockTapSuppressionController::NOTHING, 413 EXPECT_EQ(MockTapSuppressionController::NOTHING,
385 tap_suppression_controller_->state()); 414 tap_suppression_controller_->state());
386 } 415 }
387 416
388 // Test TapSuppressionController for when processed GestureFlingCancel Ack comes 417 // Test TapSuppressionController for when processed GestureFlingCancel Ack comes
389 // after TapDown and everything happens without any delay. 418 // after TapDown and everything happens without any delay.
390 TEST_F(TapSuppressionControllerTest, GFCAckProcessedAfterTapFast) { 419 TEST_F(TapSuppressionControllerTest, GFCAckProcessedAfterTapFast) {
420 tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10);
421 tap_suppression_controller_->set_max_tap_gap_time_in_ms(10);
422
391 // Send GestureFlingCancel. 423 // Send GestureFlingCancel.
392 tap_suppression_controller_->SendGestureFlingCancel(); 424 tap_suppression_controller_->SendGestureFlingCancel();
393 EXPECT_EQ(MockTapSuppressionController::NONE, 425 EXPECT_EQ(MockTapSuppressionController::NONE,
394 tap_suppression_controller_->last_actions()); 426 tap_suppression_controller_->last_actions());
395 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS, 427 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS,
396 tap_suppression_controller_->state()); 428 tap_suppression_controller_->state());
397 429
398 // Send TapDown. This TapDown should be suppressed. 430 // Send TapDown. This TapDown should be suppressed.
399 tap_suppression_controller_->SendTapDown(); 431 tap_suppression_controller_->SendTapDown();
400 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED, 432 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED,
(...skipping 13 matching lines...) Expand all
414 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED | 446 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED |
415 MockTapSuppressionController::TAP_DOWN_DROPPED, 447 MockTapSuppressionController::TAP_DOWN_DROPPED,
416 tap_suppression_controller_->last_actions()); 448 tap_suppression_controller_->last_actions());
417 EXPECT_EQ(MockTapSuppressionController::NOTHING, 449 EXPECT_EQ(MockTapSuppressionController::NOTHING,
418 tap_suppression_controller_->state()); 450 tap_suppression_controller_->state());
419 } 451 }
420 452
421 // Test TapSuppressionController for when GestureFlingCancel Ack comes after 453 // Test TapSuppressionController for when GestureFlingCancel Ack comes after
422 // TapDown and there is a small delay between the Ack and TapUp. 454 // TapDown and there is a small delay between the Ack and TapUp.
423 TEST_F(TapSuppressionControllerTest, GFCAckAfterTapInsufficientlyLateTapUp) { 455 TEST_F(TapSuppressionControllerTest, GFCAckAfterTapInsufficientlyLateTapUp) {
456 tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10);
457 tap_suppression_controller_->set_max_tap_gap_time_in_ms(10);
458
424 // Send GestureFlingCancel. 459 // Send GestureFlingCancel.
425 tap_suppression_controller_->SendGestureFlingCancel(); 460 tap_suppression_controller_->SendGestureFlingCancel();
426 EXPECT_EQ(MockTapSuppressionController::NONE, 461 EXPECT_EQ(MockTapSuppressionController::NONE,
427 tap_suppression_controller_->last_actions()); 462 tap_suppression_controller_->last_actions());
428 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS, 463 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS,
429 tap_suppression_controller_->state()); 464 tap_suppression_controller_->state());
430 465
431 // Send TapDown. This TapDown should be suppressed. 466 // Send TapDown. This TapDown should be suppressed.
432 tap_suppression_controller_->SendTapDown(); 467 tap_suppression_controller_->SendTapDown();
433 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED, 468 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED,
(...skipping 21 matching lines...) Expand all
455 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED | 490 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED |
456 MockTapSuppressionController::TAP_DOWN_DROPPED, 491 MockTapSuppressionController::TAP_DOWN_DROPPED,
457 tap_suppression_controller_->last_actions()); 492 tap_suppression_controller_->last_actions());
458 EXPECT_EQ(MockTapSuppressionController::NOTHING, 493 EXPECT_EQ(MockTapSuppressionController::NOTHING,
459 tap_suppression_controller_->state()); 494 tap_suppression_controller_->state());
460 } 495 }
461 496
462 // Test TapSuppressionController for when GestureFlingCancel Ack comes after 497 // Test TapSuppressionController for when GestureFlingCancel Ack comes after
463 // TapDown and there is a long delay between the Ack and TapUp. 498 // TapDown and there is a long delay between the Ack and TapUp.
464 TEST_F(TapSuppressionControllerTest, GFCAckAfterTapSufficientlyLateTapUp) { 499 TEST_F(TapSuppressionControllerTest, GFCAckAfterTapSufficientlyLateTapUp) {
500 tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10);
501 tap_suppression_controller_->set_max_tap_gap_time_in_ms(10);
502
465 // Send GestureFlingCancel. 503 // Send GestureFlingCancel.
466 tap_suppression_controller_->SendGestureFlingCancel(); 504 tap_suppression_controller_->SendGestureFlingCancel();
467 EXPECT_EQ(MockTapSuppressionController::NONE, 505 EXPECT_EQ(MockTapSuppressionController::NONE,
468 tap_suppression_controller_->last_actions()); 506 tap_suppression_controller_->last_actions());
469 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS, 507 EXPECT_EQ(MockTapSuppressionController::GFC_IN_PROGRESS,
470 tap_suppression_controller_->state()); 508 tap_suppression_controller_->state());
471 509
472 // Send TapDown. This TapDown should be suppressed, for now. 510 // Send TapDown. This TapDown should be suppressed, for now.
473 tap_suppression_controller_->SendTapDown(); 511 tap_suppression_controller_->SendTapDown();
474 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED, 512 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED,
(...skipping 17 matching lines...) Expand all
492 tap_suppression_controller_->state()); 530 tap_suppression_controller_->state());
493 531
494 // Send TapUp. This TapUp should not be suppressed. 532 // Send TapUp. This TapUp should not be suppressed.
495 tap_suppression_controller_->SendTapUp(); 533 tap_suppression_controller_->SendTapUp();
496 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED, 534 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED,
497 tap_suppression_controller_->last_actions()); 535 tap_suppression_controller_->last_actions());
498 EXPECT_EQ(MockTapSuppressionController::NOTHING, 536 EXPECT_EQ(MockTapSuppressionController::NOTHING,
499 tap_suppression_controller_->state()); 537 tap_suppression_controller_->state());
500 } 538 }
501 539
502 // Test that no suppression occurs if the TapSuppressionController is disabled.
503 TEST_F(TapSuppressionControllerTest, NoSuppressionIfDisabled) {
504 TapSuppressionController::Config disabled_config;
505 disabled_config.enabled = false;
506 tap_suppression_controller_.reset(
507 new MockTapSuppressionController(disabled_config));
508
509 // Send GestureFlingCancel.
510 tap_suppression_controller_->SendGestureFlingCancel();
511 EXPECT_EQ(MockTapSuppressionController::NONE,
512 tap_suppression_controller_->last_actions());
513 EXPECT_EQ(MockTapSuppressionController::DISABLED,
514 tap_suppression_controller_->state());
515
516 // Send GestureFlingCancel Ack.
517 tap_suppression_controller_->SendGestureFlingCancelAck(true);
518 EXPECT_EQ(MockTapSuppressionController::NONE,
519 tap_suppression_controller_->last_actions());
520 EXPECT_EQ(MockTapSuppressionController::DISABLED,
521 tap_suppression_controller_->state());
522
523 // Send TapDown. This TapDown should not be suppressed.
524 tap_suppression_controller_->SendTapDown();
525 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_FORWARDED,
526 tap_suppression_controller_->last_actions());
527 EXPECT_EQ(MockTapSuppressionController::DISABLED,
528 tap_suppression_controller_->state());
529
530 // Send TapUp. This TapUp should not be suppressed.
531 tap_suppression_controller_->SendTapUp();
532 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED,
533 tap_suppression_controller_->last_actions());
534 EXPECT_EQ(MockTapSuppressionController::DISABLED,
535 tap_suppression_controller_->state());
536 }
537
538
539 } // namespace content 540 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698