| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/memory/scoped_vector.h" | 5 #include "base/memory/scoped_vector.h" |
| 6 #include "base/string_number_conversions.h" | 6 #include "base/string_number_conversions.h" |
| 7 #include "base/timer.h" | 7 #include "base/timer.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 #include "ui/aura/event.h" | 9 #include "ui/aura/event.h" |
| 10 #include "ui/aura/root_window.h" | 10 #include "ui/aura/root_window.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 return consumer && !consumer->ignores_events() ? | 29 return consumer && !consumer->ignores_events() ? |
| 30 base::IntToString(static_cast<Window*>(consumer)->id()) : "?"; | 30 base::IntToString(static_cast<Window*>(consumer)->id()) : "?"; |
| 31 } | 31 } |
| 32 | 32 |
| 33 // A delegate that keeps track of gesture events. | 33 // A delegate that keeps track of gesture events. |
| 34 class GestureEventConsumeDelegate : public TestWindowDelegate { | 34 class GestureEventConsumeDelegate : public TestWindowDelegate { |
| 35 public: | 35 public: |
| 36 GestureEventConsumeDelegate() | 36 GestureEventConsumeDelegate() |
| 37 : tap_(false), | 37 : tap_(false), |
| 38 tap_down_(false), | 38 tap_down_(false), |
| 39 tap_up_(false), | 39 begin_(false), |
| 40 end_(false), |
| 40 double_tap_(false), | 41 double_tap_(false), |
| 41 scroll_begin_(false), | 42 scroll_begin_(false), |
| 42 scroll_update_(false), | 43 scroll_update_(false), |
| 43 scroll_end_(false), | 44 scroll_end_(false), |
| 44 pinch_begin_(false), | 45 pinch_begin_(false), |
| 45 pinch_update_(false), | 46 pinch_update_(false), |
| 46 pinch_end_(false), | 47 pinch_end_(false), |
| 47 long_press_(false), | 48 long_press_(false), |
| 48 fling_(false), | 49 fling_(false), |
| 49 two_finger_tap_(false), | 50 two_finger_tap_(false), |
| 50 scroll_x_(0), | 51 scroll_x_(0), |
| 51 scroll_y_(0), | 52 scroll_y_(0), |
| 52 velocity_x_(0), | 53 velocity_x_(0), |
| 53 velocity_y_(0), | 54 velocity_y_(0), |
| 54 radius_x_(0), | 55 radius_x_(0), |
| 55 radius_y_(0) { | 56 radius_y_(0) { |
| 56 } | 57 } |
| 57 | 58 |
| 58 virtual ~GestureEventConsumeDelegate() {} | 59 virtual ~GestureEventConsumeDelegate() {} |
| 59 | 60 |
| 60 void Reset() { | 61 void Reset() { |
| 61 tap_ = false; | 62 tap_ = false; |
| 62 tap_down_ = false; | 63 tap_down_ = false; |
| 63 tap_up_ = false; | 64 begin_ = false; |
| 65 end_ = false; |
| 64 double_tap_ = false; | 66 double_tap_ = false; |
| 65 scroll_begin_ = false; | 67 scroll_begin_ = false; |
| 66 scroll_update_ = false; | 68 scroll_update_ = false; |
| 67 scroll_end_ = false; | 69 scroll_end_ = false; |
| 68 pinch_begin_ = false; | 70 pinch_begin_ = false; |
| 69 pinch_update_ = false; | 71 pinch_update_ = false; |
| 70 pinch_end_ = false; | 72 pinch_end_ = false; |
| 71 long_press_ = false; | 73 long_press_ = false; |
| 72 fling_ = false; | 74 fling_ = false; |
| 73 two_finger_tap_ = false; | 75 two_finger_tap_ = false; |
| 74 | 76 |
| 75 scroll_begin_position_.SetPoint(0, 0); | 77 scroll_begin_position_.SetPoint(0, 0); |
| 76 tap_location_.SetPoint(0, 0); | 78 tap_location_.SetPoint(0, 0); |
| 77 | 79 |
| 78 scroll_x_ = 0; | 80 scroll_x_ = 0; |
| 79 scroll_y_ = 0; | 81 scroll_y_ = 0; |
| 80 velocity_x_ = 0; | 82 velocity_x_ = 0; |
| 81 velocity_y_ = 0; | 83 velocity_y_ = 0; |
| 82 radius_x_ = 0; | 84 radius_x_ = 0; |
| 83 radius_y_ = 0; | 85 radius_y_ = 0; |
| 84 } | 86 } |
| 85 | 87 |
| 86 bool tap() const { return tap_; } | 88 bool tap() const { return tap_; } |
| 87 bool tap_down() const { return tap_down_; } | 89 bool tap_down() const { return tap_down_; } |
| 88 bool tap_up() const { return tap_up_; } | 90 bool begin() const { return begin_; } |
| 91 bool end() const { return end_; } |
| 89 bool double_tap() const { return double_tap_; } | 92 bool double_tap() const { return double_tap_; } |
| 90 bool scroll_begin() const { return scroll_begin_; } | 93 bool scroll_begin() const { return scroll_begin_; } |
| 91 bool scroll_update() const { return scroll_update_; } | 94 bool scroll_update() const { return scroll_update_; } |
| 92 bool scroll_end() const { return scroll_end_; } | 95 bool scroll_end() const { return scroll_end_; } |
| 93 bool pinch_begin() const { return pinch_begin_; } | 96 bool pinch_begin() const { return pinch_begin_; } |
| 94 bool pinch_update() const { return pinch_update_; } | 97 bool pinch_update() const { return pinch_update_; } |
| 95 bool pinch_end() const { return pinch_end_; } | 98 bool pinch_end() const { return pinch_end_; } |
| 96 bool long_press() const { return long_press_; } | 99 bool long_press() const { return long_press_; } |
| 97 bool fling() const { return fling_; } | 100 bool fling() const { return fling_; } |
| 98 bool two_finger_tap() const { return two_finger_tap_; } | 101 bool two_finger_tap() const { return two_finger_tap_; } |
| (...skipping 18 matching lines...) Expand all Loading... |
| 117 switch (gesture->type()) { | 120 switch (gesture->type()) { |
| 118 case ui::ET_GESTURE_TAP: | 121 case ui::ET_GESTURE_TAP: |
| 119 radius_x_ = gesture->delta_x(); | 122 radius_x_ = gesture->delta_x(); |
| 120 radius_y_ = gesture->delta_y(); | 123 radius_y_ = gesture->delta_y(); |
| 121 tap_location_ = gesture->location(); | 124 tap_location_ = gesture->location(); |
| 122 tap_ = true; | 125 tap_ = true; |
| 123 break; | 126 break; |
| 124 case ui::ET_GESTURE_TAP_DOWN: | 127 case ui::ET_GESTURE_TAP_DOWN: |
| 125 tap_down_ = true; | 128 tap_down_ = true; |
| 126 break; | 129 break; |
| 127 case ui::ET_GESTURE_TAP_UP: | 130 case ui::ET_GESTURE_BEGIN: |
| 128 tap_up_ = true; | 131 begin_ = true; |
| 132 break; |
| 133 case ui::ET_GESTURE_END: |
| 134 end_ = true; |
| 129 break; | 135 break; |
| 130 case ui::ET_GESTURE_DOUBLE_TAP: | 136 case ui::ET_GESTURE_DOUBLE_TAP: |
| 131 double_tap_ = true; | 137 double_tap_ = true; |
| 132 break; | 138 break; |
| 133 case ui::ET_GESTURE_SCROLL_BEGIN: | 139 case ui::ET_GESTURE_SCROLL_BEGIN: |
| 134 scroll_begin_ = true; | 140 scroll_begin_ = true; |
| 135 scroll_begin_position_ = gesture->location(); | 141 scroll_begin_position_ = gesture->location(); |
| 136 break; | 142 break; |
| 137 case ui::ET_GESTURE_SCROLL_UPDATE: | 143 case ui::ET_GESTURE_SCROLL_UPDATE: |
| 138 scroll_update_ = true; | 144 scroll_update_ = true; |
| (...skipping 27 matching lines...) Expand all Loading... |
| 166 break; | 172 break; |
| 167 default: | 173 default: |
| 168 NOTREACHED(); | 174 NOTREACHED(); |
| 169 } | 175 } |
| 170 return ui::GESTURE_STATUS_CONSUMED; | 176 return ui::GESTURE_STATUS_CONSUMED; |
| 171 } | 177 } |
| 172 | 178 |
| 173 private: | 179 private: |
| 174 bool tap_; | 180 bool tap_; |
| 175 bool tap_down_; | 181 bool tap_down_; |
| 176 bool tap_up_; | 182 bool begin_; |
| 183 bool end_; |
| 177 bool double_tap_; | 184 bool double_tap_; |
| 178 bool scroll_begin_; | 185 bool scroll_begin_; |
| 179 bool scroll_update_; | 186 bool scroll_update_; |
| 180 bool scroll_end_; | 187 bool scroll_end_; |
| 181 bool pinch_begin_; | 188 bool pinch_begin_; |
| 182 bool pinch_update_; | 189 bool pinch_update_; |
| 183 bool pinch_end_; | 190 bool pinch_end_; |
| 184 bool long_press_; | 191 bool long_press_; |
| 185 bool fling_; | 192 bool fling_; |
| 186 bool two_finger_tap_; | 193 bool two_finger_tap_; |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 403 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
| 397 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 404 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
| 398 delegate.get(), -1234, bounds, NULL)); | 405 delegate.get(), -1234, bounds, NULL)); |
| 399 | 406 |
| 400 delegate->Reset(); | 407 delegate->Reset(); |
| 401 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 408 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
| 402 kTouchId, GetTime()); | 409 kTouchId, GetTime()); |
| 403 root_window()->DispatchTouchEvent(&press); | 410 root_window()->DispatchTouchEvent(&press); |
| 404 EXPECT_FALSE(delegate->tap()); | 411 EXPECT_FALSE(delegate->tap()); |
| 405 EXPECT_TRUE(delegate->tap_down()); | 412 EXPECT_TRUE(delegate->tap_down()); |
| 413 EXPECT_TRUE(delegate->begin()); |
| 406 EXPECT_FALSE(delegate->double_tap()); | 414 EXPECT_FALSE(delegate->double_tap()); |
| 407 EXPECT_FALSE(delegate->scroll_begin()); | 415 EXPECT_FALSE(delegate->scroll_begin()); |
| 408 EXPECT_FALSE(delegate->scroll_update()); | 416 EXPECT_FALSE(delegate->scroll_update()); |
| 409 EXPECT_FALSE(delegate->scroll_end()); | 417 EXPECT_FALSE(delegate->scroll_end()); |
| 410 EXPECT_FALSE(delegate->long_press()); | 418 EXPECT_FALSE(delegate->long_press()); |
| 411 | 419 |
| 412 // Make sure there is enough delay before the touch is released so that it is | 420 // Make sure there is enough delay before the touch is released so that it is |
| 413 // recognized as a tap. | 421 // recognized as a tap. |
| 414 delegate->Reset(); | 422 delegate->Reset(); |
| 415 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), | 423 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), |
| 416 kTouchId, press.time_stamp() + | 424 kTouchId, press.time_stamp() + |
| 417 base::TimeDelta::FromMilliseconds(50)); | 425 base::TimeDelta::FromMilliseconds(50)); |
| 418 | 426 |
| 419 root_window()->DispatchTouchEvent(&release); | 427 root_window()->DispatchTouchEvent(&release); |
| 420 EXPECT_TRUE(delegate->tap()); | 428 EXPECT_TRUE(delegate->tap()); |
| 421 EXPECT_FALSE(delegate->tap_down()); | 429 EXPECT_FALSE(delegate->tap_down()); |
| 430 EXPECT_FALSE(delegate->begin()); |
| 431 EXPECT_TRUE(delegate->end()); |
| 422 EXPECT_FALSE(delegate->double_tap()); | 432 EXPECT_FALSE(delegate->double_tap()); |
| 423 EXPECT_FALSE(delegate->scroll_begin()); | 433 EXPECT_FALSE(delegate->scroll_begin()); |
| 424 EXPECT_FALSE(delegate->scroll_update()); | 434 EXPECT_FALSE(delegate->scroll_update()); |
| 425 EXPECT_FALSE(delegate->scroll_end()); | 435 EXPECT_FALSE(delegate->scroll_end()); |
| 426 } | 436 } |
| 427 | 437 |
| 428 // Check that appropriate touch events generate tap gesture events | 438 // Check that appropriate touch events generate tap gesture events |
| 429 // when information about the touch radii are provided. | 439 // when information about the touch radii are provided. |
| 430 TEST_F(GestureRecognizerTest, GestureEventTapRegion) { | 440 TEST_F(GestureRecognizerTest, GestureEventTapRegion) { |
| 431 scoped_ptr<GestureEventConsumeDelegate> delegate( | 441 scoped_ptr<GestureEventConsumeDelegate> delegate( |
| 432 new GestureEventConsumeDelegate()); | 442 new GestureEventConsumeDelegate()); |
| 433 const int kWindowWidth = 800; | 443 const int kWindowWidth = 800; |
| 434 const int kWindowHeight = 600; | 444 const int kWindowHeight = 600; |
| 435 const int kTouchId = 2; | 445 const int kTouchId = 2; |
| 436 gfx::Rect bounds(0, 0, kWindowWidth, kWindowHeight); | 446 gfx::Rect bounds(0, 0, kWindowWidth, kWindowHeight); |
| 437 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 447 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
| 438 delegate.get(), -1234, bounds, NULL)); | 448 delegate.get(), -1234, bounds, NULL)); |
| 439 | 449 |
| 440 // Test with no ET_TOUCH_MOVED events. | 450 // Test with no ET_TOUCH_MOVED events. |
| 441 { | 451 { |
| 442 delegate->Reset(); | 452 delegate->Reset(); |
| 443 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 453 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
| 444 kTouchId, GetTime()); | 454 kTouchId, GetTime()); |
| 445 press.set_radius_x(5); | 455 press.set_radius_x(5); |
| 446 press.set_radius_y(12); | 456 press.set_radius_y(12); |
| 447 root_window()->DispatchTouchEvent(&press); | 457 root_window()->DispatchTouchEvent(&press); |
| 448 EXPECT_FALSE(delegate->tap()); | 458 EXPECT_FALSE(delegate->tap()); |
| 449 EXPECT_TRUE(delegate->tap_down()); | 459 EXPECT_TRUE(delegate->tap_down()); |
| 460 EXPECT_TRUE(delegate->begin()); |
| 450 EXPECT_FALSE(delegate->double_tap()); | 461 EXPECT_FALSE(delegate->double_tap()); |
| 451 EXPECT_FALSE(delegate->scroll_begin()); | 462 EXPECT_FALSE(delegate->scroll_begin()); |
| 452 EXPECT_FALSE(delegate->scroll_update()); | 463 EXPECT_FALSE(delegate->scroll_update()); |
| 453 EXPECT_FALSE(delegate->scroll_end()); | 464 EXPECT_FALSE(delegate->scroll_end()); |
| 454 EXPECT_FALSE(delegate->long_press()); | 465 EXPECT_FALSE(delegate->long_press()); |
| 455 | 466 |
| 456 // Make sure there is enough delay before the touch is released so that it | 467 // Make sure there is enough delay before the touch is released so that it |
| 457 // is recognized as a tap. | 468 // is recognized as a tap. |
| 458 delegate->Reset(); | 469 delegate->Reset(); |
| 459 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), | 470 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), |
| 460 kTouchId, press.time_stamp() + | 471 kTouchId, press.time_stamp() + |
| 461 base::TimeDelta::FromMilliseconds(50)); | 472 base::TimeDelta::FromMilliseconds(50)); |
| 462 release.set_radius_x(5); | 473 release.set_radius_x(5); |
| 463 release.set_radius_y(12); | 474 release.set_radius_y(12); |
| 464 | 475 |
| 465 root_window()->DispatchTouchEvent(&release); | 476 root_window()->DispatchTouchEvent(&release); |
| 466 EXPECT_TRUE(delegate->tap()); | 477 EXPECT_TRUE(delegate->tap()); |
| 467 EXPECT_FALSE(delegate->tap_down()); | 478 EXPECT_FALSE(delegate->tap_down()); |
| 479 EXPECT_FALSE(delegate->begin()); |
| 480 EXPECT_TRUE(delegate->end()); |
| 468 EXPECT_FALSE(delegate->double_tap()); | 481 EXPECT_FALSE(delegate->double_tap()); |
| 469 EXPECT_FALSE(delegate->scroll_begin()); | 482 EXPECT_FALSE(delegate->scroll_begin()); |
| 470 EXPECT_FALSE(delegate->scroll_update()); | 483 EXPECT_FALSE(delegate->scroll_update()); |
| 471 EXPECT_FALSE(delegate->scroll_end()); | 484 EXPECT_FALSE(delegate->scroll_end()); |
| 472 | 485 |
| 473 gfx::Point actual_point(delegate->tap_location()); | 486 gfx::Point actual_point(delegate->tap_location()); |
| 474 EXPECT_EQ(12, delegate->radius_x()); | 487 EXPECT_EQ(12, delegate->radius_x()); |
| 475 EXPECT_EQ(12, delegate->radius_y()); | 488 EXPECT_EQ(12, delegate->radius_y()); |
| 476 EXPECT_EQ(100, actual_point.x()); | 489 EXPECT_EQ(100, actual_point.x()); |
| 477 EXPECT_EQ(200, actual_point.y()); | 490 EXPECT_EQ(200, actual_point.y()); |
| 478 } | 491 } |
| 479 | 492 |
| 480 // Test with no ET_TOUCH_MOVED events but different touch points and radii. | 493 // Test with no ET_TOUCH_MOVED events but different touch points and radii. |
| 481 { | 494 { |
| 482 delegate->Reset(); | 495 delegate->Reset(); |
| 483 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(365, 290), | 496 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(365, 290), |
| 484 kTouchId, GetTime()); | 497 kTouchId, GetTime()); |
| 485 press.set_radius_x(8); | 498 press.set_radius_x(8); |
| 486 press.set_radius_y(14); | 499 press.set_radius_y(14); |
| 487 root_window()->DispatchTouchEvent(&press); | 500 root_window()->DispatchTouchEvent(&press); |
| 488 EXPECT_FALSE(delegate->tap()); | 501 EXPECT_FALSE(delegate->tap()); |
| 489 EXPECT_TRUE(delegate->tap_down()); | 502 EXPECT_TRUE(delegate->tap_down()); |
| 503 EXPECT_TRUE(delegate->begin()); |
| 490 EXPECT_FALSE(delegate->double_tap()); | 504 EXPECT_FALSE(delegate->double_tap()); |
| 491 EXPECT_FALSE(delegate->scroll_begin()); | 505 EXPECT_FALSE(delegate->scroll_begin()); |
| 492 EXPECT_FALSE(delegate->scroll_update()); | 506 EXPECT_FALSE(delegate->scroll_update()); |
| 493 EXPECT_FALSE(delegate->scroll_end()); | 507 EXPECT_FALSE(delegate->scroll_end()); |
| 494 EXPECT_FALSE(delegate->long_press()); | 508 EXPECT_FALSE(delegate->long_press()); |
| 495 | 509 |
| 496 delegate->Reset(); | 510 delegate->Reset(); |
| 497 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(377, 291), | 511 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(377, 291), |
| 498 kTouchId, press.time_stamp() + | 512 kTouchId, press.time_stamp() + |
| 499 base::TimeDelta::FromMilliseconds(50)); | 513 base::TimeDelta::FromMilliseconds(50)); |
| 500 release.set_radius_x(20); | 514 release.set_radius_x(20); |
| 501 release.set_radius_y(13); | 515 release.set_radius_y(13); |
| 502 | 516 |
| 503 root_window()->DispatchTouchEvent(&release); | 517 root_window()->DispatchTouchEvent(&release); |
| 504 EXPECT_TRUE(delegate->tap()); | 518 EXPECT_TRUE(delegate->tap()); |
| 505 EXPECT_FALSE(delegate->tap_down()); | 519 EXPECT_FALSE(delegate->tap_down()); |
| 520 EXPECT_FALSE(delegate->begin()); |
| 521 EXPECT_TRUE(delegate->end()); |
| 506 EXPECT_FALSE(delegate->double_tap()); | 522 EXPECT_FALSE(delegate->double_tap()); |
| 507 EXPECT_FALSE(delegate->scroll_begin()); | 523 EXPECT_FALSE(delegate->scroll_begin()); |
| 508 EXPECT_FALSE(delegate->scroll_update()); | 524 EXPECT_FALSE(delegate->scroll_update()); |
| 509 EXPECT_FALSE(delegate->scroll_end()); | 525 EXPECT_FALSE(delegate->scroll_end()); |
| 510 | 526 |
| 511 gfx::Point actual_point(delegate->tap_location()); | 527 gfx::Point actual_point(delegate->tap_location()); |
| 512 EXPECT_EQ(23, delegate->radius_x()); | 528 EXPECT_EQ(23, delegate->radius_x()); |
| 513 EXPECT_EQ(20, delegate->radius_y()); | 529 EXPECT_EQ(20, delegate->radius_y()); |
| 514 EXPECT_EQ(373, actual_point.x()); | 530 EXPECT_EQ(373, actual_point.x()); |
| 515 EXPECT_EQ(290, actual_point.y()); | 531 EXPECT_EQ(290, actual_point.y()); |
| 516 } | 532 } |
| 517 | 533 |
| 518 // Test with a single ET_TOUCH_MOVED event. | 534 // Test with a single ET_TOUCH_MOVED event. |
| 519 { | 535 { |
| 520 delegate->Reset(); | 536 delegate->Reset(); |
| 521 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(46, 205), | 537 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(46, 205), |
| 522 kTouchId, GetTime()); | 538 kTouchId, GetTime()); |
| 523 press.set_radius_x(6); | 539 press.set_radius_x(6); |
| 524 press.set_radius_y(10); | 540 press.set_radius_y(10); |
| 525 root_window()->DispatchTouchEvent(&press); | 541 root_window()->DispatchTouchEvent(&press); |
| 526 EXPECT_FALSE(delegate->tap()); | 542 EXPECT_FALSE(delegate->tap()); |
| 527 EXPECT_TRUE(delegate->tap_down()); | 543 EXPECT_TRUE(delegate->tap_down()); |
| 544 EXPECT_TRUE(delegate->begin()); |
| 528 EXPECT_FALSE(delegate->double_tap()); | 545 EXPECT_FALSE(delegate->double_tap()); |
| 529 EXPECT_FALSE(delegate->scroll_begin()); | 546 EXPECT_FALSE(delegate->scroll_begin()); |
| 530 EXPECT_FALSE(delegate->scroll_update()); | 547 EXPECT_FALSE(delegate->scroll_update()); |
| 531 EXPECT_FALSE(delegate->scroll_end()); | 548 EXPECT_FALSE(delegate->scroll_end()); |
| 532 EXPECT_FALSE(delegate->long_press()); | 549 EXPECT_FALSE(delegate->long_press()); |
| 533 | 550 |
| 534 delegate->Reset(); | 551 delegate->Reset(); |
| 535 TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(52, 200), | 552 TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(52, 200), |
| 536 kTouchId, press.time_stamp() + | 553 kTouchId, press.time_stamp() + |
| 537 base::TimeDelta::FromMilliseconds(50)); | 554 base::TimeDelta::FromMilliseconds(50)); |
| 538 move.set_radius_x(8); | 555 move.set_radius_x(8); |
| 539 move.set_radius_y(12); | 556 move.set_radius_y(12); |
| 540 root_window()->DispatchTouchEvent(&move); | 557 root_window()->DispatchTouchEvent(&move); |
| 541 EXPECT_FALSE(delegate->tap()); | 558 EXPECT_FALSE(delegate->tap()); |
| 542 EXPECT_FALSE(delegate->tap_down()); | 559 EXPECT_FALSE(delegate->tap_down()); |
| 560 EXPECT_FALSE(delegate->begin()); |
| 543 EXPECT_FALSE(delegate->double_tap()); | 561 EXPECT_FALSE(delegate->double_tap()); |
| 544 EXPECT_FALSE(delegate->scroll_begin()); | 562 EXPECT_FALSE(delegate->scroll_begin()); |
| 545 EXPECT_FALSE(delegate->scroll_update()); | 563 EXPECT_FALSE(delegate->scroll_update()); |
| 546 EXPECT_FALSE(delegate->scroll_end()); | 564 EXPECT_FALSE(delegate->scroll_end()); |
| 547 EXPECT_FALSE(delegate->long_press()); | 565 EXPECT_FALSE(delegate->long_press()); |
| 548 | 566 |
| 549 delegate->Reset(); | 567 delegate->Reset(); |
| 550 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(50, 195), | 568 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(50, 195), |
| 551 kTouchId, press.time_stamp() + | 569 kTouchId, press.time_stamp() + |
| 552 base::TimeDelta::FromMilliseconds(50)); | 570 base::TimeDelta::FromMilliseconds(50)); |
| 553 release.set_radius_x(4); | 571 release.set_radius_x(4); |
| 554 release.set_radius_y(8); | 572 release.set_radius_y(8); |
| 555 | 573 |
| 556 root_window()->DispatchTouchEvent(&release); | 574 root_window()->DispatchTouchEvent(&release); |
| 557 EXPECT_TRUE(delegate->tap()); | 575 EXPECT_TRUE(delegate->tap()); |
| 558 EXPECT_FALSE(delegate->tap_down()); | 576 EXPECT_FALSE(delegate->tap_down()); |
| 577 EXPECT_FALSE(delegate->begin()); |
| 578 EXPECT_TRUE(delegate->end()); |
| 559 EXPECT_FALSE(delegate->double_tap()); | 579 EXPECT_FALSE(delegate->double_tap()); |
| 560 EXPECT_FALSE(delegate->scroll_begin()); | 580 EXPECT_FALSE(delegate->scroll_begin()); |
| 561 EXPECT_FALSE(delegate->scroll_update()); | 581 EXPECT_FALSE(delegate->scroll_update()); |
| 562 EXPECT_FALSE(delegate->scroll_end()); | 582 EXPECT_FALSE(delegate->scroll_end()); |
| 563 | 583 |
| 564 gfx::Point actual_point(delegate->tap_location()); | 584 gfx::Point actual_point(delegate->tap_location()); |
| 565 EXPECT_EQ(14, delegate->radius_x()); | 585 EXPECT_EQ(14, delegate->radius_x()); |
| 566 EXPECT_EQ(14, delegate->radius_y()); | 586 EXPECT_EQ(14, delegate->radius_y()); |
| 567 EXPECT_EQ(49, actual_point.x()); | 587 EXPECT_EQ(49, actual_point.x()); |
| 568 EXPECT_EQ(200, actual_point.y()); | 588 EXPECT_EQ(200, actual_point.y()); |
| 569 } | 589 } |
| 570 | 590 |
| 571 // Test with a few ET_TOUCH_MOVED events. | 591 // Test with a few ET_TOUCH_MOVED events. |
| 572 { | 592 { |
| 573 delegate->Reset(); | 593 delegate->Reset(); |
| 574 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(400, 150), | 594 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(400, 150), |
| 575 kTouchId, GetTime()); | 595 kTouchId, GetTime()); |
| 576 press.set_radius_x(7); | 596 press.set_radius_x(7); |
| 577 press.set_radius_y(10); | 597 press.set_radius_y(10); |
| 578 root_window()->DispatchTouchEvent(&press); | 598 root_window()->DispatchTouchEvent(&press); |
| 579 EXPECT_FALSE(delegate->tap()); | 599 EXPECT_FALSE(delegate->tap()); |
| 580 EXPECT_TRUE(delegate->tap_down()); | 600 EXPECT_TRUE(delegate->tap_down()); |
| 601 EXPECT_TRUE(delegate->begin()); |
| 581 EXPECT_FALSE(delegate->double_tap()); | 602 EXPECT_FALSE(delegate->double_tap()); |
| 582 EXPECT_FALSE(delegate->scroll_begin()); | 603 EXPECT_FALSE(delegate->scroll_begin()); |
| 583 EXPECT_FALSE(delegate->scroll_update()); | 604 EXPECT_FALSE(delegate->scroll_update()); |
| 584 EXPECT_FALSE(delegate->scroll_end()); | 605 EXPECT_FALSE(delegate->scroll_end()); |
| 585 EXPECT_FALSE(delegate->long_press()); | 606 EXPECT_FALSE(delegate->long_press()); |
| 586 | 607 |
| 587 delegate->Reset(); | 608 delegate->Reset(); |
| 588 TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(397, 155), | 609 TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(397, 155), |
| 589 kTouchId, press.time_stamp() + | 610 kTouchId, press.time_stamp() + |
| 590 base::TimeDelta::FromMilliseconds(50)); | 611 base::TimeDelta::FromMilliseconds(50)); |
| 591 move.set_radius_x(13); | 612 move.set_radius_x(13); |
| 592 move.set_radius_y(12); | 613 move.set_radius_y(12); |
| 593 root_window()->DispatchTouchEvent(&move); | 614 root_window()->DispatchTouchEvent(&move); |
| 594 EXPECT_FALSE(delegate->tap()); | 615 EXPECT_FALSE(delegate->tap()); |
| 595 EXPECT_FALSE(delegate->tap_down()); | 616 EXPECT_FALSE(delegate->tap_down()); |
| 617 EXPECT_FALSE(delegate->begin()); |
| 596 EXPECT_FALSE(delegate->double_tap()); | 618 EXPECT_FALSE(delegate->double_tap()); |
| 597 EXPECT_FALSE(delegate->scroll_begin()); | 619 EXPECT_FALSE(delegate->scroll_begin()); |
| 598 EXPECT_FALSE(delegate->scroll_update()); | 620 EXPECT_FALSE(delegate->scroll_update()); |
| 599 EXPECT_FALSE(delegate->scroll_end()); | 621 EXPECT_FALSE(delegate->scroll_end()); |
| 600 EXPECT_FALSE(delegate->long_press()); | 622 EXPECT_FALSE(delegate->long_press()); |
| 601 | 623 |
| 602 delegate->Reset(); | 624 delegate->Reset(); |
| 603 TouchEvent move1(ui::ET_TOUCH_MOVED, gfx::Point(395, 148), | 625 TouchEvent move1(ui::ET_TOUCH_MOVED, gfx::Point(395, 148), |
| 604 kTouchId, move.time_stamp() + | 626 kTouchId, move.time_stamp() + |
| 605 base::TimeDelta::FromMilliseconds(50)); | 627 base::TimeDelta::FromMilliseconds(50)); |
| 606 move1.set_radius_x(16); | 628 move1.set_radius_x(16); |
| 607 move1.set_radius_y(16); | 629 move1.set_radius_y(16); |
| 608 root_window()->DispatchTouchEvent(&move1); | 630 root_window()->DispatchTouchEvent(&move1); |
| 609 EXPECT_FALSE(delegate->tap()); | 631 EXPECT_FALSE(delegate->tap()); |
| 610 EXPECT_FALSE(delegate->tap_down()); | 632 EXPECT_FALSE(delegate->tap_down()); |
| 633 EXPECT_FALSE(delegate->begin()); |
| 611 EXPECT_FALSE(delegate->double_tap()); | 634 EXPECT_FALSE(delegate->double_tap()); |
| 612 EXPECT_FALSE(delegate->scroll_begin()); | 635 EXPECT_FALSE(delegate->scroll_begin()); |
| 613 EXPECT_FALSE(delegate->scroll_update()); | 636 EXPECT_FALSE(delegate->scroll_update()); |
| 614 EXPECT_FALSE(delegate->scroll_end()); | 637 EXPECT_FALSE(delegate->scroll_end()); |
| 615 EXPECT_FALSE(delegate->long_press()); | 638 EXPECT_FALSE(delegate->long_press()); |
| 616 | 639 |
| 617 delegate->Reset(); | 640 delegate->Reset(); |
| 618 TouchEvent move2(ui::ET_TOUCH_MOVED, gfx::Point(400, 150), | 641 TouchEvent move2(ui::ET_TOUCH_MOVED, gfx::Point(400, 150), |
| 619 kTouchId, move1.time_stamp() + | 642 kTouchId, move1.time_stamp() + |
| 620 base::TimeDelta::FromMilliseconds(50)); | 643 base::TimeDelta::FromMilliseconds(50)); |
| 621 move2.set_radius_x(14); | 644 move2.set_radius_x(14); |
| 622 move2.set_radius_y(10); | 645 move2.set_radius_y(10); |
| 623 root_window()->DispatchTouchEvent(&move2); | 646 root_window()->DispatchTouchEvent(&move2); |
| 624 EXPECT_FALSE(delegate->tap()); | 647 EXPECT_FALSE(delegate->tap()); |
| 625 EXPECT_FALSE(delegate->tap_down()); | 648 EXPECT_FALSE(delegate->tap_down()); |
| 649 EXPECT_FALSE(delegate->begin()); |
| 626 EXPECT_FALSE(delegate->double_tap()); | 650 EXPECT_FALSE(delegate->double_tap()); |
| 627 EXPECT_FALSE(delegate->scroll_begin()); | 651 EXPECT_FALSE(delegate->scroll_begin()); |
| 628 EXPECT_FALSE(delegate->scroll_update()); | 652 EXPECT_FALSE(delegate->scroll_update()); |
| 629 EXPECT_FALSE(delegate->scroll_end()); | 653 EXPECT_FALSE(delegate->scroll_end()); |
| 630 EXPECT_FALSE(delegate->long_press()); | 654 EXPECT_FALSE(delegate->long_press()); |
| 631 | 655 |
| 632 delegate->Reset(); | 656 delegate->Reset(); |
| 633 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(401, 149), | 657 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(401, 149), |
| 634 kTouchId, press.time_stamp() + | 658 kTouchId, press.time_stamp() + |
| 635 base::TimeDelta::FromMilliseconds(50)); | 659 base::TimeDelta::FromMilliseconds(50)); |
| 636 release.set_radius_x(8); | 660 release.set_radius_x(8); |
| 637 release.set_radius_y(9); | 661 release.set_radius_y(9); |
| 638 | 662 |
| 639 root_window()->DispatchTouchEvent(&release); | 663 root_window()->DispatchTouchEvent(&release); |
| 640 EXPECT_TRUE(delegate->tap()); | 664 EXPECT_TRUE(delegate->tap()); |
| 641 EXPECT_FALSE(delegate->tap_down()); | 665 EXPECT_FALSE(delegate->tap_down()); |
| 666 EXPECT_FALSE(delegate->begin()); |
| 667 EXPECT_TRUE(delegate->end()); |
| 642 EXPECT_FALSE(delegate->double_tap()); | 668 EXPECT_FALSE(delegate->double_tap()); |
| 643 EXPECT_FALSE(delegate->scroll_begin()); | 669 EXPECT_FALSE(delegate->scroll_begin()); |
| 644 EXPECT_FALSE(delegate->scroll_update()); | 670 EXPECT_FALSE(delegate->scroll_update()); |
| 645 EXPECT_FALSE(delegate->scroll_end()); | 671 EXPECT_FALSE(delegate->scroll_end()); |
| 646 | 672 |
| 647 gfx::Point actual_point(delegate->tap_location()); | 673 gfx::Point actual_point(delegate->tap_location()); |
| 648 EXPECT_EQ(17, delegate->radius_x()); | 674 EXPECT_EQ(17, delegate->radius_x()); |
| 649 EXPECT_EQ(18, delegate->radius_y()); | 675 EXPECT_EQ(18, delegate->radius_y()); |
| 650 EXPECT_EQ(396, actual_point.x()); | 676 EXPECT_EQ(396, actual_point.x()); |
| 651 EXPECT_EQ(149, actual_point.y()); | 677 EXPECT_EQ(149, actual_point.y()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 662 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 688 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
| 663 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 689 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
| 664 delegate.get(), -1234, bounds, NULL)); | 690 delegate.get(), -1234, bounds, NULL)); |
| 665 | 691 |
| 666 delegate->Reset(); | 692 delegate->Reset(); |
| 667 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 693 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
| 668 kTouchId, GetTime()); | 694 kTouchId, GetTime()); |
| 669 root_window()->DispatchTouchEvent(&press); | 695 root_window()->DispatchTouchEvent(&press); |
| 670 EXPECT_FALSE(delegate->tap()); | 696 EXPECT_FALSE(delegate->tap()); |
| 671 EXPECT_TRUE(delegate->tap_down()); | 697 EXPECT_TRUE(delegate->tap_down()); |
| 698 EXPECT_TRUE(delegate->begin()); |
| 672 EXPECT_FALSE(delegate->double_tap()); | 699 EXPECT_FALSE(delegate->double_tap()); |
| 673 EXPECT_FALSE(delegate->scroll_begin()); | 700 EXPECT_FALSE(delegate->scroll_begin()); |
| 674 EXPECT_FALSE(delegate->scroll_update()); | 701 EXPECT_FALSE(delegate->scroll_update()); |
| 675 EXPECT_FALSE(delegate->scroll_end()); | 702 EXPECT_FALSE(delegate->scroll_end()); |
| 676 | 703 |
| 677 // Move the touch-point enough so that it is considered as a scroll. This | 704 // Move the touch-point enough so that it is considered as a scroll. This |
| 678 // should generate both SCROLL_BEGIN and SCROLL_UPDATE gestures. | 705 // should generate both SCROLL_BEGIN and SCROLL_UPDATE gestures. |
| 679 // The first movement is diagonal, to ensure that we have a free scroll, | 706 // The first movement is diagonal, to ensure that we have a free scroll, |
| 680 // and not a rail scroll. | 707 // and not a rail scroll. |
| 681 SendScrollEvent(root_window(), 130, 230, kTouchId, delegate.get()); | 708 SendScrollEvent(root_window(), 130, 230, kTouchId, delegate.get()); |
| 682 EXPECT_FALSE(delegate->tap()); | 709 EXPECT_FALSE(delegate->tap()); |
| 683 EXPECT_FALSE(delegate->tap_down()); | 710 EXPECT_FALSE(delegate->tap_down()); |
| 711 EXPECT_FALSE(delegate->begin()); |
| 684 EXPECT_FALSE(delegate->double_tap()); | 712 EXPECT_FALSE(delegate->double_tap()); |
| 685 EXPECT_TRUE(delegate->scroll_begin()); | 713 EXPECT_TRUE(delegate->scroll_begin()); |
| 686 EXPECT_TRUE(delegate->scroll_update()); | 714 EXPECT_TRUE(delegate->scroll_update()); |
| 687 EXPECT_FALSE(delegate->scroll_end()); | 715 EXPECT_FALSE(delegate->scroll_end()); |
| 688 EXPECT_EQ(29, delegate->scroll_x()); | 716 EXPECT_EQ(29, delegate->scroll_x()); |
| 689 EXPECT_EQ(29, delegate->scroll_y()); | 717 EXPECT_EQ(29, delegate->scroll_y()); |
| 690 EXPECT_EQ(gfx::Point(1, 1).ToString(), | 718 EXPECT_EQ(gfx::Point(1, 1).ToString(), |
| 691 delegate->scroll_begin_position().ToString()); | 719 delegate->scroll_begin_position().ToString()); |
| 692 | 720 |
| 693 // Move some more to generate a few more scroll updates. | 721 // Move some more to generate a few more scroll updates. |
| 694 SendScrollEvent(root_window(), 110, 211, kTouchId, delegate.get()); | 722 SendScrollEvent(root_window(), 110, 211, kTouchId, delegate.get()); |
| 695 EXPECT_FALSE(delegate->tap()); | 723 EXPECT_FALSE(delegate->tap()); |
| 696 EXPECT_FALSE(delegate->tap_down()); | 724 EXPECT_FALSE(delegate->tap_down()); |
| 725 EXPECT_FALSE(delegate->begin()); |
| 697 EXPECT_FALSE(delegate->double_tap()); | 726 EXPECT_FALSE(delegate->double_tap()); |
| 698 EXPECT_FALSE(delegate->scroll_begin()); | 727 EXPECT_FALSE(delegate->scroll_begin()); |
| 699 EXPECT_TRUE(delegate->scroll_update()); | 728 EXPECT_TRUE(delegate->scroll_update()); |
| 700 EXPECT_FALSE(delegate->scroll_end()); | 729 EXPECT_FALSE(delegate->scroll_end()); |
| 701 EXPECT_EQ(-20, delegate->scroll_x()); | 730 EXPECT_EQ(-20, delegate->scroll_x()); |
| 702 EXPECT_EQ(-19, delegate->scroll_y()); | 731 EXPECT_EQ(-19, delegate->scroll_y()); |
| 703 | 732 |
| 704 SendScrollEvent(root_window(), 140, 215, kTouchId, delegate.get()); | 733 SendScrollEvent(root_window(), 140, 215, kTouchId, delegate.get()); |
| 705 EXPECT_FALSE(delegate->tap()); | 734 EXPECT_FALSE(delegate->tap()); |
| 706 EXPECT_FALSE(delegate->tap_down()); | 735 EXPECT_FALSE(delegate->tap_down()); |
| 736 EXPECT_FALSE(delegate->begin()); |
| 707 EXPECT_FALSE(delegate->double_tap()); | 737 EXPECT_FALSE(delegate->double_tap()); |
| 708 EXPECT_FALSE(delegate->scroll_begin()); | 738 EXPECT_FALSE(delegate->scroll_begin()); |
| 709 EXPECT_TRUE(delegate->scroll_update()); | 739 EXPECT_TRUE(delegate->scroll_update()); |
| 710 EXPECT_FALSE(delegate->scroll_end()); | 740 EXPECT_FALSE(delegate->scroll_end()); |
| 711 EXPECT_EQ(30, delegate->scroll_x()); | 741 EXPECT_EQ(30, delegate->scroll_x()); |
| 712 EXPECT_EQ(4, delegate->scroll_y()); | 742 EXPECT_EQ(4, delegate->scroll_y()); |
| 713 | 743 |
| 714 // Release the touch. This should end the scroll. | 744 // Release the touch. This should end the scroll. |
| 715 delegate->Reset(); | 745 delegate->Reset(); |
| 716 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), | 746 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), |
| 717 kTouchId, press.time_stamp() + | 747 kTouchId, press.time_stamp() + |
| 718 base::TimeDelta::FromMilliseconds(50)); | 748 base::TimeDelta::FromMilliseconds(50)); |
| 719 root_window()->DispatchTouchEvent(&release); | 749 root_window()->DispatchTouchEvent(&release); |
| 720 EXPECT_FALSE(delegate->tap()); | 750 EXPECT_FALSE(delegate->tap()); |
| 721 EXPECT_FALSE(delegate->tap_down()); | 751 EXPECT_FALSE(delegate->tap_down()); |
| 752 EXPECT_FALSE(delegate->begin()); |
| 753 EXPECT_TRUE(delegate->end()); |
| 722 EXPECT_FALSE(delegate->double_tap()); | 754 EXPECT_FALSE(delegate->double_tap()); |
| 723 EXPECT_FALSE(delegate->scroll_begin()); | 755 EXPECT_FALSE(delegate->scroll_begin()); |
| 724 EXPECT_FALSE(delegate->scroll_update()); | 756 EXPECT_FALSE(delegate->scroll_update()); |
| 725 EXPECT_TRUE(delegate->scroll_end()); | 757 EXPECT_TRUE(delegate->scroll_end()); |
| 726 } | 758 } |
| 727 | 759 |
| 728 // Check Scroll End Events report correct velocities | 760 // Check Scroll End Events report correct velocities |
| 729 // if the user was on a horizontal rail | 761 // if the user was on a horizontal rail |
| 730 TEST_F(GestureRecognizerTest, GestureEventHorizontalRailFling) { | 762 TEST_F(GestureRecognizerTest, GestureEventHorizontalRailFling) { |
| 731 scoped_ptr<GestureEventConsumeDelegate> delegate( | 763 scoped_ptr<GestureEventConsumeDelegate> delegate( |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 849 TimerTestGestureSequence* gesture_sequence = | 881 TimerTestGestureSequence* gesture_sequence = |
| 850 static_cast<TimerTestGestureSequence*>( | 882 static_cast<TimerTestGestureSequence*>( |
| 851 gesture_recognizer->GetGestureSequenceForTesting(window.get())); | 883 gesture_recognizer->GetGestureSequenceForTesting(window.get())); |
| 852 | 884 |
| 853 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); | 885 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); |
| 854 | 886 |
| 855 TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 887 TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
| 856 kTouchId, GetTime()); | 888 kTouchId, GetTime()); |
| 857 root_window()->DispatchTouchEvent(&press1); | 889 root_window()->DispatchTouchEvent(&press1); |
| 858 EXPECT_TRUE(delegate->tap_down()); | 890 EXPECT_TRUE(delegate->tap_down()); |
| 891 EXPECT_TRUE(delegate->begin()); |
| 859 | 892 |
| 860 // We haven't pressed long enough for a long press to occur | 893 // We haven't pressed long enough for a long press to occur |
| 861 EXPECT_FALSE(delegate->long_press()); | 894 EXPECT_FALSE(delegate->long_press()); |
| 862 | 895 |
| 863 // Wait until the timer runs out | 896 // Wait until the timer runs out |
| 864 gesture_sequence->ForceTimeout(); | 897 gesture_sequence->ForceTimeout(); |
| 865 EXPECT_TRUE(delegate->long_press()); | 898 EXPECT_TRUE(delegate->long_press()); |
| 866 EXPECT_EQ(0, delegate->touch_id()); | 899 EXPECT_EQ(0, delegate->touch_id()); |
| 867 | 900 |
| 868 delegate->Reset(); | 901 delegate->Reset(); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 932 static_cast<TimerTestGestureSequence*>( | 965 static_cast<TimerTestGestureSequence*>( |
| 933 gesture_recognizer->GetGestureSequenceForTesting(window.get())); | 966 gesture_recognizer->GetGestureSequenceForTesting(window.get())); |
| 934 | 967 |
| 935 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); | 968 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); |
| 936 | 969 |
| 937 delegate->Reset(); | 970 delegate->Reset(); |
| 938 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 971 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
| 939 kTouchId1, GetTime()); | 972 kTouchId1, GetTime()); |
| 940 root_window()->DispatchTouchEvent(&press); | 973 root_window()->DispatchTouchEvent(&press); |
| 941 EXPECT_TRUE(delegate->tap_down()); | 974 EXPECT_TRUE(delegate->tap_down()); |
| 975 EXPECT_TRUE(delegate->begin()); |
| 942 | 976 |
| 943 // We haven't pressed long enough for a long press to occur | 977 // We haven't pressed long enough for a long press to occur |
| 944 EXPECT_FALSE(delegate->long_press()); | 978 EXPECT_FALSE(delegate->long_press()); |
| 945 | 979 |
| 946 // Second tap, to cancel the long press | 980 // Second tap, to cancel the long press |
| 947 delegate->Reset(); | 981 delegate->Reset(); |
| 948 TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(10, 10), | 982 TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(10, 10), |
| 949 kTouchId2, GetTime()); | 983 kTouchId2, GetTime()); |
| 950 root_window()->DispatchTouchEvent(&press2); | 984 root_window()->DispatchTouchEvent(&press2); |
| 951 EXPECT_FALSE(delegate->tap_down()); // no touch down for second tap. | 985 EXPECT_FALSE(delegate->tap_down()); // no touch down for second tap. |
| 986 EXPECT_TRUE(delegate->begin()); |
| 952 | 987 |
| 953 // Wait until the timer runs out | 988 // Wait until the timer runs out |
| 954 gesture_sequence->ForceTimeout(); | 989 gesture_sequence->ForceTimeout(); |
| 955 | 990 |
| 956 // No long press occurred | 991 // No long press occurred |
| 957 EXPECT_FALSE(delegate->long_press()); | 992 EXPECT_FALSE(delegate->long_press()); |
| 958 | 993 |
| 959 delegate->Reset(); | 994 delegate->Reset(); |
| 960 TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), | 995 TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), |
| 961 kTouchId1, GetTime()); | 996 kTouchId1, GetTime()); |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1205 | 1240 |
| 1206 queued_delegate->set_window(queue.get()); | 1241 queued_delegate->set_window(queue.get()); |
| 1207 | 1242 |
| 1208 // Touch down on the window. This should not generate any gesture event. | 1243 // Touch down on the window. This should not generate any gesture event. |
| 1209 queued_delegate->Reset(); | 1244 queued_delegate->Reset(); |
| 1210 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 1245 TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
| 1211 kTouchId1, GetTime()); | 1246 kTouchId1, GetTime()); |
| 1212 root_window()->DispatchTouchEvent(&press); | 1247 root_window()->DispatchTouchEvent(&press); |
| 1213 EXPECT_FALSE(queued_delegate->tap()); | 1248 EXPECT_FALSE(queued_delegate->tap()); |
| 1214 EXPECT_FALSE(queued_delegate->tap_down()); | 1249 EXPECT_FALSE(queued_delegate->tap_down()); |
| 1250 EXPECT_FALSE(queued_delegate->begin()); |
| 1215 EXPECT_FALSE(queued_delegate->double_tap()); | 1251 EXPECT_FALSE(queued_delegate->double_tap()); |
| 1216 EXPECT_FALSE(queued_delegate->scroll_begin()); | 1252 EXPECT_FALSE(queued_delegate->scroll_begin()); |
| 1217 EXPECT_FALSE(queued_delegate->scroll_update()); | 1253 EXPECT_FALSE(queued_delegate->scroll_update()); |
| 1218 EXPECT_FALSE(queued_delegate->scroll_end()); | 1254 EXPECT_FALSE(queued_delegate->scroll_end()); |
| 1219 | 1255 |
| 1220 // Introduce some delay before the touch is released so that it is recognized | 1256 // Introduce some delay before the touch is released so that it is recognized |
| 1221 // as a tap. However, this still should not create any gesture events. | 1257 // as a tap. However, this still should not create any gesture events. |
| 1222 queued_delegate->Reset(); | 1258 queued_delegate->Reset(); |
| 1223 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), | 1259 TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), |
| 1224 kTouchId1, press.time_stamp() + | 1260 kTouchId1, press.time_stamp() + |
| 1225 base::TimeDelta::FromMilliseconds(50)); | 1261 base::TimeDelta::FromMilliseconds(50)); |
| 1226 root_window()->DispatchTouchEvent(&release); | 1262 root_window()->DispatchTouchEvent(&release); |
| 1227 EXPECT_FALSE(queued_delegate->tap()); | 1263 EXPECT_FALSE(queued_delegate->tap()); |
| 1228 EXPECT_FALSE(queued_delegate->tap_down()); | 1264 EXPECT_FALSE(queued_delegate->tap_down()); |
| 1265 EXPECT_FALSE(queued_delegate->begin()); |
| 1266 EXPECT_FALSE(queued_delegate->end()); |
| 1229 EXPECT_FALSE(queued_delegate->double_tap()); | 1267 EXPECT_FALSE(queued_delegate->double_tap()); |
| 1230 EXPECT_FALSE(queued_delegate->scroll_begin()); | 1268 EXPECT_FALSE(queued_delegate->scroll_begin()); |
| 1231 EXPECT_FALSE(queued_delegate->scroll_update()); | 1269 EXPECT_FALSE(queued_delegate->scroll_update()); |
| 1232 EXPECT_FALSE(queued_delegate->scroll_end()); | 1270 EXPECT_FALSE(queued_delegate->scroll_end()); |
| 1233 | 1271 |
| 1234 // Create another window, and place a touch-down on it. This should create a | 1272 // Create another window, and place a touch-down on it. This should create a |
| 1235 // tap-down gesture. | 1273 // tap-down gesture. |
| 1236 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1274 scoped_ptr<GestureEventConsumeDelegate> delegate( |
| 1237 new GestureEventConsumeDelegate()); | 1275 new GestureEventConsumeDelegate()); |
| 1238 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1276 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
| 1239 delegate.get(), -2345, gfx::Rect(0, 0, 50, 50), NULL)); | 1277 delegate.get(), -2345, gfx::Rect(0, 0, 50, 50), NULL)); |
| 1240 delegate->Reset(); | 1278 delegate->Reset(); |
| 1241 TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(10, 20), | 1279 TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(10, 20), |
| 1242 kTouchId2, GetTime()); | 1280 kTouchId2, GetTime()); |
| 1243 root_window()->DispatchTouchEvent(&press2); | 1281 root_window()->DispatchTouchEvent(&press2); |
| 1244 EXPECT_FALSE(delegate->tap()); | 1282 EXPECT_FALSE(delegate->tap()); |
| 1245 EXPECT_TRUE(delegate->tap_down()); | 1283 EXPECT_TRUE(delegate->tap_down()); |
| 1284 EXPECT_FALSE(queued_delegate->begin()); |
| 1285 EXPECT_FALSE(queued_delegate->end()); |
| 1246 EXPECT_FALSE(delegate->double_tap()); | 1286 EXPECT_FALSE(delegate->double_tap()); |
| 1247 EXPECT_FALSE(delegate->scroll_begin()); | 1287 EXPECT_FALSE(delegate->scroll_begin()); |
| 1248 EXPECT_FALSE(delegate->scroll_update()); | 1288 EXPECT_FALSE(delegate->scroll_update()); |
| 1249 EXPECT_FALSE(delegate->scroll_end()); | 1289 EXPECT_FALSE(delegate->scroll_end()); |
| 1250 | 1290 |
| 1251 TouchEvent release2(ui::ET_TOUCH_RELEASED, gfx::Point(10, 20), | 1291 TouchEvent release2(ui::ET_TOUCH_RELEASED, gfx::Point(10, 20), |
| 1252 kTouchId2, GetTime()); | 1292 kTouchId2, GetTime()); |
| 1253 root_window()->DispatchTouchEvent(&release2); | 1293 root_window()->DispatchTouchEvent(&release2); |
| 1254 | 1294 |
| 1255 // Process the first queued event. | 1295 // Process the first queued event. |
| 1256 queued_delegate->Reset(); | 1296 queued_delegate->Reset(); |
| 1257 queued_delegate->ReceivedAck(); | 1297 queued_delegate->ReceivedAck(); |
| 1258 EXPECT_FALSE(queued_delegate->tap()); | 1298 EXPECT_FALSE(queued_delegate->tap()); |
| 1259 EXPECT_TRUE(queued_delegate->tap_down()); | 1299 EXPECT_TRUE(queued_delegate->tap_down()); |
| 1300 EXPECT_TRUE(queued_delegate->begin()); |
| 1301 EXPECT_FALSE(queued_delegate->end()); |
| 1260 EXPECT_FALSE(queued_delegate->double_tap()); | 1302 EXPECT_FALSE(queued_delegate->double_tap()); |
| 1261 EXPECT_FALSE(queued_delegate->scroll_begin()); | 1303 EXPECT_FALSE(queued_delegate->scroll_begin()); |
| 1262 EXPECT_FALSE(queued_delegate->scroll_update()); | 1304 EXPECT_FALSE(queued_delegate->scroll_update()); |
| 1263 EXPECT_FALSE(queued_delegate->scroll_end()); | 1305 EXPECT_FALSE(queued_delegate->scroll_end()); |
| 1264 | 1306 |
| 1265 // Now, process the second queued event. | 1307 // Now, process the second queued event. |
| 1266 queued_delegate->Reset(); | 1308 queued_delegate->Reset(); |
| 1267 queued_delegate->ReceivedAck(); | 1309 queued_delegate->ReceivedAck(); |
| 1268 EXPECT_TRUE(queued_delegate->tap()); | 1310 EXPECT_TRUE(queued_delegate->tap()); |
| 1269 EXPECT_FALSE(queued_delegate->tap_down()); | 1311 EXPECT_FALSE(queued_delegate->tap_down()); |
| 1312 EXPECT_FALSE(queued_delegate->begin()); |
| 1313 EXPECT_TRUE(queued_delegate->end()); |
| 1270 EXPECT_FALSE(queued_delegate->double_tap()); | 1314 EXPECT_FALSE(queued_delegate->double_tap()); |
| 1271 EXPECT_FALSE(queued_delegate->scroll_begin()); | 1315 EXPECT_FALSE(queued_delegate->scroll_begin()); |
| 1272 EXPECT_FALSE(queued_delegate->scroll_update()); | 1316 EXPECT_FALSE(queued_delegate->scroll_update()); |
| 1273 EXPECT_FALSE(queued_delegate->scroll_end()); | 1317 EXPECT_FALSE(queued_delegate->scroll_end()); |
| 1274 | 1318 |
| 1275 // Start all over. Press on the first window, then press again on the second | 1319 // Start all over. Press on the first window, then press again on the second |
| 1276 // window. The second press should still go to the first window. | 1320 // window. The second press should still go to the first window. |
| 1277 queued_delegate->Reset(); | 1321 queued_delegate->Reset(); |
| 1278 TouchEvent press3(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 1322 TouchEvent press3(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
| 1279 kTouchId1, GetTime()); | 1323 kTouchId1, GetTime()); |
| 1280 root_window()->DispatchTouchEvent(&press3); | 1324 root_window()->DispatchTouchEvent(&press3); |
| 1281 EXPECT_FALSE(queued_delegate->tap()); | 1325 EXPECT_FALSE(queued_delegate->tap()); |
| 1282 EXPECT_FALSE(queued_delegate->tap_down()); | 1326 EXPECT_FALSE(queued_delegate->tap_down()); |
| 1327 EXPECT_FALSE(queued_delegate->begin()); |
| 1328 EXPECT_FALSE(queued_delegate->end()); |
| 1329 EXPECT_FALSE(queued_delegate->begin()); |
| 1330 EXPECT_FALSE(queued_delegate->end()); |
| 1283 EXPECT_FALSE(queued_delegate->double_tap()); | 1331 EXPECT_FALSE(queued_delegate->double_tap()); |
| 1284 EXPECT_FALSE(queued_delegate->scroll_begin()); | 1332 EXPECT_FALSE(queued_delegate->scroll_begin()); |
| 1285 EXPECT_FALSE(queued_delegate->scroll_update()); | 1333 EXPECT_FALSE(queued_delegate->scroll_update()); |
| 1286 EXPECT_FALSE(queued_delegate->scroll_end()); | 1334 EXPECT_FALSE(queued_delegate->scroll_end()); |
| 1287 | 1335 |
| 1288 queued_delegate->Reset(); | 1336 queued_delegate->Reset(); |
| 1289 delegate->Reset(); | 1337 delegate->Reset(); |
| 1290 TouchEvent press4(ui::ET_TOUCH_PRESSED, gfx::Point(103, 203), | 1338 TouchEvent press4(ui::ET_TOUCH_PRESSED, gfx::Point(103, 203), |
| 1291 kTouchId2, GetTime()); | 1339 kTouchId2, GetTime()); |
| 1292 root_window()->DispatchTouchEvent(&press4); | 1340 root_window()->DispatchTouchEvent(&press4); |
| 1293 EXPECT_FALSE(delegate->tap()); | 1341 EXPECT_FALSE(delegate->tap()); |
| 1294 EXPECT_FALSE(delegate->tap_down()); | 1342 EXPECT_FALSE(delegate->tap_down()); |
| 1343 EXPECT_FALSE(delegate->begin()); |
| 1344 EXPECT_FALSE(delegate->end()); |
| 1295 EXPECT_FALSE(delegate->double_tap()); | 1345 EXPECT_FALSE(delegate->double_tap()); |
| 1296 EXPECT_FALSE(delegate->scroll_begin()); | 1346 EXPECT_FALSE(delegate->scroll_begin()); |
| 1297 EXPECT_FALSE(delegate->scroll_update()); | 1347 EXPECT_FALSE(delegate->scroll_update()); |
| 1298 EXPECT_FALSE(delegate->scroll_end()); | 1348 EXPECT_FALSE(delegate->scroll_end()); |
| 1299 EXPECT_FALSE(queued_delegate->tap()); | 1349 EXPECT_FALSE(queued_delegate->tap()); |
| 1300 EXPECT_FALSE(queued_delegate->tap_down()); | 1350 EXPECT_FALSE(queued_delegate->tap_down()); |
| 1351 EXPECT_FALSE(queued_delegate->begin()); |
| 1352 EXPECT_FALSE(queued_delegate->end()); |
| 1301 EXPECT_FALSE(queued_delegate->double_tap()); | 1353 EXPECT_FALSE(queued_delegate->double_tap()); |
| 1302 EXPECT_FALSE(queued_delegate->scroll_begin()); | 1354 EXPECT_FALSE(queued_delegate->scroll_begin()); |
| 1303 EXPECT_FALSE(queued_delegate->scroll_update()); | 1355 EXPECT_FALSE(queued_delegate->scroll_update()); |
| 1304 EXPECT_FALSE(queued_delegate->scroll_end()); | 1356 EXPECT_FALSE(queued_delegate->scroll_end()); |
| 1305 | 1357 |
| 1306 // Move the second touch-point enough so that it is considered a pinch. This | 1358 // Move the second touch-point enough so that it is considered a pinch. This |
| 1307 // should generate both SCROLL_BEGIN and PINCH_BEGIN gestures. | 1359 // should generate both SCROLL_BEGIN and PINCH_BEGIN gestures. |
| 1308 queued_delegate->Reset(); | 1360 queued_delegate->Reset(); |
| 1309 delegate->Reset(); | 1361 delegate->Reset(); |
| 1310 int x_move = ui::GestureConfiguration::max_touch_move_in_pixels_for_click(); | 1362 int x_move = ui::GestureConfiguration::max_touch_move_in_pixels_for_click(); |
| 1311 TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(103 + x_move, 203), | 1363 TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(103 + x_move, 203), |
| 1312 kTouchId2, GetTime()); | 1364 kTouchId2, GetTime()); |
| 1313 root_window()->DispatchTouchEvent(&move); | 1365 root_window()->DispatchTouchEvent(&move); |
| 1314 EXPECT_FALSE(delegate->tap()); | 1366 EXPECT_FALSE(delegate->tap()); |
| 1315 EXPECT_FALSE(delegate->tap_down()); | 1367 EXPECT_FALSE(delegate->tap_down()); |
| 1368 EXPECT_FALSE(delegate->begin()); |
| 1316 EXPECT_FALSE(delegate->double_tap()); | 1369 EXPECT_FALSE(delegate->double_tap()); |
| 1317 EXPECT_FALSE(delegate->scroll_begin()); | 1370 EXPECT_FALSE(delegate->scroll_begin()); |
| 1318 EXPECT_FALSE(delegate->scroll_update()); | 1371 EXPECT_FALSE(delegate->scroll_update()); |
| 1319 EXPECT_FALSE(delegate->scroll_end()); | 1372 EXPECT_FALSE(delegate->scroll_end()); |
| 1320 EXPECT_FALSE(queued_delegate->tap()); | 1373 EXPECT_FALSE(queued_delegate->tap()); |
| 1321 EXPECT_FALSE(queued_delegate->tap_down()); | 1374 EXPECT_FALSE(queued_delegate->tap_down()); |
| 1375 EXPECT_FALSE(queued_delegate->begin()); |
| 1322 EXPECT_FALSE(queued_delegate->double_tap()); | 1376 EXPECT_FALSE(queued_delegate->double_tap()); |
| 1323 EXPECT_FALSE(queued_delegate->scroll_begin()); | 1377 EXPECT_FALSE(queued_delegate->scroll_begin()); |
| 1324 EXPECT_FALSE(queued_delegate->scroll_update()); | 1378 EXPECT_FALSE(queued_delegate->scroll_update()); |
| 1325 EXPECT_FALSE(queued_delegate->scroll_end()); | 1379 EXPECT_FALSE(queued_delegate->scroll_end()); |
| 1326 | 1380 |
| 1327 queued_delegate->Reset(); | 1381 queued_delegate->Reset(); |
| 1328 queued_delegate->ReceivedAck(); | 1382 queued_delegate->ReceivedAck(); |
| 1329 EXPECT_FALSE(queued_delegate->tap()); | 1383 EXPECT_FALSE(queued_delegate->tap()); |
| 1330 EXPECT_TRUE(queued_delegate->tap_down()); | 1384 EXPECT_TRUE(queued_delegate->tap_down()); |
| 1385 EXPECT_TRUE(queued_delegate->begin()); |
| 1386 EXPECT_FALSE(queued_delegate->end()); |
| 1331 EXPECT_FALSE(queued_delegate->double_tap()); | 1387 EXPECT_FALSE(queued_delegate->double_tap()); |
| 1332 EXPECT_FALSE(queued_delegate->scroll_begin()); | 1388 EXPECT_FALSE(queued_delegate->scroll_begin()); |
| 1333 EXPECT_FALSE(queued_delegate->scroll_update()); | 1389 EXPECT_FALSE(queued_delegate->scroll_update()); |
| 1334 EXPECT_FALSE(queued_delegate->scroll_end()); | 1390 EXPECT_FALSE(queued_delegate->scroll_end()); |
| 1335 | 1391 |
| 1336 queued_delegate->Reset(); | 1392 queued_delegate->Reset(); |
| 1337 queued_delegate->ReceivedAck(); | 1393 queued_delegate->ReceivedAck(); |
| 1338 EXPECT_FALSE(queued_delegate->tap()); | 1394 EXPECT_FALSE(queued_delegate->tap()); |
| 1339 EXPECT_FALSE(queued_delegate->tap_down()); // no touch down for second tap. | 1395 EXPECT_FALSE(queued_delegate->tap_down()); // no touch down for second tap. |
| 1396 EXPECT_TRUE(queued_delegate->begin()); |
| 1397 EXPECT_FALSE(queued_delegate->end()); |
| 1340 EXPECT_FALSE(queued_delegate->double_tap()); | 1398 EXPECT_FALSE(queued_delegate->double_tap()); |
| 1341 EXPECT_FALSE(queued_delegate->scroll_begin()); | 1399 EXPECT_FALSE(queued_delegate->scroll_begin()); |
| 1342 EXPECT_FALSE(queued_delegate->scroll_update()); | 1400 EXPECT_FALSE(queued_delegate->scroll_update()); |
| 1343 EXPECT_FALSE(queued_delegate->scroll_end()); | 1401 EXPECT_FALSE(queued_delegate->scroll_end()); |
| 1344 EXPECT_FALSE(queued_delegate->pinch_begin()); | 1402 EXPECT_FALSE(queued_delegate->pinch_begin()); |
| 1345 EXPECT_FALSE(queued_delegate->pinch_update()); | 1403 EXPECT_FALSE(queued_delegate->pinch_update()); |
| 1346 EXPECT_FALSE(queued_delegate->pinch_end()); | 1404 EXPECT_FALSE(queued_delegate->pinch_end()); |
| 1347 | 1405 |
| 1348 queued_delegate->Reset(); | 1406 queued_delegate->Reset(); |
| 1349 queued_delegate->ReceivedAck(); | 1407 queued_delegate->ReceivedAck(); |
| 1350 EXPECT_FALSE(queued_delegate->tap()); | 1408 EXPECT_FALSE(queued_delegate->tap()); |
| 1351 EXPECT_FALSE(queued_delegate->tap_down()); | 1409 EXPECT_FALSE(queued_delegate->tap_down()); |
| 1410 EXPECT_FALSE(queued_delegate->begin()); |
| 1411 EXPECT_FALSE(queued_delegate->end()); |
| 1352 EXPECT_FALSE(queued_delegate->double_tap()); | 1412 EXPECT_FALSE(queued_delegate->double_tap()); |
| 1353 EXPECT_TRUE(queued_delegate->scroll_begin()); | 1413 EXPECT_TRUE(queued_delegate->scroll_begin()); |
| 1354 EXPECT_FALSE(queued_delegate->scroll_update()); | 1414 EXPECT_FALSE(queued_delegate->scroll_update()); |
| 1355 EXPECT_FALSE(queued_delegate->scroll_end()); | 1415 EXPECT_FALSE(queued_delegate->scroll_end()); |
| 1356 EXPECT_TRUE(queued_delegate->pinch_begin()); | 1416 EXPECT_TRUE(queued_delegate->pinch_begin()); |
| 1357 EXPECT_FALSE(queued_delegate->pinch_update()); | 1417 EXPECT_FALSE(queued_delegate->pinch_update()); |
| 1358 EXPECT_FALSE(queued_delegate->pinch_end()); | 1418 EXPECT_FALSE(queued_delegate->pinch_end()); |
| 1359 } | 1419 } |
| 1360 | 1420 |
| 1361 // Check that appropriate touch events generate pinch gesture events. | 1421 // Check that appropriate touch events generate pinch gesture events. |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1775 generator.PressTouch(); | 1835 generator.PressTouch(); |
| 1776 RunAllPendingInMessageLoop(); | 1836 RunAllPendingInMessageLoop(); |
| 1777 | 1837 |
| 1778 EXPECT_TRUE(delegate->tap_down()); | 1838 EXPECT_TRUE(delegate->tap_down()); |
| 1779 | 1839 |
| 1780 scoped_ptr<aura::Window> capture(CreateTestWindowWithBounds( | 1840 scoped_ptr<aura::Window> capture(CreateTestWindowWithBounds( |
| 1781 gfx::Rect(10, 10, 200, 200), NULL)); | 1841 gfx::Rect(10, 10, 200, 200), NULL)); |
| 1782 capture->SetCapture(); | 1842 capture->SetCapture(); |
| 1783 RunAllPendingInMessageLoop(); | 1843 RunAllPendingInMessageLoop(); |
| 1784 | 1844 |
| 1785 EXPECT_TRUE(delegate->tap_up()); | 1845 EXPECT_TRUE(delegate->end()); |
| 1786 } | 1846 } |
| 1787 | 1847 |
| 1788 TEST_F(GestureRecognizerTest, TwoFingerTap) { | 1848 TEST_F(GestureRecognizerTest, TwoFingerTap) { |
| 1789 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1849 scoped_ptr<GestureEventConsumeDelegate> delegate( |
| 1790 new GestureEventConsumeDelegate()); | 1850 new GestureEventConsumeDelegate()); |
| 1791 const int kWindowWidth = 123; | 1851 const int kWindowWidth = 123; |
| 1792 const int kWindowHeight = 45; | 1852 const int kWindowHeight = 45; |
| 1793 const int kTouchId1 = 2; | 1853 const int kTouchId1 = 2; |
| 1794 const int kTouchId2 = 3; | 1854 const int kTouchId2 = 3; |
| 1795 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 1855 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2097 EXPECT_TRUE(delegate->scroll_begin()); | 2157 EXPECT_TRUE(delegate->scroll_begin()); |
| 2098 EXPECT_FALSE(delegate->scroll_update()); | 2158 EXPECT_FALSE(delegate->scroll_update()); |
| 2099 EXPECT_FALSE(delegate->scroll_end()); | 2159 EXPECT_FALSE(delegate->scroll_end()); |
| 2100 EXPECT_FALSE(delegate->long_press()); | 2160 EXPECT_FALSE(delegate->long_press()); |
| 2101 EXPECT_FALSE(delegate->two_finger_tap()); | 2161 EXPECT_FALSE(delegate->two_finger_tap()); |
| 2102 EXPECT_TRUE(delegate->pinch_begin()); | 2162 EXPECT_TRUE(delegate->pinch_begin()); |
| 2103 } | 2163 } |
| 2104 | 2164 |
| 2105 } // namespace test | 2165 } // namespace test |
| 2106 } // namespace aura | 2166 } // namespace aura |
| OLD | NEW |