Commit 0f34a9c6 authored by tdresser@chromium.org's avatar tdresser@chromium.org

Add multifinger swipe event to TouchDispositionGestureFilter.

TEST=TouchDispositionGestureFilterTest.TestDisallowedMultiFingerSwipe

Review URL: https://codereview.chromium.org/252753002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266439 0039d316-1c4b-4281-b951-d872f2087c98
parent 3e742833
......@@ -137,7 +137,7 @@ void MockMotionEvent::PressPoint(float x, float y) {
if (pointer_count == 1 && (action == ACTION_UP || action == ACTION_CANCEL))
pointer_count = 0;
DCHECK_LT(pointer_count + 1, static_cast<size_t>(MAX_POINTERS));
DCHECK_LT(pointer_count, static_cast<size_t>(MAX_POINTERS));
points[pointer_count++] = gfx::PointF(x, y);
action = pointer_count > 1 ? ACTION_POINTER_DOWN : ACTION_DOWN;
}
......
......@@ -98,6 +98,8 @@ DispositionHandlingInfo GetDispositionHandlingInfo(EventType type) {
return Info(RT_START);
case ET_GESTURE_END:
return Info(RT_NONE, ET_GESTURE_BEGIN);
case ET_GESTURE_MULTIFINGER_SWIPE:
return Info(RT_START, ET_GESTURE_SCROLL_BEGIN);
default:
break;
}
......
......@@ -938,4 +938,46 @@ TEST_F(TouchDispositionGestureFilterTest, TestCancelMidGesture) {
GetAndResetSentGestures()));
}
// Test that a MultiFingerSwipe event is dispatched when appropriate.
TEST_F(TouchDispositionGestureFilterTest, TestAllowedMultiFingerSwipe) {
PushGesture(ET_GESTURE_SCROLL_BEGIN);
PressTouchPoint(1, 1);
SendTouchNotConsumedAck();
EXPECT_TRUE(GesturesMatch(Gestures(ET_GESTURE_SCROLL_BEGIN),
GetAndResetSentGestures()));
PushGesture(ET_GESTURE_PINCH_BEGIN);
PressTouchPoint(1, 1);
SendTouchNotConsumedAck();
EXPECT_TRUE(GesturesMatch(Gestures(ET_GESTURE_PINCH_BEGIN),
GetAndResetSentGestures()));
PushGesture(ET_GESTURE_MULTIFINGER_SWIPE);
PressTouchPoint(1, 1);
SendTouchNotConsumedAck();
EXPECT_TRUE(GesturesMatch(Gestures(ET_GESTURE_MULTIFINGER_SWIPE),
GetAndResetSentGestures()));
}
// Test that a MultiFingerSwipe event is dispatched when appropriate.
TEST_F(TouchDispositionGestureFilterTest, TestDisallowedMultiFingerSwipe) {
PressTouchPoint(1, 1);
SendTouchNotConsumedAck();
PushGesture(ET_GESTURE_SCROLL_BEGIN);
MoveTouchPoint(0, 0, 0);
SendTouchConsumedAck();
EXPECT_FALSE(GesturesSent());
PushGesture(ET_GESTURE_PINCH_BEGIN);
PressTouchPoint(1, 1);
SendTouchNotConsumedAck();
EXPECT_FALSE(GesturesSent());
PushGesture(ET_GESTURE_MULTIFINGER_SWIPE);
PressTouchPoint(1, 1);
SendTouchNotConsumedAck();
EXPECT_FALSE(GesturesSent());
}
} // namespace ui
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment