OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <errno.h> | 5 #include <errno.h> |
6 #include <fcntl.h> | 6 #include <fcntl.h> |
7 #include <linux/input.h> | 7 #include <linux/input.h> |
8 #include <unistd.h> | 8 #include <unistd.h> |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 int read_pipe_; | 70 int read_pipe_; |
71 int write_pipe_; | 71 int write_pipe_; |
72 | 72 |
73 ScopedVector<Event> dispatched_events_; | 73 ScopedVector<Event> dispatched_events_; |
74 | 74 |
75 DISALLOW_COPY_AND_ASSIGN(MockTabletEventConverterEvdev); | 75 DISALLOW_COPY_AND_ASSIGN(MockTabletEventConverterEvdev); |
76 }; | 76 }; |
77 | 77 |
78 class MockTabletCursorEvdev : public CursorDelegateEvdev { | 78 class MockTabletCursorEvdev : public CursorDelegateEvdev { |
79 public: | 79 public: |
80 MockTabletCursorEvdev() { cursor_display_bounds_ = gfx::Rect(1024, 768); } | 80 MockTabletCursorEvdev() { cursor_confined_bounds_ = gfx::Rect(1024, 768); } |
81 ~MockTabletCursorEvdev() override {} | 81 ~MockTabletCursorEvdev() override {} |
82 | 82 |
83 // CursorDelegateEvdev: | 83 // CursorDelegateEvdev: |
84 void MoveCursorTo(gfx::AcceleratedWidget widget, | 84 void MoveCursorTo(gfx::AcceleratedWidget widget, |
85 const gfx::PointF& location) override { | 85 const gfx::PointF& location) override { |
86 NOTREACHED(); | 86 NOTREACHED(); |
87 } | 87 } |
88 void MoveCursorTo(const gfx::PointF& location) override { | 88 void MoveCursorTo(const gfx::PointF& location) override { |
89 cursor_location_ = location; | 89 cursor_location_ = location; |
90 } | 90 } |
91 void MoveCursor(const gfx::Vector2dF& delta) override { NOTREACHED(); } | 91 void MoveCursor(const gfx::Vector2dF& delta) override { NOTREACHED(); } |
92 bool IsCursorVisible() override { return 1; } | 92 bool IsCursorVisible() override { return 1; } |
93 gfx::PointF GetLocation() override { return cursor_location_; } | 93 gfx::PointF GetLocation() override { return cursor_location_; } |
94 gfx::Rect GetCursorDisplayBounds() override { return cursor_display_bounds_; } | 94 gfx::Rect GetCursorConfinedBounds() override { |
| 95 return cursor_confined_bounds_; |
| 96 } |
95 | 97 |
96 private: | 98 private: |
97 gfx::PointF cursor_location_; | 99 gfx::PointF cursor_location_; |
98 gfx::Rect cursor_display_bounds_; | 100 gfx::Rect cursor_confined_bounds_; |
99 DISALLOW_COPY_AND_ASSIGN(MockTabletCursorEvdev); | 101 DISALLOW_COPY_AND_ASSIGN(MockTabletCursorEvdev); |
100 }; | 102 }; |
101 | 103 |
102 MockTabletEventConverterEvdev::MockTabletEventConverterEvdev( | 104 MockTabletEventConverterEvdev::MockTabletEventConverterEvdev( |
103 int fd, | 105 int fd, |
104 base::FilePath path, | 106 base::FilePath path, |
105 EventModifiersEvdev* modifiers, | 107 EventModifiersEvdev* modifiers, |
106 CursorDelegateEvdev* cursor) | 108 CursorDelegateEvdev* cursor) |
107 : TabletEventConverterEvdev( | 109 : TabletEventConverterEvdev( |
108 fd, | 110 fd, |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 {{0, 0}, EV_SYN, SYN_REPORT, 0}, | 246 {{0, 0}, EV_SYN, SYN_REPORT, 0}, |
245 }; | 247 }; |
246 | 248 |
247 dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue)); | 249 dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue)); |
248 EXPECT_EQ(1u, dev->size()); | 250 EXPECT_EQ(1u, dev->size()); |
249 | 251 |
250 ui::MouseEvent* event = dev->event(0); | 252 ui::MouseEvent* event = dev->event(0); |
251 EXPECT_EQ(ui::ET_MOUSE_MOVED, event->type()); | 253 EXPECT_EQ(ui::ET_MOUSE_MOVED, event->type()); |
252 | 254 |
253 EXPECT_GT(cursor()->GetLocation().x(), | 255 EXPECT_GT(cursor()->GetLocation().x(), |
254 cursor()->GetCursorDisplayBounds().width() - EPSILON); | 256 cursor()->GetCursorConfinedBounds().width() - EPSILON); |
255 EXPECT_LT(cursor()->GetLocation().y(), EPSILON); | 257 EXPECT_LT(cursor()->GetLocation().y(), EPSILON); |
256 } | 258 } |
257 | 259 |
258 TEST_F(TabletEventConverterEvdevTest, MoveBottomLeft) { | 260 TEST_F(TabletEventConverterEvdevTest, MoveBottomLeft) { |
259 ui::MockTabletEventConverterEvdev* dev = device(); | 261 ui::MockTabletEventConverterEvdev* dev = device(); |
260 | 262 |
261 struct input_event mock_kernel_queue[] = { | 263 struct input_event mock_kernel_queue[] = { |
262 {{0, 0}, EV_ABS, ABS_Y, 40640}, | 264 {{0, 0}, EV_ABS, ABS_Y, 40640}, |
263 {{0, 0}, EV_ABS, ABS_DISTANCE, 62}, | 265 {{0, 0}, EV_ABS, ABS_DISTANCE, 62}, |
264 {{0, 0}, EV_ABS, ABS_TILT_X, 95}, | 266 {{0, 0}, EV_ABS, ABS_TILT_X, 95}, |
(...skipping 13 matching lines...) Expand all Loading... |
278 }; | 280 }; |
279 | 281 |
280 dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue)); | 282 dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue)); |
281 EXPECT_EQ(1u, dev->size()); | 283 EXPECT_EQ(1u, dev->size()); |
282 | 284 |
283 ui::MouseEvent* event = dev->event(0); | 285 ui::MouseEvent* event = dev->event(0); |
284 EXPECT_EQ(ui::ET_MOUSE_MOVED, event->type()); | 286 EXPECT_EQ(ui::ET_MOUSE_MOVED, event->type()); |
285 | 287 |
286 EXPECT_LT(cursor()->GetLocation().x(), EPSILON); | 288 EXPECT_LT(cursor()->GetLocation().x(), EPSILON); |
287 EXPECT_GT(cursor()->GetLocation().y(), | 289 EXPECT_GT(cursor()->GetLocation().y(), |
288 cursor()->GetCursorDisplayBounds().height() - EPSILON); | 290 cursor()->GetCursorConfinedBounds().height() - EPSILON); |
289 } | 291 } |
290 | 292 |
291 TEST_F(TabletEventConverterEvdevTest, MoveBottomRight) { | 293 TEST_F(TabletEventConverterEvdevTest, MoveBottomRight) { |
292 ui::MockTabletEventConverterEvdev* dev = device(); | 294 ui::MockTabletEventConverterEvdev* dev = device(); |
293 | 295 |
294 struct input_event mock_kernel_queue[] = { | 296 struct input_event mock_kernel_queue[] = { |
295 {{0, 0}, EV_ABS, ABS_X, 65024}, | 297 {{0, 0}, EV_ABS, ABS_X, 65024}, |
296 {{0, 0}, EV_ABS, ABS_Y, 40640}, | 298 {{0, 0}, EV_ABS, ABS_Y, 40640}, |
297 {{0, 0}, EV_ABS, ABS_DISTANCE, 62}, | 299 {{0, 0}, EV_ABS, ABS_DISTANCE, 62}, |
298 {{0, 0}, EV_ABS, ABS_TILT_X, 127}, | 300 {{0, 0}, EV_ABS, ABS_TILT_X, 127}, |
(...skipping 13 matching lines...) Expand all Loading... |
312 {{0, 0}, EV_SYN, SYN_REPORT, 0}, | 314 {{0, 0}, EV_SYN, SYN_REPORT, 0}, |
313 }; | 315 }; |
314 | 316 |
315 dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue)); | 317 dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue)); |
316 EXPECT_EQ(1u, dev->size()); | 318 EXPECT_EQ(1u, dev->size()); |
317 | 319 |
318 ui::MouseEvent* event = dev->event(0); | 320 ui::MouseEvent* event = dev->event(0); |
319 EXPECT_EQ(ui::ET_MOUSE_MOVED, event->type()); | 321 EXPECT_EQ(ui::ET_MOUSE_MOVED, event->type()); |
320 | 322 |
321 EXPECT_GT(cursor()->GetLocation().x(), | 323 EXPECT_GT(cursor()->GetLocation().x(), |
322 cursor()->GetCursorDisplayBounds().height() - EPSILON); | 324 cursor()->GetCursorConfinedBounds().height() - EPSILON); |
323 EXPECT_GT(cursor()->GetLocation().y(), | 325 EXPECT_GT(cursor()->GetLocation().y(), |
324 cursor()->GetCursorDisplayBounds().height() - EPSILON); | 326 cursor()->GetCursorConfinedBounds().height() - EPSILON); |
325 } | 327 } |
326 | 328 |
327 TEST_F(TabletEventConverterEvdevTest, Tap) { | 329 TEST_F(TabletEventConverterEvdevTest, Tap) { |
328 ui::MockTabletEventConverterEvdev* dev = device(); | 330 ui::MockTabletEventConverterEvdev* dev = device(); |
329 | 331 |
330 struct input_event mock_kernel_queue[] = { | 332 struct input_event mock_kernel_queue[] = { |
331 {{0, 0}, EV_ABS, ABS_X, 31628}, | 333 {{0, 0}, EV_ABS, ABS_X, 31628}, |
332 {{0, 0}, EV_ABS, ABS_Y, 21670}, | 334 {{0, 0}, EV_ABS, ABS_Y, 21670}, |
333 {{0, 0}, EV_ABS, ABS_DISTANCE, 62}, | 335 {{0, 0}, EV_ABS, ABS_DISTANCE, 62}, |
334 {{0, 0}, EV_ABS, ABS_TILT_X, 114}, | 336 {{0, 0}, EV_ABS, ABS_TILT_X, 114}, |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 | 430 |
429 struct input_event mock_kernel_queue[] = { | 431 struct input_event mock_kernel_queue[] = { |
430 {{0, 0}, EV_ABS, ABS_X, 0}, | 432 {{0, 0}, EV_ABS, ABS_X, 0}, |
431 {{0, 0}, EV_ABS, ABS_Y, 0}, | 433 {{0, 0}, EV_ABS, ABS_Y, 0}, |
432 {{0, 0}, EV_SYN, SYN_REPORT, 0}, | 434 {{0, 0}, EV_SYN, SYN_REPORT, 0}, |
433 }; | 435 }; |
434 | 436 |
435 dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue)); | 437 dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue)); |
436 EXPECT_EQ(0u, dev->size()); | 438 EXPECT_EQ(0u, dev->size()); |
437 } | 439 } |
OLD | NEW |