| 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..17e33c9b7ac19f3df65cfd9e5781dc0a6d6ad362 100644
|
| --- a/ui/aura/gestures/gesture_recognizer_unittest.cc
|
| +++ b/ui/aura/gestures/gesture_recognizer_unittest.cc
|
| @@ -30,12 +30,38 @@ std::string WindowIDAsString(ui::GestureConsumer* consumer) {
|
| base::IntToString(static_cast<Window*>(consumer)->id()) : "?";
|
| }
|
|
|
| +#define EXPECT_0_EVENTS(events) \
|
| + EXPECT_EQ(0u, events.size())
|
| +
|
| +#define EXPECT_1_EVENT(events, e0) \
|
| + EXPECT_EQ(1u, events.size()); \
|
| + EXPECT_EQ(e0, events[0])
|
| +
|
| +#define EXPECT_2_EVENTS(events, e0, e1) \
|
| + EXPECT_EQ(2u, events.size()); \
|
| + EXPECT_EQ(e0, events[0]); \
|
| + EXPECT_EQ(e1, events[1])
|
| +
|
| +#define EXPECT_3_EVENTS(events, e0, e1, e2) \
|
| + EXPECT_EQ(3u, events.size()); \
|
| + EXPECT_EQ(e0, events[0]); \
|
| + EXPECT_EQ(e1, events[1]); \
|
| + EXPECT_EQ(e2, events[2])
|
| +
|
| +#define EXPECT_4_EVENTS(events, e0, e1, e2, e3) \
|
| + EXPECT_EQ(4u, events.size()); \
|
| + EXPECT_EQ(e0, events[0]); \
|
| + EXPECT_EQ(e1, events[1]); \
|
| + EXPECT_EQ(e2, events[2]); \
|
| + EXPECT_EQ(e3, events[3])
|
| +
|
| // A delegate that keeps track of gesture events.
|
| class GestureEventConsumeDelegate : public TestWindowDelegate {
|
| public:
|
| GestureEventConsumeDelegate()
|
| : tap_(false),
|
| tap_down_(false),
|
| + tap_cancel_(false),
|
| begin_(false),
|
| end_(false),
|
| double_tap_(false),
|
| @@ -64,8 +90,10 @@ class GestureEventConsumeDelegate : public TestWindowDelegate {
|
| virtual ~GestureEventConsumeDelegate() {}
|
|
|
| void Reset() {
|
| + events_.clear();
|
| tap_ = false;
|
| tap_down_ = false;
|
| + tap_cancel_ = false;
|
| begin_ = false;
|
| end_ = false;
|
| double_tap_ = false;
|
| @@ -95,8 +123,11 @@ class GestureEventConsumeDelegate : public TestWindowDelegate {
|
| tap_count_ = 0;
|
| }
|
|
|
| + const std::vector<ui::EventType>& events() const { return events_; };
|
| +
|
| 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_; }
|
| @@ -134,6 +165,7 @@ class GestureEventConsumeDelegate : public TestWindowDelegate {
|
|
|
| virtual ui::EventResult OnGestureEvent(
|
| ui::GestureEvent* gesture) OVERRIDE {
|
| + events_.push_back(gesture->type());
|
| bounding_box_ = gesture->details().bounding_box();
|
| switch (gesture->type()) {
|
| case ui::ET_GESTURE_TAP:
|
| @@ -144,6 +176,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;
|
| @@ -205,8 +240,11 @@ class GestureEventConsumeDelegate : public TestWindowDelegate {
|
| }
|
|
|
| private:
|
| + std::vector<ui::EventType> events_;
|
| +
|
| bool tap_;
|
| bool tap_down_;
|
| + bool tap_cancel_;
|
| bool begin_;
|
| bool end_;
|
| bool double_tap_;
|
| @@ -453,6 +491,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 +509,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 +542,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 +562,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 +588,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 +606,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 +632,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 +650,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 +668,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 +694,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 +711,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 +728,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 +745,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 +763,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());
|
| @@ -742,26 +795,19 @@ TEST_F(GestureRecognizerTest, GestureEventScroll) {
|
| ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201),
|
| kTouchId, GetTime());
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_TRUE(delegate->tap_down());
|
| - EXPECT_TRUE(delegate->begin());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| + EXPECT_2_EVENTS(delegate->events(),
|
| + ui::ET_GESTURE_BEGIN,
|
| + ui::ET_GESTURE_TAP_DOWN);
|
|
|
| // Move the touch-point enough so that it is considered as a scroll. This
|
| // should generate both SCROLL_BEGIN and SCROLL_UPDATE gestures.
|
| // The first movement is diagonal, to ensure that we have a free scroll,
|
| // and not a rail scroll.
|
| SendScrollEvent(root_window(), 130, 230, kTouchId, delegate.get());
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->begin());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_TRUE(delegate->scroll_begin());
|
| - EXPECT_TRUE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| + EXPECT_3_EVENTS(delegate->events(),
|
| + ui::ET_GESTURE_TAP_CANCEL,
|
| + ui::ET_GESTURE_SCROLL_BEGIN,
|
| + ui::ET_GESTURE_SCROLL_UPDATE);
|
| EXPECT_EQ(29, delegate->scroll_x());
|
| EXPECT_EQ(29, delegate->scroll_y());
|
| EXPECT_EQ(0, delegate->scroll_velocity_x());
|
| @@ -775,25 +821,13 @@ TEST_F(GestureRecognizerTest, GestureEventScroll) {
|
|
|
| // Move some more to generate a few more scroll updates.
|
| SendScrollEvent(root_window(), 110, 211, kTouchId, delegate.get());
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->begin());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_TRUE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| + EXPECT_1_EVENT(delegate->events(), ui::ET_GESTURE_SCROLL_UPDATE);
|
| EXPECT_EQ(-20, delegate->scroll_x());
|
| EXPECT_EQ(-19, delegate->scroll_y());
|
| EXPECT_TRUE(delegate->bounding_box().IsEmpty());
|
|
|
| SendScrollEvent(root_window(), 140, 215, kTouchId, delegate.get());
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->begin());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_TRUE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| + EXPECT_1_EVENT(delegate->events(), ui::ET_GESTURE_SCROLL_UPDATE);
|
| EXPECT_EQ(30, delegate->scroll_x());
|
| EXPECT_EQ(4, delegate->scroll_y());
|
| EXPECT_TRUE(delegate->bounding_box().IsEmpty());
|
| @@ -804,14 +838,9 @@ TEST_F(GestureRecognizerTest, GestureEventScroll) {
|
| kTouchId, press.time_stamp() +
|
| base::TimeDelta::FromMilliseconds(50));
|
| root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->begin());
|
| - EXPECT_TRUE(delegate->end());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_TRUE(delegate->scroll_end());
|
| + EXPECT_2_EVENTS(delegate->events(),
|
| + ui::ET_GESTURE_SCROLL_END,
|
| + ui::ET_GESTURE_END);
|
| EXPECT_TRUE(delegate->bounding_box().IsEmpty());
|
| }
|
|
|
| @@ -1012,6 +1041,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 +1050,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 +1090,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 +1143,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 +1158,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 +1272,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 +1287,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 +1302,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 +1318,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 +1333,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 +1347,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 +1362,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 +1389,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 +1405,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 +1425,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 +1443,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 +1455,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 +1471,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 +1488,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 +1497,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 +1515,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 +1523,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 +1535,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 +1546,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 +1561,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());
|
| @@ -1532,12 +1591,9 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201),
|
| kTouchId1, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_TRUE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| + EXPECT_2_EVENTS(delegate->events(),
|
| + ui::ET_GESTURE_BEGIN,
|
| + ui::ET_GESTURE_TAP_DOWN);
|
|
|
| // Move the touch-point enough so that it is considered as a scroll. This
|
| // should generate both SCROLL_BEGIN and SCROLL_UPDATE gestures.
|
| @@ -1545,12 +1601,10 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(130, 301),
|
| kTouchId1, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_TRUE(delegate->scroll_begin());
|
| - EXPECT_TRUE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| + EXPECT_3_EVENTS(delegate->events(),
|
| + ui::ET_GESTURE_TAP_CANCEL,
|
| + ui::ET_GESTURE_SCROLL_BEGIN,
|
| + ui::ET_GESTURE_SCROLL_UPDATE);
|
|
|
| // Press the second finger. It should cause pinch-begin. Note that we will not
|
| // transition to two finger tap here because the touch points are far enough.
|
| @@ -1558,13 +1612,9 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(10, 10),
|
| kTouchId2, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down()); // no touch down for second tap.
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| - EXPECT_TRUE(delegate->pinch_begin());
|
| + EXPECT_2_EVENTS(delegate->events(),
|
| + ui::ET_GESTURE_BEGIN,
|
| + ui::ET_GESTURE_PINCH_BEGIN);
|
| EXPECT_EQ(gfx::Rect(10, 10, 120, 291).ToString(),
|
| delegate->bounding_box().ToString());
|
|
|
| @@ -1573,14 +1623,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| ui::TouchEvent move3(ui::ET_TOUCH_MOVED, gfx::Point(95, 201),
|
| kTouchId1, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move3);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| - EXPECT_FALSE(delegate->pinch_begin());
|
| - EXPECT_TRUE(delegate->pinch_update());
|
| + EXPECT_1_EVENT(delegate->events(), ui::ET_GESTURE_PINCH_UPDATE);
|
| EXPECT_EQ(gfx::Rect(10, 10, 85, 191).ToString(),
|
| delegate->bounding_box().ToString());
|
|
|
| @@ -1589,14 +1632,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| ui::TouchEvent move4(ui::ET_TOUCH_MOVED, gfx::Point(55, 15),
|
| kTouchId2, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move4);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| - EXPECT_FALSE(delegate->pinch_begin());
|
| - EXPECT_TRUE(delegate->pinch_update());
|
| + EXPECT_1_EVENT(delegate->events(), ui::ET_GESTURE_PINCH_UPDATE);
|
| EXPECT_EQ(gfx::Rect(55, 15, 40, 186).ToString(),
|
| delegate->bounding_box().ToString());
|
|
|
| @@ -1606,13 +1642,9 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| kTouchId1, press.time_stamp() +
|
| base::TimeDelta::FromMilliseconds(50));
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| - EXPECT_TRUE(delegate->pinch_end());
|
| + EXPECT_2_EVENTS(delegate->events(),
|
| + ui::ET_GESTURE_PINCH_END,
|
| + ui::ET_GESTURE_END);
|
| EXPECT_EQ(gfx::Rect(55, 15, 46, 186).ToString(),
|
| delegate->bounding_box().ToString());
|
|
|
| @@ -1621,14 +1653,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) {
|
| ui::TouchEvent move5(ui::ET_TOUCH_MOVED, gfx::Point(25, 10),
|
| kTouchId2, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move5);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_TRUE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| - EXPECT_FALSE(delegate->pinch_begin());
|
| - EXPECT_FALSE(delegate->pinch_update());
|
| + EXPECT_1_EVENT(delegate->events(), ui::ET_GESTURE_SCROLL_UPDATE);
|
| EXPECT_TRUE(delegate->bounding_box().IsEmpty());
|
| }
|
|
|
| @@ -1700,12 +1725,9 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 301),
|
| kTouchId1, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_TRUE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| + EXPECT_2_EVENTS(delegate->events(),
|
| + ui::ET_GESTURE_BEGIN,
|
| + ui::ET_GESTURE_TAP_DOWN);
|
| EXPECT_TRUE(delegate->bounding_box().IsEmpty());
|
|
|
| // Press the second finger far enough to break two finger tap. It should
|
| @@ -1714,13 +1736,11 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(10, 10),
|
| kTouchId2, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down()); // no touch down for second tap.
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_TRUE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| - EXPECT_TRUE(delegate->pinch_begin());
|
| + EXPECT_4_EVENTS(delegate->events(),
|
| + ui::ET_GESTURE_TAP_CANCEL,
|
| + ui::ET_GESTURE_BEGIN,
|
| + ui::ET_GESTURE_PINCH_BEGIN,
|
| + ui::ET_GESTURE_SCROLL_BEGIN);
|
| EXPECT_EQ(gfx::Rect(10, 10, 91, 291).ToString(),
|
| delegate->bounding_box().ToString());
|
|
|
| @@ -1729,14 +1749,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| ui::TouchEvent move3(ui::ET_TOUCH_MOVED, gfx::Point(65, 201),
|
| kTouchId1, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move3);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| - EXPECT_FALSE(delegate->pinch_begin());
|
| - EXPECT_TRUE(delegate->pinch_update());
|
| + EXPECT_1_EVENT(delegate->events(), ui::ET_GESTURE_PINCH_UPDATE);
|
| EXPECT_EQ(gfx::Rect(10, 10, 55, 191).ToString(),
|
| delegate->bounding_box().ToString());
|
|
|
| @@ -1745,14 +1758,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| ui::TouchEvent move4(ui::ET_TOUCH_MOVED, gfx::Point(55, 15),
|
| kTouchId2, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move4);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| - EXPECT_FALSE(delegate->pinch_begin());
|
| - EXPECT_TRUE(delegate->pinch_update());
|
| + EXPECT_1_EVENT(delegate->events(), ui::ET_GESTURE_PINCH_UPDATE);
|
| EXPECT_EQ(gfx::Rect(55, 15, 10, 186).ToString(),
|
| delegate->bounding_box().ToString());
|
|
|
| @@ -1762,13 +1768,9 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| kTouchId1, press.time_stamp() +
|
| base::TimeDelta::FromMilliseconds(50));
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&release);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_FALSE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| - EXPECT_TRUE(delegate->pinch_end());
|
| + EXPECT_2_EVENTS(delegate->events(),
|
| + ui::ET_GESTURE_PINCH_END,
|
| + ui::ET_GESTURE_END);
|
| EXPECT_EQ(gfx::Rect(55, 15, 46, 186).ToString(),
|
| delegate->bounding_box().ToString());
|
|
|
| @@ -1777,14 +1779,7 @@ TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) {
|
| ui::TouchEvent move5(ui::ET_TOUCH_MOVED, gfx::Point(25, 10),
|
| kTouchId2, GetTime());
|
| root->AsRootWindowHostDelegate()->OnHostTouchEvent(&move5);
|
| - EXPECT_FALSE(delegate->tap());
|
| - EXPECT_FALSE(delegate->tap_down());
|
| - EXPECT_FALSE(delegate->double_tap());
|
| - EXPECT_FALSE(delegate->scroll_begin());
|
| - EXPECT_TRUE(delegate->scroll_update());
|
| - EXPECT_FALSE(delegate->scroll_end());
|
| - EXPECT_FALSE(delegate->pinch_begin());
|
| - EXPECT_FALSE(delegate->pinch_update());
|
| + EXPECT_1_EVENT(delegate->events(), ui::ET_GESTURE_SCROLL_UPDATE);
|
| EXPECT_TRUE(delegate->bounding_box().IsEmpty());
|
| }
|
|
|
| @@ -1939,6 +1934,7 @@ TEST_F(GestureRecognizerTest, NoTapWithPreventDefaultedRelease) {
|
| delegate->Reset();
|
| delegate->ReceivedAckPreventDefaulted();
|
| EXPECT_FALSE(delegate->tap());
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| }
|
|
|
| TEST_F(GestureRecognizerTest, PinchScrollWithPreventDefaultedRelease) {
|
| @@ -1970,6 +1966,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 +2045,7 @@ TEST_F(GestureRecognizerTest, CaptureSendsGestureEnd) {
|
| RunAllPendingInMessageLoop();
|
|
|
| EXPECT_TRUE(delegate->end());
|
| + EXPECT_TRUE(delegate->tap_cancel());
|
| }
|
|
|
| TEST_F(GestureRecognizerTest, PressDoesNotCrash) {
|
| @@ -2074,6 +2072,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 +2117,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 +2141,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 +2155,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 +2173,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 +2191,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 +2209,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 +2464,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 +2478,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 +2585,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 +2594,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 +2613,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 +2633,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 +2645,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 +2662,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 +2704,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 +2748,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 +2793,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 +2849,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());
|
|
|
|
|