Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Unified Diff: ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc

Issue 506303002: ozone: evdev: Fix ghost touches aligned with first touch (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add unit test Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/events/ozone/evdev/touch_event_converter_evdev.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
diff --git a/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc b/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
index ce2957a1ecebbf8bc1f803b49573ffef54a0e247..a8ce25f1523673bd7c92c062a39592822733c2a0 100644
--- a/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
+++ b/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
@@ -479,3 +479,48 @@ TEST_F(TouchEventConverterEvdevTest, Unsync) {
dev->ReadNow();
EXPECT_EQ(2u, dev->size());
}
+
+// crbug.com/407386
+TEST_F(TouchEventConverterEvdevTest,
+ DontChangeMultitouchPositionFromLegacyAxes) {
+ ui::MockTouchEventConverterEvdev* dev = device();
+
+ struct input_event mock_kernel_queue[] = {
+ {{0, 0}, EV_ABS, ABS_MT_SLOT, 0},
+ {{0, 0}, EV_ABS, ABS_MT_TRACKING_ID, 100},
+ {{0, 0}, EV_ABS, ABS_MT_POSITION_X, 999},
+ {{0, 0}, EV_ABS, ABS_MT_POSITION_Y, 888},
+ {{0, 0}, EV_ABS, ABS_MT_PRESSURE, 55},
+ {{0, 0}, EV_ABS, ABS_MT_SLOT, 1},
+ {{0, 0}, EV_ABS, ABS_MT_TRACKING_ID, 200},
+ {{0, 0}, EV_ABS, ABS_MT_PRESSURE, 44},
+ {{0, 0}, EV_ABS, ABS_MT_POSITION_X, 777},
+ {{0, 0}, EV_ABS, ABS_MT_POSITION_Y, 666},
+ {{0, 0}, EV_ABS, ABS_X, 999},
+ {{0, 0}, EV_ABS, ABS_Y, 888},
+ {{0, 0}, EV_ABS, ABS_PRESSURE, 55},
+ {{0, 0}, EV_SYN, SYN_REPORT, 0},
+ };
+
+ // Check that two events are generated.
+ dev->ConfigureReadMock(mock_kernel_queue, arraysize(mock_kernel_queue), 0);
+ dev->ReadNow();
+
+ const unsigned int kExpectedEventCount = 2;
+ EXPECT_EQ(kExpectedEventCount, dev->size());
+ if (kExpectedEventCount != dev->size())
+ return;
+
+ ui::TouchEvent* ev0 = dev->event(0);
+ ui::TouchEvent* ev1 = dev->event(1);
+
+ EXPECT_EQ(0, ev0->touch_id());
+ EXPECT_EQ(999, ev0->x());
+ EXPECT_EQ(888, ev0->y());
+ EXPECT_FLOAT_EQ(0.8333333f, ev0->force());
+
+ EXPECT_EQ(1, ev1->touch_id());
+ EXPECT_EQ(777, ev1->x());
+ EXPECT_EQ(666, ev1->y());
+ EXPECT_FLOAT_EQ(0.4666666f, ev1->force());
+}
« no previous file with comments | « ui/events/ozone/evdev/touch_event_converter_evdev.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698