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

Side by Side Diff: ui/chromeos/touch_exploration_controller.cc

Issue 358693004: Added touch event permutations test to touch_exploration_controller. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@new_passthrough
Patch Set: rebased again because failure to apply the patch Created 6 years, 5 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "ui/chromeos/touch_exploration_controller.h" 5 #include "ui/chromeos/touch_exploration_controller.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "ui/aura/client/cursor_client.h" 9 #include "ui/aura/client/cursor_client.h"
10 #include "ui/aura/window.h" 10 #include "ui/aura/window.h"
(...skipping 11 matching lines...) Expand all
22 // In ChromeOS, VKEY_LWIN is synonymous for the search key. 22 // In ChromeOS, VKEY_LWIN is synonymous for the search key.
23 const ui::KeyboardCode kChromeOSSearchKey = ui::VKEY_LWIN; 23 const ui::KeyboardCode kChromeOSSearchKey = ui::VKEY_LWIN;
24 } // namespace 24 } // namespace
25 25
26 TouchExplorationController::TouchExplorationController( 26 TouchExplorationController::TouchExplorationController(
27 aura::Window* root_window) 27 aura::Window* root_window)
28 : root_window_(root_window), 28 : root_window_(root_window),
29 state_(NO_FINGERS_DOWN), 29 state_(NO_FINGERS_DOWN),
30 event_handler_for_testing_(NULL), 30 event_handler_for_testing_(NULL),
31 gesture_provider_(this), 31 gesture_provider_(this),
32 prev_state_(NO_FINGERS_DOWN) { 32 prev_state_(NO_FINGERS_DOWN),
33 VLOG_on_(true) {
33 CHECK(root_window); 34 CHECK(root_window);
34 root_window->GetHost()->GetEventSource()->AddEventRewriter(this); 35 root_window->GetHost()->GetEventSource()->AddEventRewriter(this);
35 } 36 }
36 37
37 38
38 TouchExplorationController::~TouchExplorationController() { 39 TouchExplorationController::~TouchExplorationController() {
39 root_window_->GetHost()->GetEventSource()->RemoveEventRewriter(this); 40 root_window_->GetHost()->GetEventSource()->RemoveEventRewriter(this);
40 } 41 }
41 42
42 void TouchExplorationController::CallTapTimerNowForTesting() { 43 void TouchExplorationController::CallTapTimerNowForTesting() {
43 DCHECK(tap_timer_.IsRunning()); 44 DCHECK(tap_timer_.IsRunning());
44 tap_timer_.Stop(); 45 tap_timer_.Stop();
45 OnTapTimerFired(); 46 OnTapTimerFired();
46 } 47 }
47 48
49 void TouchExplorationController::CallTapTimerNowIfRunningForTesting() {
50 if (tap_timer_.IsRunning()) {
51 tap_timer_.Stop();
52 OnTapTimerFired();
53 }
54 }
55
48 void TouchExplorationController::SetEventHandlerForTesting( 56 void TouchExplorationController::SetEventHandlerForTesting(
49 ui::EventHandler* event_handler_for_testing) { 57 ui::EventHandler* event_handler_for_testing) {
50 event_handler_for_testing_ = event_handler_for_testing; 58 event_handler_for_testing_ = event_handler_for_testing;
51 } 59 }
52 60
53 bool TouchExplorationController::IsInNoFingersDownStateForTesting() const { 61 bool TouchExplorationController::IsInNoFingersDownStateForTesting() const {
54 return state_ == NO_FINGERS_DOWN; 62 return state_ == NO_FINGERS_DOWN;
55 } 63 }
56 64
57 bool TouchExplorationController::IsInGestureInProgressStateForTesting() const { 65 bool TouchExplorationController::IsInGestureInProgressStateForTesting() const {
58 return state_ == GESTURE_IN_PROGRESS; 66 return state_ == GESTURE_IN_PROGRESS;
59 } 67 }
60 68
69 void TouchExplorationController::SuppressVLOGsForTesting(bool suppress) {
70 VLOG_on_ = !suppress;
71 }
72
61 ui::EventRewriteStatus TouchExplorationController::RewriteEvent( 73 ui::EventRewriteStatus TouchExplorationController::RewriteEvent(
62 const ui::Event& event, 74 const ui::Event& event,
63 scoped_ptr<ui::Event>* rewritten_event) { 75 scoped_ptr<ui::Event>* rewritten_event) {
64 if (!event.IsTouchEvent()) { 76 if (!event.IsTouchEvent()) {
65 if (event.IsKeyEvent()) { 77 if (event.IsKeyEvent()) {
66 const ui::KeyEvent& key_event = static_cast<const ui::KeyEvent&>(event); 78 const ui::KeyEvent& key_event = static_cast<const ui::KeyEvent&>(event);
67 VLOG(0) << "\nKeyboard event: " << key_event.name() << "\n" 79 VLOG(0) << "\nKeyboard event: " << key_event.name()
68 << " Key code: " << key_event.key_code() 80 << "\n Key code: " << key_event.key_code()
69 << ", Flags: " << key_event.flags() 81 << ", Flags: " << key_event.flags()
70 << ", Is char: " << key_event.is_char(); 82 << ", Is char: " << key_event.is_char();
71 } 83 }
72 return ui::EVENT_REWRITE_CONTINUE; 84 return ui::EVENT_REWRITE_CONTINUE;
73 } 85 }
74 const ui::TouchEvent& touch_event = static_cast<const ui::TouchEvent&>(event); 86 const ui::TouchEvent& touch_event = static_cast<const ui::TouchEvent&>(event);
75 87
76 // If the tap timer should have fired by now but hasn't, run it now and 88 // If the tap timer should have fired by now but hasn't, run it now and
77 // stop the timer. This is important so that behavior is consistent with 89 // stop the timer. This is important so that behavior is consistent with
78 // the timestamps of the events, and not dependent on the granularity of 90 // the timestamps of the events, and not dependent on the granularity of
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 gesture_detector_config_.double_tap_timeout, 173 gesture_detector_config_.double_tap_timeout,
162 this, 174 this,
163 &TouchExplorationController::OnTapTimerFired); 175 &TouchExplorationController::OnTapTimerFired);
164 gesture_provider_.OnTouchEvent(event); 176 gesture_provider_.OnTouchEvent(event);
165 gesture_provider_.OnTouchEventAck(false); 177 gesture_provider_.OnTouchEventAck(false);
166 ProcessGestureEvents(); 178 ProcessGestureEvents();
167 state_ = SINGLE_TAP_PRESSED; 179 state_ = SINGLE_TAP_PRESSED;
168 VLOG_STATE(); 180 VLOG_STATE();
169 return ui::EVENT_REWRITE_DISCARD; 181 return ui::EVENT_REWRITE_DISCARD;
170 } 182 }
171 NOTREACHED() << "Unexpected event type received."; 183 NOTREACHED() << "Unexpected event type received: " << event.name();;
172 return ui::EVENT_REWRITE_CONTINUE; 184 return ui::EVENT_REWRITE_CONTINUE;
173 } 185 }
174 186
175 ui::EventRewriteStatus TouchExplorationController::InSingleTapPressed( 187 ui::EventRewriteStatus TouchExplorationController::InSingleTapPressed(
176 const ui::TouchEvent& event, scoped_ptr<ui::Event>* rewritten_event) { 188 const ui::TouchEvent& event, scoped_ptr<ui::Event>* rewritten_event) {
177 const ui::EventType type = event.type(); 189 const ui::EventType type = event.type();
178 190
179 if (type == ui::ET_TOUCH_PRESSED) { 191 if (type == ui::ET_TOUCH_PRESSED) {
180 // Adding a second finger within the timeout period switches to 192 // Adding a second finger within the timeout period switches to
181 // passing through every event from the second finger and none form the 193 // passing through every event from the second finger and none form the
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 if (velocity > gesture_detector_config_.minimum_swipe_velocity) { 227 if (velocity > gesture_detector_config_.minimum_swipe_velocity) {
216 state_ = GESTURE_IN_PROGRESS; 228 state_ = GESTURE_IN_PROGRESS;
217 VLOG_STATE(); 229 VLOG_STATE();
218 return InGestureInProgress(event, rewritten_event); 230 return InGestureInProgress(event, rewritten_event);
219 } 231 }
220 EnterTouchToMouseMode(); 232 EnterTouchToMouseMode();
221 state_ = TOUCH_EXPLORATION; 233 state_ = TOUCH_EXPLORATION;
222 VLOG_STATE(); 234 VLOG_STATE();
223 return InTouchExploration(event, rewritten_event); 235 return InTouchExploration(event, rewritten_event);
224 } 236 }
225 NOTREACHED() << "Unexpected event type received."; 237 NOTREACHED() << "Unexpected event type received: " << event.name();;
226 return ui::EVENT_REWRITE_CONTINUE; 238 return ui::EVENT_REWRITE_CONTINUE;
227 } 239 }
228 240
229 ui::EventRewriteStatus 241 ui::EventRewriteStatus
230 TouchExplorationController::InSingleTapOrTouchExploreReleased( 242 TouchExplorationController::InSingleTapOrTouchExploreReleased(
231 const ui::TouchEvent& event, 243 const ui::TouchEvent& event,
232 scoped_ptr<ui::Event>* rewritten_event) { 244 scoped_ptr<ui::Event>* rewritten_event) {
233 const ui::EventType type = event.type(); 245 const ui::EventType type = event.type();
234 // If there is more than one finger down, then discard to wait until only one 246 // If there is more than one finger down, then discard to wait until only one
235 // finger is or no fingers are down. 247 // finger is or no fingers are down.
(...skipping 14 matching lines...) Expand all
250 // Rewrite at location of last touch exploration. 262 // Rewrite at location of last touch exploration.
251 rewritten_event->reset( 263 rewritten_event->reset(
252 new ui::TouchEvent(ui::ET_TOUCH_PRESSED, 264 new ui::TouchEvent(ui::ET_TOUCH_PRESSED,
253 last_touch_exploration_->location(), 265 last_touch_exploration_->location(),
254 event.touch_id(), 266 event.touch_id(),
255 event.time_stamp())); 267 event.time_stamp()));
256 (*rewritten_event)->set_flags(event.flags()); 268 (*rewritten_event)->set_flags(event.flags());
257 state_ = DOUBLE_TAP_PRESSED; 269 state_ = DOUBLE_TAP_PRESSED;
258 VLOG_STATE(); 270 VLOG_STATE();
259 return ui::EVENT_REWRITE_REWRITTEN; 271 return ui::EVENT_REWRITE_REWRITTEN;
272 } else if (type == ui::ET_TOUCH_RELEASED && !last_touch_exploration_) {
273 // If the previous press was discarded, we need to also handle its
274 // release.
275 if (current_touch_ids_.size() == 0) {
276 ResetToNoFingersDown();
277 }
278 return ui::EVENT_REWRITE_DISCARD;
279 } else if (type == ui::ET_TOUCH_MOVED){
280 return ui::EVENT_REWRITE_DISCARD;
260 } 281 }
261 NOTREACHED() << "Unexpected event type received."; 282 NOTREACHED() << "Unexpected event type received: " << event.name();
262 return ui::EVENT_REWRITE_CONTINUE; 283 return ui::EVENT_REWRITE_CONTINUE;
263 } 284 }
264 285
265 ui::EventRewriteStatus TouchExplorationController::InDoubleTapPressed( 286 ui::EventRewriteStatus TouchExplorationController::InDoubleTapPressed(
266 const ui::TouchEvent& event, scoped_ptr<ui::Event>* rewritten_event) { 287 const ui::TouchEvent& event, scoped_ptr<ui::Event>* rewritten_event) {
267 const ui::EventType type = event.type(); 288 const ui::EventType type = event.type();
268 if (type == ui::ET_TOUCH_PRESSED) { 289 if (type == ui::ET_TOUCH_PRESSED) {
269 return ui::EVENT_REWRITE_DISCARD; 290 return ui::EVENT_REWRITE_DISCARD;
270 } else if (type == ui::ET_TOUCH_RELEASED || type == ui::ET_TOUCH_CANCELLED) { 291 } else if (type == ui::ET_TOUCH_RELEASED || type == ui::ET_TOUCH_CANCELLED) {
271 if (current_touch_ids_.size() != 0) 292 if (current_touch_ids_.size() != 0)
272 return EVENT_REWRITE_DISCARD; 293 return EVENT_REWRITE_DISCARD;
273 294
274 // Rewrite release at location of last touch exploration with the same 295 // Rewrite release at location of last touch exploration with the same
275 // id as the previous press. 296 // id as the previous press.
276 rewritten_event->reset( 297 rewritten_event->reset(
277 new ui::TouchEvent(ui::ET_TOUCH_RELEASED, 298 new ui::TouchEvent(ui::ET_TOUCH_RELEASED,
278 last_touch_exploration_->location(), 299 last_touch_exploration_->location(),
279 initial_press_->touch_id(), 300 initial_press_->touch_id(),
280 event.time_stamp())); 301 event.time_stamp()));
281 (*rewritten_event)->set_flags(event.flags()); 302 (*rewritten_event)->set_flags(event.flags());
282 ResetToNoFingersDown(); 303 ResetToNoFingersDown();
283 return ui::EVENT_REWRITE_REWRITTEN; 304 return ui::EVENT_REWRITE_REWRITTEN;
284 } else if (type == ui::ET_TOUCH_MOVED) { 305 } else if (type == ui::ET_TOUCH_MOVED) {
285 return ui::EVENT_REWRITE_DISCARD; 306 return ui::EVENT_REWRITE_DISCARD;
286 } 307 }
287 NOTREACHED() << "Unexpected event type received."; 308 NOTREACHED() << "Unexpected event type received: " << event.name();
288 return ui::EVENT_REWRITE_CONTINUE; 309 return ui::EVENT_REWRITE_CONTINUE;
289 } 310 }
290 311
291 ui::EventRewriteStatus TouchExplorationController::InTouchExploration( 312 ui::EventRewriteStatus TouchExplorationController::InTouchExploration(
292 const ui::TouchEvent& event, 313 const ui::TouchEvent& event,
293 scoped_ptr<ui::Event>* rewritten_event) { 314 scoped_ptr<ui::Event>* rewritten_event) {
294 const ui::EventType type = event.type(); 315 const ui::EventType type = event.type();
295 if (type == ui::ET_TOUCH_PRESSED) { 316 if (type == ui::ET_TOUCH_PRESSED) {
296 // Handle split-tap. 317 // Handle split-tap.
297 initial_press_.reset(new TouchEvent(event)); 318 initial_press_.reset(new TouchEvent(event));
(...skipping 10 matching lines...) Expand all
308 return ui::EVENT_REWRITE_REWRITTEN; 329 return ui::EVENT_REWRITE_REWRITTEN;
309 } else if (type == ui::ET_TOUCH_RELEASED || type == ui::ET_TOUCH_CANCELLED) { 330 } else if (type == ui::ET_TOUCH_RELEASED || type == ui::ET_TOUCH_CANCELLED) {
310 initial_press_.reset(new TouchEvent(event)); 331 initial_press_.reset(new TouchEvent(event));
311 tap_timer_.Start(FROM_HERE, 332 tap_timer_.Start(FROM_HERE,
312 gesture_detector_config_.double_tap_timeout, 333 gesture_detector_config_.double_tap_timeout,
313 this, 334 this,
314 &TouchExplorationController::OnTapTimerFired); 335 &TouchExplorationController::OnTapTimerFired);
315 state_ = TOUCH_EXPLORE_RELEASED; 336 state_ = TOUCH_EXPLORE_RELEASED;
316 VLOG_STATE(); 337 VLOG_STATE();
317 } else if (type != ui::ET_TOUCH_MOVED) { 338 } else if (type != ui::ET_TOUCH_MOVED) {
318 NOTREACHED() << "Unexpected event type received."; 339 NOTREACHED() << "Unexpected event type received: " << event.name();
319 return ui::EVENT_REWRITE_CONTINUE; 340 return ui::EVENT_REWRITE_CONTINUE;
320 } 341 }
321 342
322 // Rewrite as a mouse-move event. 343 // Rewrite as a mouse-move event.
323 *rewritten_event = CreateMouseMoveEvent(event.location(), event.flags()); 344 *rewritten_event = CreateMouseMoveEvent(event.location(), event.flags());
324 last_touch_exploration_.reset(new TouchEvent(event)); 345 last_touch_exploration_.reset(new TouchEvent(event));
325 return ui::EVENT_REWRITE_REWRITTEN; 346 return ui::EVENT_REWRITE_REWRITTEN;
326 } 347 }
327 348
328 ui::EventRewriteStatus TouchExplorationController::InGestureInProgress( 349 ui::EventRewriteStatus TouchExplorationController::InGestureInProgress(
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 if (event.touch_id() == last_two_to_one_->touch_id()) { 436 if (event.touch_id() == last_two_to_one_->touch_id()) {
416 last_two_to_one_.reset(new TouchEvent(event)); 437 last_two_to_one_.reset(new TouchEvent(event));
417 rewritten_event->reset(new ui::TouchEvent(ui::ET_TOUCH_MOVED, 438 rewritten_event->reset(new ui::TouchEvent(ui::ET_TOUCH_MOVED,
418 event.location(), 439 event.location(),
419 event.touch_id(), 440 event.touch_id(),
420 event.time_stamp())); 441 event.time_stamp()));
421 (*rewritten_event)->set_flags(event.flags()); 442 (*rewritten_event)->set_flags(event.flags());
422 return ui::EVENT_REWRITE_REWRITTEN; 443 return ui::EVENT_REWRITE_REWRITTEN;
423 } 444 }
424 } 445 }
425 NOTREACHED() << "Unexpected event type received"; 446 NOTREACHED() << "Unexpected event type received: " << event.name();
426 return ui::EVENT_REWRITE_CONTINUE; 447 return ui::EVENT_REWRITE_CONTINUE;
427 } 448 }
428 449
429 ui::EventRewriteStatus TouchExplorationController::InPassthrough( 450 ui::EventRewriteStatus TouchExplorationController::InPassthrough(
430 const ui::TouchEvent& event, 451 const ui::TouchEvent& event,
431 scoped_ptr<ui::Event>* rewritten_event) { 452 scoped_ptr<ui::Event>* rewritten_event) {
432 ui::EventType type = event.type(); 453 ui::EventType type = event.type();
433 454
434 if (!(type == ui::ET_TOUCH_RELEASED || type == ui::ET_TOUCH_CANCELLED || 455 if (!(type == ui::ET_TOUCH_RELEASED || type == ui::ET_TOUCH_CANCELLED ||
435 type == ui::ET_TOUCH_MOVED || type == ui::ET_TOUCH_PRESSED)) { 456 type == ui::ET_TOUCH_MOVED || type == ui::ET_TOUCH_PRESSED)) {
436 NOTREACHED() << "Unexpected event type received."; 457 NOTREACHED() << "Unexpected event type received: " << event.name();
437 return ui::EVENT_REWRITE_CONTINUE; 458 return ui::EVENT_REWRITE_CONTINUE;
438 } 459 }
439 460
440 rewritten_event->reset(new ui::TouchEvent( 461 rewritten_event->reset(new ui::TouchEvent(
441 type, event.location(), event.touch_id(), event.time_stamp())); 462 type, event.location(), event.touch_id(), event.time_stamp()));
442 (*rewritten_event)->set_flags(event.flags()); 463 (*rewritten_event)->set_flags(event.flags());
443 464
444 if (current_touch_ids_.size() == 0) { 465 if (current_touch_ids_.size() == 0) {
445 ResetToNoFingersDown(); 466 ResetToNoFingersDown();
446 } 467 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 new ui::TouchEvent(ui::ET_TOUCH_RELEASED, 500 new ui::TouchEvent(ui::ET_TOUCH_RELEASED,
480 last_touch_exploration_->location(), 501 last_touch_exploration_->location(),
481 initial_press_->touch_id(), 502 initial_press_->touch_id(),
482 event.time_stamp())); 503 event.time_stamp()));
483 (*rewritten_event)->set_flags(event.flags()); 504 (*rewritten_event)->set_flags(event.flags());
484 EnterTouchToMouseMode(); 505 EnterTouchToMouseMode();
485 state_ = TOUCH_EXPLORATION; 506 state_ = TOUCH_EXPLORATION;
486 VLOG_STATE(); 507 VLOG_STATE();
487 return ui::EVENT_REWRITE_REWRITTEN; 508 return ui::EVENT_REWRITE_REWRITTEN;
488 } 509 }
489 NOTREACHED() << "Unexpected event type received."; 510 NOTREACHED() << "Unexpected event type received: " << event.name();
490 return ui::EVENT_REWRITE_CONTINUE; 511 return ui::EVENT_REWRITE_CONTINUE;
491 } 512 }
492 513
493 ui::EventRewriteStatus TouchExplorationController::InWaitForRelease( 514 ui::EventRewriteStatus TouchExplorationController::InWaitForRelease(
494 const ui::TouchEvent& event, 515 const ui::TouchEvent& event,
495 scoped_ptr<ui::Event>* rewritten_event) { 516 scoped_ptr<ui::Event>* rewritten_event) {
496 ui::EventType type = event.type(); 517 ui::EventType type = event.type();
497 if (!(type == ui::ET_TOUCH_PRESSED || type == ui::ET_TOUCH_MOVED || 518 if (!(type == ui::ET_TOUCH_PRESSED || type == ui::ET_TOUCH_MOVED ||
498 type == ui::ET_TOUCH_RELEASED || type == ui::ET_TOUCH_CANCELLED)) { 519 type == ui::ET_TOUCH_RELEASED || type == ui::ET_TOUCH_CANCELLED)) {
499 NOTREACHED() << "Unexpected event type received."; 520 NOTREACHED() << "Unexpected event type received: " << event.name();
500 return ui::EVENT_REWRITE_CONTINUE; 521 return ui::EVENT_REWRITE_CONTINUE;
501 } 522 }
502 if (current_touch_ids_.size() == 0) { 523 if (current_touch_ids_.size() == 0) {
503 state_ = NO_FINGERS_DOWN; 524 state_ = NO_FINGERS_DOWN;
504 VLOG_STATE(); 525 VLOG_STATE();
505 ResetToNoFingersDown(); 526 ResetToNoFingersDown();
506 } 527 }
507 return EVENT_REWRITE_DISCARD; 528 return EVENT_REWRITE_DISCARD;
508 } 529 }
509 530
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 } 654 }
634 655
635 void TouchExplorationController::ResetToNoFingersDown() { 656 void TouchExplorationController::ResetToNoFingersDown() {
636 state_ = NO_FINGERS_DOWN; 657 state_ = NO_FINGERS_DOWN;
637 VLOG_STATE(); 658 VLOG_STATE();
638 if (tap_timer_.IsRunning()) 659 if (tap_timer_.IsRunning())
639 tap_timer_.Stop(); 660 tap_timer_.Stop();
640 } 661 }
641 662
642 void TouchExplorationController::VlogState(const char* function_name) { 663 void TouchExplorationController::VlogState(const char* function_name) {
664 if (!VLOG_on_)
665 return;
643 if (prev_state_ == state_) 666 if (prev_state_ == state_)
644 return; 667 return;
645 prev_state_ = state_; 668 prev_state_ = state_;
646 const char* state_string = EnumStateToString(state_); 669 const char* state_string = EnumStateToString(state_);
647 VLOG(0) << "\n Function name: " << function_name 670 VLOG(0) << "\n Function name: " << function_name
648 << "\n State: " << state_string; 671 << "\n State: " << state_string;
649 } 672 }
650 673
651 void TouchExplorationController::VlogEvent(const ui::TouchEvent& touch_event, 674 void TouchExplorationController::VlogEvent(const ui::TouchEvent& touch_event,
652 const char* function_name) { 675 const char* function_name) {
676 if (!VLOG_on_)
677 return;
678
653 CHECK(touch_event.IsTouchEvent()); 679 CHECK(touch_event.IsTouchEvent());
654 if (prev_event_ != NULL && 680 if (prev_event_ != NULL &&
655 prev_event_->type() == touch_event.type() && 681 prev_event_->type() == touch_event.type() &&
656 prev_event_->touch_id() == touch_event.touch_id()){ 682 prev_event_->touch_id() == touch_event.touch_id()){
657 return; 683 return;
658 } 684 }
659 // The above statement prevents events of the same type and id from being 685 // The above statement prevents events of the same type and id from being
660 // printed in a row. However, if two fingers are down, they would both be 686 // printed in a row. However, if two fingers are down, they would both be
661 // moving and alternating printing move events unless we check for this. 687 // moving and alternating printing move events unless we check for this.
662 if (prev_event_ != NULL && 688 if (prev_event_ != NULL &&
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 return "TWO_TO_ONE_FINGER"; 723 return "TWO_TO_ONE_FINGER";
698 case PASSTHROUGH: 724 case PASSTHROUGH:
699 return "PASSTHROUGH"; 725 return "PASSTHROUGH";
700 case WAIT_FOR_RELEASE: 726 case WAIT_FOR_RELEASE:
701 return "WAIT_FOR_RELEASE"; 727 return "WAIT_FOR_RELEASE";
702 } 728 }
703 return "Not a state"; 729 return "Not a state";
704 } 730 }
705 731
706 } // namespace ui 732 } // namespace ui
OLDNEW
« no previous file with comments | « ui/chromeos/touch_exploration_controller.h ('k') | ui/chromeos/touch_exploration_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698