Chromium Code Reviews| Index: ui/events/gesture_detection/gesture_provider_unittest.cc |
| diff --git a/ui/events/gesture_detection/gesture_provider_unittest.cc b/ui/events/gesture_detection/gesture_provider_unittest.cc |
| index 6be69847501c4a661da6f29abe2444b99e7ca19d..de81ff400c3fb5f14765b554998c834b0c6c306a 100644 |
| --- a/ui/events/gesture_detection/gesture_provider_unittest.cc |
| +++ b/ui/events/gesture_detection/gesture_provider_unittest.cc |
| @@ -1064,6 +1064,39 @@ TEST_F(GestureProviderTest, NoSlopRegionCheckOnThreeFingerScroll) { |
| EXPECT_EQ(3U, GetReceivedGestureCount()); |
| } |
| +TEST_F(GestureProviderTest, ScrollStartWithSecondaryPointer) { |
|
tdresser
2016/07/22 15:57:45
Out of curiosity, what ended up being the solution
sahel
2016/07/22 19:46:42
Creating events with the sequence of action_down,
|
| + EnableTwoFingerTap(kMaxTwoFingerTapSeparation, base::TimeDelta()); |
| + const float scaled_touch_slop = GetTouchSlop(); |
| + |
| + base::TimeTicks event_time = base::TimeTicks::Now(); |
| + |
| + MockMotionEvent event = |
| + ObtainMotionEvent(event_time, MotionEvent::ACTION_DOWN, 0, 0); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + |
| + // Wait for the two finger tap timeout, and put the second pointer down. |
| + event_time += kOneSecond; |
| + event = ObtainMotionEvent(event_time, MotionEvent::ACTION_POINTER_DOWN, 0, 0, |
| + kMaxTwoFingerTapSeparation / 2, 0); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + |
| + event.ReleasePointAt(0); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + |
| + event.set_action(MotionEvent::ACTION_MOVE); |
| + event.MovePoint(0, kMaxTwoFingerTapSeparation / 2, 2 * scaled_touch_slop); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + |
| + event.ReleasePoint(); |
| + EXPECT_TRUE(gesture_provider_->OnTouchEvent(event)); |
| + |
| + EXPECT_EQ(ET_GESTURE_TAP_DOWN, GetReceivedGesture(0).type()); |
| + EXPECT_EQ(ET_GESTURE_SCROLL_BEGIN, GetReceivedGesture(1).type()); |
| + EXPECT_EQ(ET_GESTURE_SCROLL_UPDATE, GetReceivedGesture(2).type()); |
| + EXPECT_EQ(ET_GESTURE_SCROLL_END, GetReceivedGesture(3).type()); |
| + EXPECT_EQ(4U, GetReceivedGestureCount()); |
| +} |
| + |
| TEST_F(GestureProviderTest, LongPressAndTapCancelledWhenScrollBegins) { |
| base::TimeTicks event_time = base::TimeTicks::Now(); |