diff options
author | robert.bradford <robert.bradford@intel.com> | 2016-02-12 10:54:45 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-12 18:55:42 +0000 |
commit | c1990afdf5870fa6d2488be9c19321e832feca26 (patch) | |
tree | 289efcec52a7e8a92632c170e26f967890aa801e /ui/aura | |
parent | 0405c5979e0beeae1696357340389202fae6b75b (diff) | |
download | chromium_src-c1990afdf5870fa6d2488be9c19321e832feca26.zip chromium_src-c1990afdf5870fa6d2488be9c19321e832feca26.tar.gz chromium_src-c1990afdf5870fa6d2488be9c19321e832feca26.tar.bz2 |
ui: Add ability to set PointerDetails on TouchEvent
This allows the removal of TouchEvent:set_radius_{x,y} and will allow
the propagation of pointer type from on-screen stylus devices.
BUG=519337,575162
TEST=aura_unittests:GestureRecongnizerTest, ozone_platform_egltest,
events_unittests:MotionEventAuraTest.ToolType,
EventTest.PointerEventDetailsCustomTouch
Review URL: https://codereview.chromium.org/1575993002
Cr-Commit-Position: refs/heads/master@{#375219}
Diffstat (limited to 'ui/aura')
-rw-r--r-- | ui/aura/gestures/gesture_recognizer_unittest.cc | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/ui/aura/gestures/gesture_recognizer_unittest.cc b/ui/aura/gestures/gesture_recognizer_unittest.cc index 820c914..64057fe 100644 --- a/ui/aura/gestures/gesture_recognizer_unittest.cc +++ b/ui/aura/gestures/gesture_recognizer_unittest.cc @@ -638,6 +638,18 @@ void DelayByShowPressTimeout() { run_loop.Run(); } +void SetTouchRadius(ui::TouchEvent* event, float radius_x, float radius_y) { + // Using ctor (over direct struct access) due to it's special behavior with + // radii. + ui::PointerDetails details(ui::EventPointerType::POINTER_TYPE_TOUCH, + radius_x, + radius_y, + event->pointer_details().force, + event->pointer_details().tilt_x, + event->pointer_details().tilt_y); + event->set_pointer_details(details); +} + } // namespace class GestureRecognizerTest : public AuraTestBase, @@ -738,8 +750,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), kTouchId, tes.Now()); - press.set_radius_x(5); - press.set_radius_y(12); + SetTouchRadius(&press, 5, 12); DispatchEventUsingWindowDispatcher(&press); EXPECT_FALSE(delegate->tap()); EXPECT_TRUE(delegate->tap_down()); @@ -755,8 +766,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), kTouchId, tes.LeapForward(50)); - release.set_radius_x(5); - release.set_radius_y(12); + SetTouchRadius(&release, 5, 12); DispatchEventUsingWindowDispatcher(&release); EXPECT_TRUE(delegate->tap()); @@ -781,8 +791,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(365, 290), kTouchId, tes.Now()); - press.set_radius_x(8); - press.set_radius_y(14); + SetTouchRadius(&press, 8, 14); DispatchEventUsingWindowDispatcher(&press); EXPECT_FALSE(delegate->tap()); EXPECT_TRUE(delegate->tap_down()); @@ -796,8 +805,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(367, 291), kTouchId, tes.LeapForward(50)); - release.set_radius_x(20); - release.set_radius_y(13); + SetTouchRadius(&release, 20, 13); DispatchEventUsingWindowDispatcher(&release); EXPECT_TRUE(delegate->tap()); @@ -822,8 +830,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(46, 205), kTouchId, tes.Now()); - press.set_radius_x(6); - press.set_radius_y(10); + SetTouchRadius(&press, 6, 10); DispatchEventUsingWindowDispatcher(&press); EXPECT_FALSE(delegate->tap()); EXPECT_TRUE(delegate->tap_down()); @@ -838,8 +845,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(49, 204), kTouchId, tes.LeapForward(50)); - move.set_radius_x(8); - move.set_radius_y(12); + SetTouchRadius(&move, 8, 12); DispatchEventUsingWindowDispatcher(&move); EXPECT_FALSE(delegate->tap()); EXPECT_FALSE(delegate->tap_down()); @@ -853,8 +859,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(49, 204), kTouchId, tes.LeapForward(50)); - release.set_radius_x(4); - release.set_radius_y(8); + SetTouchRadius(&release, 4, 8); DispatchEventUsingWindowDispatcher(&release); EXPECT_TRUE(delegate->tap()); @@ -879,8 +884,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(400, 150), kTouchId, tes.Now()); - press.set_radius_x(7); - press.set_radius_y(10); + SetTouchRadius(&press, 7, 10); DispatchEventUsingWindowDispatcher(&press); EXPECT_FALSE(delegate->tap()); EXPECT_TRUE(delegate->tap_down()); @@ -894,8 +898,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(397, 151), kTouchId, tes.LeapForward(50)); - move.set_radius_x(13); - move.set_radius_y(12); + SetTouchRadius(&move, 13, 12); DispatchEventUsingWindowDispatcher(&move); EXPECT_FALSE(delegate->tap()); EXPECT_FALSE(delegate->tap_down()); @@ -909,8 +912,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent move1(ui::ET_TOUCH_MOVED, gfx::Point(397, 149), kTouchId, tes.LeapForward(50)); - move1.set_radius_x(16); - move1.set_radius_y(16); + SetTouchRadius(&move1, 16, 16); DispatchEventUsingWindowDispatcher(&move1); EXPECT_FALSE(delegate->tap()); EXPECT_FALSE(delegate->tap_down()); @@ -924,8 +926,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent move2(ui::ET_TOUCH_MOVED, gfx::Point(400, 150), kTouchId, tes.LeapForward(50)); - move2.set_radius_x(14); - move2.set_radius_y(10); + SetTouchRadius(&move2, 14, 10); DispatchEventUsingWindowDispatcher(&move2); EXPECT_FALSE(delegate->tap()); EXPECT_FALSE(delegate->tap_down()); @@ -939,8 +940,7 @@ TEST_F(GestureRecognizerTest, GestureEventTapRegion) { delegate->Reset(); ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(401, 149), kTouchId, tes.LeapForward(50)); - release.set_radius_x(8); - release.set_radius_y(9); + SetTouchRadius(&release, 8, 9); DispatchEventUsingWindowDispatcher(&release); EXPECT_TRUE(delegate->tap()); @@ -2532,7 +2532,7 @@ TEST_F(GestureRecognizerTest, PressDoesNotCrash) { delegate.get(), -1234, gfx::Rect(10, 10, 300, 300), root_window())); ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(45, 45), 7, tes.Now()); - press.set_radius_x(40); + SetTouchRadius(&press, 40, 0); DispatchEventUsingWindowDispatcher(&press); EXPECT_TRUE(delegate->tap_down()); EXPECT_EQ(gfx::Rect(5, 5, 80, 80).ToString(), @@ -3462,7 +3462,7 @@ TEST_F(GestureRecognizerTest, BoundingBoxRadiusChange) { ui::TouchEvent press2( ui::ET_TOUCH_PRESSED, gfx::Point(201, 201), kTouchId2, tes.LeapForward(400)); - press2.set_radius_x(5); + SetTouchRadius(&press2, 5, 0); DispatchEventUsingWindowDispatcher(&press2); EXPECT_FALSE(delegate->pinch_begin()); EXPECT_EQ(gfx::Rect(101, 196, 105, 10).ToString(), @@ -3482,8 +3482,7 @@ TEST_F(GestureRecognizerTest, BoundingBoxRadiusChange) { // The position doesn't move, but the radius changes. ui::TouchEvent move2( ui::ET_TOUCH_MOVED, gfx::Point(50, 50), kTouchId, tes.LeapForward(40)); - move2.set_radius_x(50); - move2.set_radius_y(60); + SetTouchRadius(&move2, 50, 60); DispatchEventUsingWindowDispatcher(&move2); EXPECT_FALSE(delegate->tap()); EXPECT_FALSE(delegate->tap_cancel()); |