| 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 3ef699daf631a46cbb3e7914f4037161c33ac632..3a48c2f27e0557351527ca7ecb2b55e51e2dda62 100644
|
| --- a/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
|
| +++ b/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
|
| @@ -17,7 +17,6 @@
|
| #include "base/time/time.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "ui/events/devices/device_data_manager.h"
|
| -#include "ui/events/event.h"
|
| #include "ui/events/ozone/evdev/touch_event_converter_evdev.h"
|
| #include "ui/events/platform/platform_event_dispatcher.h"
|
| #include "ui/events/platform/platform_event_source.h"
|
| @@ -47,11 +46,9 @@ class MockTouchEventConverterEvdev : public TouchEventConverterEvdev {
|
| long queue_index);
|
|
|
| unsigned size() { return dispatched_events_.size(); }
|
| - TouchEvent* event(unsigned index) {
|
| + const TouchEventParams& event(unsigned index) {
|
| DCHECK_GT(dispatched_events_.size(), index);
|
| - Event* ev = dispatched_events_[index];
|
| - DCHECK(ev->IsTouchEvent());
|
| - return static_cast<TouchEvent*>(ev);
|
| + return dispatched_events_[index];
|
| }
|
|
|
| // Actually dispatch the event reader code.
|
| @@ -60,8 +57,8 @@ class MockTouchEventConverterEvdev : public TouchEventConverterEvdev {
|
| base::RunLoop().RunUntilIdle();
|
| }
|
|
|
| - void DispatchCallback(scoped_ptr<Event> event) {
|
| - dispatched_events_.push_back(event.release());
|
| + void DispatchCallback(const TouchEventParams& params) {
|
| + dispatched_events_.push_back(params);
|
| }
|
|
|
| void Initialize(const EventDeviceInfo& device_info) override {}
|
| @@ -71,7 +68,7 @@ class MockTouchEventConverterEvdev : public TouchEventConverterEvdev {
|
| int read_pipe_;
|
| int write_pipe_;
|
|
|
| - ScopedVector<Event> dispatched_events_;
|
| + std::vector<TouchEventParams> dispatched_events_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MockTouchEventConverterEvdev);
|
| };
|
| @@ -185,17 +182,15 @@ TEST_F(TouchEventConverterEvdevTest, TouchDown) {
|
| dev->ReadNow();
|
| EXPECT_EQ(1u, dev->size());
|
|
|
| - ui::TouchEvent* event = dev->event(0);
|
| - EXPECT_FALSE(event == NULL);
|
| -
|
| - EXPECT_EQ(ui::ET_TOUCH_PRESSED, event->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), event->time_stamp());
|
| - EXPECT_EQ(42, event->x());
|
| - EXPECT_EQ(51, event->y());
|
| - EXPECT_EQ(0, event->touch_id());
|
| - EXPECT_FLOAT_EQ(1.5f, event->radius_x());
|
| - EXPECT_FLOAT_EQ(.5f, event->force());
|
| - EXPECT_FLOAT_EQ(0.f, event->rotation_angle());
|
| + ui::TouchEventParams event = dev->event(0);
|
| +
|
| + EXPECT_EQ(ui::ET_TOUCH_PRESSED, event.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), event.timestamp);
|
| + EXPECT_EQ(42, event.location.x());
|
| + EXPECT_EQ(51, event.location.y());
|
| + EXPECT_EQ(0, event.touch_id);
|
| + EXPECT_FLOAT_EQ(1.5f, event.radii.x());
|
| + EXPECT_FLOAT_EQ(.5f, event.pressure);
|
| }
|
|
|
| TEST_F(TouchEventConverterEvdevTest, NoEvents) {
|
| @@ -233,30 +228,26 @@ TEST_F(TouchEventConverterEvdevTest, TouchMove) {
|
| dev->ConfigureReadMock(mock_kernel_queue_move1, 4, 0);
|
| dev->ReadNow();
|
| EXPECT_EQ(2u, dev->size());
|
| - ui::TouchEvent* event = dev->event(1);
|
| - EXPECT_FALSE(event == NULL);
|
| + ui::TouchEventParams event = dev->event(1);
|
|
|
| - EXPECT_EQ(ui::ET_TOUCH_MOVED, event->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), event->time_stamp());
|
| - EXPECT_EQ(42, event->x());
|
| - EXPECT_EQ(43, event->y());
|
| - EXPECT_EQ(0, event->touch_id());
|
| - EXPECT_FLOAT_EQ(2.f / 3.f, event->force());
|
| - EXPECT_FLOAT_EQ(0.f, event->rotation_angle());
|
| + EXPECT_EQ(ui::ET_TOUCH_MOVED, event.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), event.timestamp);
|
| + EXPECT_EQ(42, event.location.x());
|
| + EXPECT_EQ(43, event.location.y());
|
| + EXPECT_EQ(0, event.touch_id);
|
| + EXPECT_FLOAT_EQ(2.f / 3.f, event.pressure);
|
|
|
| dev->ConfigureReadMock(mock_kernel_queue_move2, 2, 0);
|
| dev->ReadNow();
|
| EXPECT_EQ(3u, dev->size());
|
| event = dev->event(2);
|
| - EXPECT_FALSE(event == NULL);
|
| -
|
| - EXPECT_EQ(ui::ET_TOUCH_MOVED, event->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), event->time_stamp());
|
| - EXPECT_EQ(42, event->x());
|
| - EXPECT_EQ(42, event->y());
|
| - EXPECT_EQ(0, event->touch_id());
|
| - EXPECT_FLOAT_EQ(2.f / 3.f, event->force());
|
| - EXPECT_FLOAT_EQ(0.f, event->rotation_angle());
|
| +
|
| + EXPECT_EQ(ui::ET_TOUCH_MOVED, event.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), event.timestamp);
|
| + EXPECT_EQ(42, event.location.x());
|
| + EXPECT_EQ(42, event.location.y());
|
| + EXPECT_EQ(0, event.touch_id);
|
| + EXPECT_FLOAT_EQ(2.f / 3.f, event.pressure);
|
| }
|
|
|
| TEST_F(TouchEventConverterEvdevTest, TouchRelease) {
|
| @@ -278,30 +269,24 @@ TEST_F(TouchEventConverterEvdevTest, TouchRelease) {
|
| dev->ConfigureReadMock(mock_kernel_queue_press, 6, 0);
|
| dev->ReadNow();
|
| EXPECT_EQ(1u, dev->size());
|
| - ui::TouchEvent* event = dev->event(0);
|
| - EXPECT_FALSE(event == NULL);
|
| + ui::TouchEventParams event = dev->event(0);
|
|
|
| dev->ConfigureReadMock(mock_kernel_queue_release, 2, 0);
|
| dev->ReadNow();
|
| EXPECT_EQ(2u, dev->size());
|
| event = dev->event(1);
|
| - EXPECT_FALSE(event == NULL);
|
| -
|
| - EXPECT_EQ(ui::ET_TOUCH_RELEASED, event->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), event->time_stamp());
|
| - EXPECT_EQ(42, event->x());
|
| - EXPECT_EQ(51, event->y());
|
| - EXPECT_EQ(0, event->touch_id());
|
| - EXPECT_FLOAT_EQ(.5f, event->force());
|
| - EXPECT_FLOAT_EQ(0.f, event->rotation_angle());
|
| +
|
| + EXPECT_EQ(ui::ET_TOUCH_RELEASED, event.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), event.timestamp);
|
| + EXPECT_EQ(42, event.location.x());
|
| + EXPECT_EQ(51, event.location.y());
|
| + EXPECT_EQ(0, event.touch_id);
|
| + EXPECT_FLOAT_EQ(.5f, event.pressure);
|
| }
|
|
|
| TEST_F(TouchEventConverterEvdevTest, TwoFingerGesture) {
|
| ui::MockTouchEventConverterEvdev* dev = device();
|
|
|
| - ui::TouchEvent* ev0;
|
| - ui::TouchEvent* ev1;
|
| -
|
| struct input_event mock_kernel_queue_press0[] = {
|
| {{0, 0}, EV_ABS, ABS_MT_TRACKING_ID, 684},
|
| {{0, 0}, EV_ABS, ABS_MT_TOUCH_MAJOR, 3},
|
| @@ -334,26 +319,24 @@ TEST_F(TouchEventConverterEvdevTest, TwoFingerGesture) {
|
| dev->ConfigureReadMock(mock_kernel_queue_move0press1, 9, 0);
|
| dev->ReadNow();
|
| EXPECT_EQ(4u, dev->size());
|
| - ev0 = dev->event(2);
|
| - ev1 = dev->event(3);
|
| + ui::TouchEventParams ev0 = dev->event(2);
|
| + ui::TouchEventParams ev1 = dev->event(3);
|
|
|
| // Move
|
| - EXPECT_EQ(ui::ET_TOUCH_MOVED, ev0->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev0->time_stamp());
|
| - EXPECT_EQ(40, ev0->x());
|
| - EXPECT_EQ(51, ev0->y());
|
| - EXPECT_EQ(0, ev0->touch_id());
|
| - EXPECT_FLOAT_EQ(.5f, ev0->force());
|
| - EXPECT_FLOAT_EQ(0.f, ev0->rotation_angle());
|
| + EXPECT_EQ(ui::ET_TOUCH_MOVED, ev0.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev0.timestamp);
|
| + EXPECT_EQ(40, ev0.location.x());
|
| + EXPECT_EQ(51, ev0.location.y());
|
| + EXPECT_EQ(0, ev0.touch_id);
|
| + EXPECT_FLOAT_EQ(.5f, ev0.pressure);
|
|
|
| // Press
|
| - EXPECT_EQ(ui::ET_TOUCH_PRESSED, ev1->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev1->time_stamp());
|
| - EXPECT_EQ(101, ev1->x());
|
| - EXPECT_EQ(102, ev1->y());
|
| - EXPECT_EQ(1, ev1->touch_id());
|
| - EXPECT_FLOAT_EQ(.5f, ev1->force());
|
| - EXPECT_FLOAT_EQ(0.f, ev1->rotation_angle());
|
| + EXPECT_EQ(ui::ET_TOUCH_PRESSED, ev1.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev1.timestamp);
|
| + EXPECT_EQ(101, ev1.location.x());
|
| + EXPECT_EQ(102, ev1.location.y());
|
| + EXPECT_EQ(1, ev1.touch_id);
|
| + EXPECT_FLOAT_EQ(.5f, ev1.pressure);
|
|
|
| // Stationary 0, Moves 1.
|
| struct input_event mock_kernel_queue_stationary0_move1[] = {
|
| @@ -364,14 +347,13 @@ TEST_F(TouchEventConverterEvdevTest, TwoFingerGesture) {
|
| EXPECT_EQ(5u, dev->size());
|
| ev1 = dev->event(4);
|
|
|
| - EXPECT_EQ(ui::ET_TOUCH_MOVED, ev1->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev1->time_stamp());
|
| - EXPECT_EQ(40, ev1->x());
|
| - EXPECT_EQ(102, ev1->y());
|
| - EXPECT_EQ(1, ev1->touch_id());
|
| + EXPECT_EQ(ui::ET_TOUCH_MOVED, ev1.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev1.timestamp);
|
| + EXPECT_EQ(40, ev1.location.x());
|
| + EXPECT_EQ(102, ev1.location.y());
|
| + EXPECT_EQ(1, ev1.touch_id);
|
|
|
| - EXPECT_FLOAT_EQ(.5f, ev1->force());
|
| - EXPECT_FLOAT_EQ(0.f, ev1->rotation_angle());
|
| + EXPECT_FLOAT_EQ(.5f, ev1.pressure);
|
|
|
| // Move 0, stationary 1.
|
| struct input_event mock_kernel_queue_move0_stationary1[] = {
|
| @@ -383,13 +365,12 @@ TEST_F(TouchEventConverterEvdevTest, TwoFingerGesture) {
|
| EXPECT_EQ(6u, dev->size());
|
| ev0 = dev->event(5);
|
|
|
| - EXPECT_EQ(ui::ET_TOUCH_MOVED, ev0->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev0->time_stamp());
|
| - EXPECT_EQ(39, ev0->x());
|
| - EXPECT_EQ(51, ev0->y());
|
| - EXPECT_EQ(0, ev0->touch_id());
|
| - EXPECT_FLOAT_EQ(.5f, ev0->force());
|
| - EXPECT_FLOAT_EQ(0.f, ev0->rotation_angle());
|
| + EXPECT_EQ(ui::ET_TOUCH_MOVED, ev0.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev0.timestamp);
|
| + EXPECT_EQ(39, ev0.location.x());
|
| + EXPECT_EQ(51, ev0.location.y());
|
| + EXPECT_EQ(0, ev0.touch_id);
|
| + EXPECT_FLOAT_EQ(.5f, ev0.pressure);
|
|
|
| // Release 0, move 1.
|
| struct input_event mock_kernel_queue_release0_move1[] = {
|
| @@ -402,21 +383,19 @@ TEST_F(TouchEventConverterEvdevTest, TwoFingerGesture) {
|
| ev0 = dev->event(6);
|
| ev1 = dev->event(7);
|
|
|
| - EXPECT_EQ(ui::ET_TOUCH_RELEASED, ev0->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev0->time_stamp());
|
| - EXPECT_EQ(39, ev0->x());
|
| - EXPECT_EQ(51, ev0->y());
|
| - EXPECT_EQ(0, ev0->touch_id());
|
| - EXPECT_FLOAT_EQ(.5f, ev0->force());
|
| - EXPECT_FLOAT_EQ(0.f, ev0->rotation_angle());
|
| -
|
| - EXPECT_EQ(ui::ET_TOUCH_MOVED, ev1->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev1->time_stamp());
|
| - EXPECT_EQ(38, ev1->x());
|
| - EXPECT_EQ(102, ev1->y());
|
| - EXPECT_EQ(1, ev1->touch_id());
|
| - EXPECT_FLOAT_EQ(.5f, ev1->force());
|
| - EXPECT_FLOAT_EQ(0.f, ev1->rotation_angle());
|
| + EXPECT_EQ(ui::ET_TOUCH_RELEASED, ev0.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev0.timestamp);
|
| + EXPECT_EQ(39, ev0.location.x());
|
| + EXPECT_EQ(51, ev0.location.y());
|
| + EXPECT_EQ(0, ev0.touch_id);
|
| + EXPECT_FLOAT_EQ(.5f, ev0.pressure);
|
| +
|
| + EXPECT_EQ(ui::ET_TOUCH_MOVED, ev1.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev1.timestamp);
|
| + EXPECT_EQ(38, ev1.location.x());
|
| + EXPECT_EQ(102, ev1.location.y());
|
| + EXPECT_EQ(1, ev1.touch_id);
|
| + EXPECT_FLOAT_EQ(.5f, ev1.pressure);
|
|
|
| // Release 1.
|
| struct input_event mock_kernel_queue_release1[] = {
|
| @@ -427,13 +406,12 @@ TEST_F(TouchEventConverterEvdevTest, TwoFingerGesture) {
|
| EXPECT_EQ(9u, dev->size());
|
| ev1 = dev->event(8);
|
|
|
| - EXPECT_EQ(ui::ET_TOUCH_RELEASED, ev1->type());
|
| - EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev1->time_stamp());
|
| - EXPECT_EQ(38, ev1->x());
|
| - EXPECT_EQ(102, ev1->y());
|
| - EXPECT_EQ(1, ev1->touch_id());
|
| - EXPECT_FLOAT_EQ(.5f, ev1->force());
|
| - EXPECT_FLOAT_EQ(0.f, ev1->rotation_angle());
|
| + EXPECT_EQ(ui::ET_TOUCH_RELEASED, ev1.type);
|
| + EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev1.timestamp);
|
| + EXPECT_EQ(38, ev1.location.x());
|
| + EXPECT_EQ(102, ev1.location.y());
|
| + EXPECT_EQ(1, ev1.touch_id);
|
| + EXPECT_FLOAT_EQ(.5f, ev1.pressure);
|
| }
|
|
|
| TEST_F(TouchEventConverterEvdevTest, TypeA) {
|
| @@ -525,18 +503,18 @@ TEST_F(TouchEventConverterEvdevTest,
|
| if (kExpectedEventCount != dev->size())
|
| return;
|
|
|
| - ui::TouchEvent* ev0 = dev->event(0);
|
| - ui::TouchEvent* ev1 = dev->event(1);
|
| + ui::TouchEventParams ev0 = dev->event(0);
|
| + ui::TouchEventParams 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(0, ev0.touch_id);
|
| + EXPECT_EQ(999, ev0.location.x());
|
| + EXPECT_EQ(888, ev0.location.y());
|
| + EXPECT_FLOAT_EQ(0.8333333f, ev0.pressure);
|
|
|
| - EXPECT_EQ(1, ev1->touch_id());
|
| - EXPECT_EQ(777, ev1->x());
|
| - EXPECT_EQ(666, ev1->y());
|
| - EXPECT_FLOAT_EQ(0.4666666f, ev1->force());
|
| + EXPECT_EQ(1, ev1.touch_id);
|
| + EXPECT_EQ(777, ev1.location.x());
|
| + EXPECT_EQ(666, ev1.location.y());
|
| + EXPECT_FLOAT_EQ(0.4666666f, ev1.pressure);
|
| }
|
|
|
| // crbug.com/446939
|
|
|