| Index: ui/aura/gestures/gesture_recognizer_unittest.cc
|
| diff --git a/ui/aura/gestures/gesture_recognizer_unittest.cc b/ui/aura/gestures/gesture_recognizer_unittest.cc
|
| index 85dac461049c4b3d41c6f9bee2794e08f37d891c..8aaa21b5e4e00a7ebc24c9c413addf9ef48b76a6 100644
|
| --- a/ui/aura/gestures/gesture_recognizer_unittest.cc
|
| +++ b/ui/aura/gestures/gesture_recognizer_unittest.cc
|
| @@ -36,6 +36,7 @@ class GestureEventConsumeDelegate : public TestWindowDelegate {
|
| GestureEventConsumeDelegate()
|
| : tap_(false),
|
| tap_down_(false),
|
| + tap_cancel_(false),
|
| begin_(false),
|
| end_(false),
|
| double_tap_(false),
|
| @@ -66,6 +67,7 @@ class GestureEventConsumeDelegate : public TestWindowDelegate {
|
| void Reset() {
|
| tap_ = false;
|
| tap_down_ = false;
|
| + tap_cancel_ = false;
|
| begin_ = false;
|
| end_ = false;
|
| double_tap_ = false;
|
| @@ -97,6 +99,7 @@ class GestureEventConsumeDelegate : public TestWindowDelegate {
|
|
|
| bool tap() const { return tap_; }
|
| bool tap_down() const { return tap_down_; }
|
| + bool tap_cancel() const { return tap_cancel_; }
|
| bool begin() const { return begin_; }
|
| bool end() const { return end_; }
|
| bool double_tap() const { return double_tap_; }
|
| @@ -144,6 +147,9 @@ class GestureEventConsumeDelegate : public TestWindowDelegate {
|
| case ui::ET_GESTURE_TAP_DOWN:
|
| tap_down_ = true;
|
| break;
|
| + case ui::ET_GESTURE_TAP_CANCEL:
|
| + tap_cancel_ = true;
|
| + break;
|
| case ui::ET_GESTURE_BEGIN:
|
| begin_ = true;
|
| break;
|
| @@ -207,6 +213,7 @@ class GestureEventConsumeDelegate : public TestWindowDelegate {
|
| private:
|
| bool tap_;
|
| bool tap_down_;
|
| + bool tap_cancel_;
|
| bool begin_;
|
| bool end_;
|
| bool double_tap_;
|
| @@ -453,6 +460,7 @@ TEST_F(GestureRecognizerTest, GestureEventTap) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -470,6 +478,7 @@ TEST_F(GestureRecognizerTest, GestureEventTap) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_TRUE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_TRUE(delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -502,6 +511,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -521,6 +531,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_TRUE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_TRUE(delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -546,6 +557,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -563,6 +575,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_TRUE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_TRUE(delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -588,7 +601,9 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -604,6 +619,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -621,6 +637,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_TRUE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_TRUE(delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -646,6 +663,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -662,6 +680,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -678,6 +697,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move1);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -694,6 +714,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move2);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -711,6 +732,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_TRUE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_TRUE(delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -744,6 +766,7 @@ TEST_F(GestureRecognizerTest, GestureEventScroll) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -757,6 +780,7 @@ TEST_F(GestureRecognizerTest, GestureEventScroll) {
|
| SendScrollEvent(root_window(), 130, 230, kTouchId, delegate.get());
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_TRUE(delegate->scroll_begin());
|
| @@ -777,6 +801,7 @@ TEST_F(GestureRecognizerTest, GestureEventScroll) {
|
| SendScrollEvent(root_window(), 110, 211, kTouchId, delegate.get());
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -789,6 +814,7 @@ TEST_F(GestureRecognizerTest, GestureEventScroll) {
|
| SendScrollEvent(root_window(), 140, 215, kTouchId, delegate.get());
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -806,6 +832,7 @@ TEST_F(GestureRecognizerTest, GestureEventScroll) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_TRUE(delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -1012,6 +1039,7 @@ TEST_F(GestureRecognizerTest, GestureEventLongPress) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1);
|
| EXPECT_TRUE(delegate->tap_down());
|
| EXPECT_TRUE(delegate->begin());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
|
|
| // We haven't pressed long enough for a long press to occur
|
| EXPECT_FALSE(delegate->long_press());
|
| @@ -1020,12 +1048,16 @@ TEST_F(GestureRecognizerTest, GestureEventLongPress) {
|
| gesture_sequence->ForceTimeout();
|
| EXPECT_TRUE(delegate->long_press());
|
| EXPECT_EQ(0, delegate->touch_id());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
|
|
| delegate->Reset();
|
| ui::TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201),
|
| kTouchId, GetTime());
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1);
|
| EXPECT_FALSE(delegate->long_press());
|
| +
|
| + // Note the tap down isn't cancelled until the release
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| }
|
|
|
| // Check that scrolling cancels a long press
|
| @@ -1056,18 +1088,21 @@ TEST_F(GestureRecognizerTest, GestureEventLongPressCancelledByScroll) {
|
|
|
| // We haven't pressed long enough for a long press to occur
|
| EXPECT_FALSE(delegate->long_press());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
|
|
| // Scroll around, to cancel the long press
|
| SendScrollEvent(root_window(), 130, 230, kTouchId, delegate.get());
|
| // Wait until the timer runs out
|
| gesture_sequence->ForceTimeout();
|
| EXPECT_FALSE(delegate->long_press());
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
|
|
| delegate->Reset();
|
| ui::TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201),
|
| kTouchId, GetTime());
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1);
|
| EXPECT_FALSE(delegate->long_press());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| }
|
|
|
| // Check that second tap cancels a long press
|
| @@ -1106,6 +1141,7 @@ TEST_F(GestureRecognizerTest, GestureEventLongPressCancelledBySecondTap) {
|
| kTouchId2, GetTime());
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2);
|
| EXPECT_FALSE(delegate->tap_down()); // no touch down for second tap.
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
|
|
| // Wait until the timer runs out
|
| @@ -1120,6 +1156,7 @@ TEST_F(GestureRecognizerTest, GestureEventLongPressCancelledBySecondTap) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1);
|
| EXPECT_FALSE(delegate->long_press());
|
| EXPECT_TRUE(delegate->two_finger_tap());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| }
|
|
|
| // Check that horizontal scroll gestures cause scrolls on horizontal rails.
|
| @@ -1233,6 +1270,7 @@ TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1247,6 +1285,7 @@ TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_TRUE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1261,6 +1300,7 @@ TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1276,6 +1316,7 @@ TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_TRUE(delegate->scroll_begin());
|
| EXPECT_TRUE(delegate->scroll_update());
|
| @@ -1290,6 +1331,7 @@ TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move1);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_TRUE(delegate->scroll_update());
|
| @@ -1303,6 +1345,7 @@ TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move2);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_TRUE(delegate->scroll_update());
|
| @@ -1317,6 +1360,7 @@ TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1343,6 +1387,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(queued_delegate->tap());
|
| EXPECT_FALSE(queued_delegate->tap_down());
|
| + EXPECT_FALSE(queued_delegate->tap_cancel());
|
| EXPECT_FALSE(queued_delegate->begin());
|
| EXPECT_FALSE(queued_delegate->double_tap());
|
| EXPECT_FALSE(queued_delegate->scroll_begin());
|
| @@ -1358,6 +1403,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_FALSE(queued_delegate->tap());
|
| EXPECT_FALSE(queued_delegate->tap_down());
|
| + EXPECT_FALSE(queued_delegate->tap_cancel());
|
| EXPECT_FALSE(queued_delegate->begin());
|
| EXPECT_FALSE(queued_delegate->end());
|
| EXPECT_FALSE(queued_delegate->double_tap());
|
| @@ -1377,6 +1423,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(queued_delegate->begin());
|
| EXPECT_FALSE(queued_delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -1394,6 +1441,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| EXPECT_FALSE(queued_delegate->tap());
|
| EXPECT_TRUE(queued_delegate->tap_down());
|
| EXPECT_TRUE(queued_delegate->begin());
|
| + EXPECT_FALSE(queued_delegate->tap_cancel());
|
| EXPECT_FALSE(queued_delegate->end());
|
| EXPECT_FALSE(queued_delegate->double_tap());
|
| EXPECT_FALSE(queued_delegate->scroll_begin());
|
| @@ -1405,6 +1453,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| queued_delegate->ReceivedAck();
|
| EXPECT_TRUE(queued_delegate->tap());
|
| EXPECT_FALSE(queued_delegate->tap_down());
|
| + EXPECT_FALSE(queued_delegate->tap_cancel());
|
| EXPECT_FALSE(queued_delegate->begin());
|
| EXPECT_TRUE(queued_delegate->end());
|
| EXPECT_FALSE(queued_delegate->double_tap());
|
| @@ -1420,6 +1469,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press3);
|
| EXPECT_FALSE(queued_delegate->tap());
|
| EXPECT_FALSE(queued_delegate->tap_down());
|
| + EXPECT_FALSE(queued_delegate->tap_cancel());
|
| EXPECT_FALSE(queued_delegate->begin());
|
| EXPECT_FALSE(queued_delegate->end());
|
| EXPECT_FALSE(queued_delegate->begin());
|
| @@ -1436,6 +1486,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press4);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -1444,6 +1495,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| EXPECT_FALSE(delegate->scroll_end());
|
| EXPECT_FALSE(queued_delegate->tap());
|
| EXPECT_FALSE(queued_delegate->tap_down());
|
| + EXPECT_FALSE(queued_delegate->tap_cancel());
|
| EXPECT_FALSE(queued_delegate->begin());
|
| EXPECT_FALSE(queued_delegate->end());
|
| EXPECT_FALSE(queued_delegate->double_tap());
|
| @@ -1461,6 +1513,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -1468,6 +1521,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| EXPECT_FALSE(delegate->scroll_end());
|
| EXPECT_FALSE(queued_delegate->tap());
|
| EXPECT_FALSE(queued_delegate->tap_down());
|
| + EXPECT_FALSE(queued_delegate->tap_cancel());
|
| EXPECT_FALSE(queued_delegate->begin());
|
| EXPECT_FALSE(queued_delegate->double_tap());
|
| EXPECT_FALSE(queued_delegate->scroll_begin());
|
| @@ -1479,6 +1533,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| EXPECT_FALSE(queued_delegate->tap());
|
| EXPECT_TRUE(queued_delegate->tap_down());
|
| EXPECT_TRUE(queued_delegate->begin());
|
| + EXPECT_FALSE(queued_delegate->tap_cancel());
|
| EXPECT_FALSE(queued_delegate->end());
|
| EXPECT_FALSE(queued_delegate->double_tap());
|
| EXPECT_FALSE(queued_delegate->scroll_begin());
|
| @@ -1489,6 +1544,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| queued_delegate->ReceivedAck();
|
| EXPECT_FALSE(queued_delegate->tap());
|
| EXPECT_FALSE(queued_delegate->tap_down()); // no touch down for second tap.
|
| + EXPECT_TRUE(queued_delegate->tap_cancel());
|
| EXPECT_TRUE(queued_delegate->begin());
|
| EXPECT_FALSE(queued_delegate->end());
|
| EXPECT_FALSE(queued_delegate->double_tap());
|
| @@ -1503,6 +1559,7 @@ TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) {
|
| queued_delegate->ReceivedAck();
|
| EXPECT_FALSE(queued_delegate->tap());
|
| EXPECT_FALSE(queued_delegate->tap_down());
|
| + EXPECT_FALSE(queued_delegate->tap_cancel());
|
| EXPECT_FALSE(queued_delegate->begin());
|
| EXPECT_FALSE(queued_delegate->end());
|
| EXPECT_FALSE(queued_delegate->double_tap());
|
| @@ -1534,6 +1591,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1547,6 +1605,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_TRUE(delegate->scroll_begin());
|
| EXPECT_TRUE(delegate->scroll_update());
|
| @@ -1560,6 +1619,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down()); // no touch down for second tap.
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1575,6 +1635,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move3);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1591,6 +1652,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move4);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1608,6 +1670,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1623,6 +1686,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move5);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_TRUE(delegate->scroll_update());
|
| @@ -1702,6 +1766,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1716,6 +1781,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down()); // no touch down for second tap.
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_TRUE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1731,6 +1797,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move3);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1747,6 +1814,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move4);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1764,6 +1832,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -1779,6 +1848,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move5);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_TRUE(delegate->scroll_update());
|
| @@ -1939,6 +2009,7 @@ TEST_F(GestureRecognizerTest, NoTapWithPreventDefaultedRelease) {
|
| delegate->Reset();
|
| delegate->ReceivedAckPreventDefaulted();
|
| EXPECT_FALSE(delegate->tap());
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| }
|
|
|
| TEST_F(GestureRecognizerTest, PinchScrollWithPreventDefaultedRelease) {
|
| @@ -1970,6 +2041,7 @@ TEST_F(GestureRecognizerTest, PinchScrollWithPreventDefaultedRelease) {
|
|
|
| // Ack the move event.
|
| delegate->ReceivedAck();
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->scroll_begin());
|
| delegate->Reset();
|
|
|
| @@ -2048,6 +2120,7 @@ TEST_F(GestureRecognizerTest, CaptureSendsGestureEnd) {
|
| RunAllPendingInMessageLoop();
|
|
|
| EXPECT_TRUE(delegate->end());
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| }
|
|
|
| TEST_F(GestureRecognizerTest, PressDoesNotCrash) {
|
| @@ -2074,6 +2147,7 @@ TEST_F(GestureRecognizerTest, PressDoesNotCrash) {
|
| // This new press should not generate a tap-down.
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| }
|
|
|
| @@ -2118,6 +2192,7 @@ TEST_F(GestureRecognizerTest, SyncTouchEventWithQueuedTouchEvents) {
|
|
|
| queued_delegate->ReceivedAck();
|
| RunAllPendingInMessageLoop();
|
| + EXPECT_TRUE(queued_delegate->tap_cancel());
|
| EXPECT_TRUE(queued_delegate->scroll_begin());
|
| EXPECT_TRUE(queued_delegate->scroll_update());
|
| EXPECT_TRUE(queued_delegate->scroll_end());
|
| @@ -2141,6 +2216,7 @@ TEST_F(GestureRecognizerTest, TwoFingerTap) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -2154,6 +2230,7 @@ TEST_F(GestureRecognizerTest, TwoFingerTap) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down()); // no touch down for second tap.
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -2171,6 +2248,7 @@ TEST_F(GestureRecognizerTest, TwoFingerTap) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move2);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -2188,6 +2266,7 @@ TEST_F(GestureRecognizerTest, TwoFingerTap) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -2205,6 +2284,7 @@ TEST_F(GestureRecognizerTest, TwoFingerTap) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release2);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -2459,6 +2539,7 @@ TEST_F(GestureRecognizerTest, VeryWideTwoFingerTouchDownShouldBeAPinch) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -2472,6 +2553,7 @@ TEST_F(GestureRecognizerTest, VeryWideTwoFingerTouchDownShouldBeAPinch) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down()); // no touch down for second tap.
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_TRUE(delegate->scroll_begin());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| @@ -2578,6 +2660,7 @@ TEST_F(GestureRecognizerTest, GestureEventScrollTouchMoveConsumed) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -2586,10 +2669,14 @@ TEST_F(GestureRecognizerTest, GestureEventScrollTouchMoveConsumed) {
|
|
|
| // Move the touch-point enough so that it would normally be considered a
|
| // scroll. But since the touch-moves will be consumed, the scroll should not
|
| - // start.
|
| + // start. We should, however, get the TAP_CANCEL event now (since it's now
|
| + // impossible for the gesture to become a tap).
|
| SendScrollEvent(root_window(), 130, 230, kTouchId, delegate.get());
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + // TODO(rbyers): Really we should get the TapCancel here instead of below,
|
| + // but this is a symptom of a larger issue: crbug.com/146397.
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -2601,6 +2688,7 @@ TEST_F(GestureRecognizerTest, GestureEventScrollTouchMoveConsumed) {
|
| SendScrollEvent(root_window(), 159, 259, kTouchId, delegate.get());
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_TRUE(delegate->scroll_begin());
|
| @@ -2620,6 +2708,7 @@ TEST_F(GestureRecognizerTest, GestureEventScrollTouchMoveConsumed) {
|
| SendScrollEvent(root_window(), 110, 211, kTouchId, delegate.get());
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -2631,6 +2720,7 @@ TEST_F(GestureRecognizerTest, GestureEventScrollTouchMoveConsumed) {
|
| SendScrollEvent(root_window(), 140, 215, kTouchId, delegate.get());
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_FALSE(delegate->double_tap());
|
| EXPECT_FALSE(delegate->scroll_begin());
|
| @@ -2647,6 +2737,7 @@ TEST_F(GestureRecognizerTest, GestureEventScrollTouchMoveConsumed) {
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| EXPECT_FALSE(delegate->tap());
|
| EXPECT_FALSE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->begin());
|
| EXPECT_TRUE(delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -2688,6 +2779,7 @@ TEST_F(GestureRecognizerTest, GestureEventDoubleTap) {
|
|
|
| EXPECT_TRUE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
| EXPECT_TRUE(delegate->end());
|
| EXPECT_TRUE(delegate->double_tap());
|
| @@ -2731,6 +2823,7 @@ TEST_F(GestureRecognizerTest, TwoTapsFarApart) {
|
|
|
| EXPECT_TRUE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
| EXPECT_TRUE(delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -2775,6 +2868,7 @@ TEST_F(GestureRecognizerTest, TwoTapsWithDelayBetween) {
|
|
|
| EXPECT_TRUE(delegate->tap());
|
| EXPECT_TRUE(delegate->tap_down());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_TRUE(delegate->begin());
|
| EXPECT_TRUE(delegate->end());
|
| EXPECT_FALSE(delegate->double_tap());
|
| @@ -2830,6 +2924,7 @@ TEST_F(GestureRecognizerTest, BoundingBoxRadiusChange) {
|
| move2.set_radius_y(60);
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move2);
|
| EXPECT_FALSE(delegate->tap());
|
| + EXPECT_FALSE(delegate->tap_cancel());
|
| EXPECT_FALSE(delegate->scroll_update());
|
| EXPECT_FALSE(delegate->pinch_update());
|
|
|
|
|