| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "content/common/input/event_with_latency_info.h" | 5 #include "content/common/input/event_with_latency_info.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 #include "third_party/WebKit/public/platform/WebInputEvent.h" | 10 #include "third_party/WebKit/public/platform/WebInputEvent.h" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 | 62 |
| 63 TEST_F(EventWithLatencyInfoTest, TimestampCoalescingForMouseEvent) { | 63 TEST_F(EventWithLatencyInfoTest, TimestampCoalescingForMouseEvent) { |
| 64 MouseEventWithLatencyInfo mouse_0 = CreateMouseEvent( | 64 MouseEventWithLatencyInfo mouse_0 = CreateMouseEvent( |
| 65 WebInputEvent::MouseMove, 5.0); | 65 WebInputEvent::MouseMove, 5.0); |
| 66 MouseEventWithLatencyInfo mouse_1 = CreateMouseEvent( | 66 MouseEventWithLatencyInfo mouse_1 = CreateMouseEvent( |
| 67 WebInputEvent::MouseMove, 10.0); | 67 WebInputEvent::MouseMove, 10.0); |
| 68 | 68 |
| 69 ASSERT_TRUE(mouse_0.CanCoalesceWith(mouse_1)); | 69 ASSERT_TRUE(mouse_0.CanCoalesceWith(mouse_1)); |
| 70 mouse_0.CoalesceWith(mouse_1); | 70 mouse_0.CoalesceWith(mouse_1); |
| 71 // Coalescing WebMouseEvent preserves newer timestamp. | 71 // Coalescing WebMouseEvent preserves newer timestamp. |
| 72 EXPECT_EQ(10.0, mouse_0.event.timeStampSeconds); | 72 EXPECT_EQ(10.0, mouse_0.event.timeStampSeconds()); |
| 73 } | 73 } |
| 74 | 74 |
| 75 TEST_F(EventWithLatencyInfoTest, TimestampCoalescingForMouseWheelEvent) { | 75 TEST_F(EventWithLatencyInfoTest, TimestampCoalescingForMouseWheelEvent) { |
| 76 MouseWheelEventWithLatencyInfo mouse_wheel_0 = CreateMouseWheelEvent(5.0); | 76 MouseWheelEventWithLatencyInfo mouse_wheel_0 = CreateMouseWheelEvent(5.0); |
| 77 MouseWheelEventWithLatencyInfo mouse_wheel_1 = CreateMouseWheelEvent(10.0); | 77 MouseWheelEventWithLatencyInfo mouse_wheel_1 = CreateMouseWheelEvent(10.0); |
| 78 | 78 |
| 79 ASSERT_TRUE(mouse_wheel_0.CanCoalesceWith(mouse_wheel_1)); | 79 ASSERT_TRUE(mouse_wheel_0.CanCoalesceWith(mouse_wheel_1)); |
| 80 mouse_wheel_0.CoalesceWith(mouse_wheel_1); | 80 mouse_wheel_0.CoalesceWith(mouse_wheel_1); |
| 81 // Coalescing WebMouseWheelEvent preserves newer timestamp. | 81 // Coalescing WebMouseWheelEvent preserves newer timestamp. |
| 82 EXPECT_EQ(10.0, mouse_wheel_0.event.timeStampSeconds); | 82 EXPECT_EQ(10.0, mouse_wheel_0.event.timeStampSeconds()); |
| 83 } | 83 } |
| 84 | 84 |
| 85 TEST_F(EventWithLatencyInfoTest, TimestampCoalescingForTouchEvent) { | 85 TEST_F(EventWithLatencyInfoTest, TimestampCoalescingForTouchEvent) { |
| 86 TouchEventWithLatencyInfo touch_0 = CreateTouchEvent( | 86 TouchEventWithLatencyInfo touch_0 = CreateTouchEvent( |
| 87 WebInputEvent::TouchMove, 5.0); | 87 WebInputEvent::TouchMove, 5.0); |
| 88 TouchEventWithLatencyInfo touch_1 = CreateTouchEvent( | 88 TouchEventWithLatencyInfo touch_1 = CreateTouchEvent( |
| 89 WebInputEvent::TouchMove, 10.0); | 89 WebInputEvent::TouchMove, 10.0); |
| 90 | 90 |
| 91 ASSERT_TRUE(touch_0.CanCoalesceWith(touch_1)); | 91 ASSERT_TRUE(touch_0.CanCoalesceWith(touch_1)); |
| 92 touch_0.CoalesceWith(touch_1); | 92 touch_0.CoalesceWith(touch_1); |
| 93 // Coalescing WebTouchEvent preserves newer timestamp. | 93 // Coalescing WebTouchEvent preserves newer timestamp. |
| 94 EXPECT_EQ(10.0, touch_0.event.timeStampSeconds); | 94 EXPECT_EQ(10.0, touch_0.event.timeStampSeconds()); |
| 95 } | 95 } |
| 96 | 96 |
| 97 TEST_F(EventWithLatencyInfoTest, TimestampCoalescingForGestureEvent) { | 97 TEST_F(EventWithLatencyInfoTest, TimestampCoalescingForGestureEvent) { |
| 98 GestureEventWithLatencyInfo scroll_0 = CreateGestureEvent( | 98 GestureEventWithLatencyInfo scroll_0 = CreateGestureEvent( |
| 99 WebInputEvent::GestureScrollUpdate, 5.0); | 99 WebInputEvent::GestureScrollUpdate, 5.0); |
| 100 GestureEventWithLatencyInfo scroll_1 = CreateGestureEvent( | 100 GestureEventWithLatencyInfo scroll_1 = CreateGestureEvent( |
| 101 WebInputEvent::GestureScrollUpdate, 10.0); | 101 WebInputEvent::GestureScrollUpdate, 10.0); |
| 102 | 102 |
| 103 ASSERT_TRUE(scroll_0.CanCoalesceWith(scroll_1)); | 103 ASSERT_TRUE(scroll_0.CanCoalesceWith(scroll_1)); |
| 104 scroll_0.CoalesceWith(scroll_1); | 104 scroll_0.CoalesceWith(scroll_1); |
| 105 // Coalescing WebGestureEvent preserves newer timestamp. | 105 // Coalescing WebGestureEvent preserves newer timestamp. |
| 106 EXPECT_EQ(10.0, scroll_0.event.timeStampSeconds); | 106 EXPECT_EQ(10.0, scroll_0.event.timeStampSeconds()); |
| 107 } | 107 } |
| 108 | 108 |
| 109 TEST_F(EventWithLatencyInfoTest, LatencyInfoCoalescing) { | 109 TEST_F(EventWithLatencyInfoTest, LatencyInfoCoalescing) { |
| 110 MouseEventWithLatencyInfo mouse_0 = CreateMouseEvent( | 110 MouseEventWithLatencyInfo mouse_0 = CreateMouseEvent( |
| 111 WebInputEvent::MouseMove, 5.0); | 111 WebInputEvent::MouseMove, 5.0); |
| 112 mouse_0.latency.AddLatencyNumberWithTimestamp( | 112 mouse_0.latency.AddLatencyNumberWithTimestamp( |
| 113 ui::INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0, 0, base::TimeTicks(), 1); | 113 ui::INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0, 0, base::TimeTicks(), 1); |
| 114 MouseEventWithLatencyInfo mouse_1 = CreateMouseEvent( | 114 MouseEventWithLatencyInfo mouse_1 = CreateMouseEvent( |
| 115 WebInputEvent::MouseMove, 10.0); | 115 WebInputEvent::MouseMove, 10.0); |
| 116 | 116 |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 310 | 310 |
| 311 // Coalesce old and new events. | 311 // Coalesce old and new events. |
| 312 mouse_wheel_0 = CreateMouseWheel(1, 1); | 312 mouse_wheel_0 = CreateMouseWheel(1, 1); |
| 313 mouse_wheel_0.event.x = 1; | 313 mouse_wheel_0.event.x = 1; |
| 314 mouse_wheel_0.event.y = 1; | 314 mouse_wheel_0.event.y = 1; |
| 315 mouse_wheel_1 = CreateMouseWheel(2, 2); | 315 mouse_wheel_1 = CreateMouseWheel(2, 2); |
| 316 mouse_wheel_1.event.x = 2; | 316 mouse_wheel_1.event.x = 2; |
| 317 mouse_wheel_1.event.y = 2; | 317 mouse_wheel_1.event.y = 2; |
| 318 MouseWheelEventWithLatencyInfo mouse_wheel_1_copy = mouse_wheel_1; | 318 MouseWheelEventWithLatencyInfo mouse_wheel_1_copy = mouse_wheel_1; |
| 319 EXPECT_TRUE(CanCoalesce(mouse_wheel_0, mouse_wheel_1)); | 319 EXPECT_TRUE(CanCoalesce(mouse_wheel_0, mouse_wheel_1)); |
| 320 EXPECT_EQ(mouse_wheel_0.event.modifiers, mouse_wheel_1.event.modifiers); | 320 EXPECT_EQ(mouse_wheel_0.event.modifiers(), mouse_wheel_1.event.modifiers()); |
| 321 EXPECT_EQ(mouse_wheel_0.event.scrollByPage, mouse_wheel_1.event.scrollByPage); | 321 EXPECT_EQ(mouse_wheel_0.event.scrollByPage, mouse_wheel_1.event.scrollByPage); |
| 322 EXPECT_EQ(mouse_wheel_0.event.phase, mouse_wheel_1.event.phase); | 322 EXPECT_EQ(mouse_wheel_0.event.phase, mouse_wheel_1.event.phase); |
| 323 EXPECT_EQ(mouse_wheel_0.event.momentumPhase, | 323 EXPECT_EQ(mouse_wheel_0.event.momentumPhase, |
| 324 mouse_wheel_1.event.momentumPhase); | 324 mouse_wheel_1.event.momentumPhase); |
| 325 EXPECT_EQ(mouse_wheel_0.event.hasPreciseScrollingDeltas, | 325 EXPECT_EQ(mouse_wheel_0.event.hasPreciseScrollingDeltas, |
| 326 mouse_wheel_1.event.hasPreciseScrollingDeltas); | 326 mouse_wheel_1.event.hasPreciseScrollingDeltas); |
| 327 Coalesce(mouse_wheel_0, &mouse_wheel_1); | 327 Coalesce(mouse_wheel_0, &mouse_wheel_1); |
| 328 | 328 |
| 329 // Coalesced event has the position of the most recent event. | 329 // Coalesced event has the position of the most recent event. |
| 330 EXPECT_EQ(1, mouse_wheel_1.event.x); | 330 EXPECT_EQ(1, mouse_wheel_1.event.x); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 350 | 350 |
| 351 // Coalescing preserves the newer timestamp. | 351 // Coalescing preserves the newer timestamp. |
| 352 TEST_F(EventWithLatencyInfoTest, TimestampCoalescing) { | 352 TEST_F(EventWithLatencyInfoTest, TimestampCoalescing) { |
| 353 MouseWheelEventWithLatencyInfo mouse_wheel_0 = | 353 MouseWheelEventWithLatencyInfo mouse_wheel_0 = |
| 354 CreateMouseWheelEvent(5.0, 1, 1); | 354 CreateMouseWheelEvent(5.0, 1, 1); |
| 355 MouseWheelEventWithLatencyInfo mouse_wheel_1 = | 355 MouseWheelEventWithLatencyInfo mouse_wheel_1 = |
| 356 CreateMouseWheelEvent(10.0, 2, 2); | 356 CreateMouseWheelEvent(10.0, 2, 2); |
| 357 | 357 |
| 358 EXPECT_TRUE(CanCoalesce(mouse_wheel_0, mouse_wheel_1)); | 358 EXPECT_TRUE(CanCoalesce(mouse_wheel_0, mouse_wheel_1)); |
| 359 Coalesce(mouse_wheel_1, &mouse_wheel_0); | 359 Coalesce(mouse_wheel_1, &mouse_wheel_0); |
| 360 EXPECT_EQ(10.0, mouse_wheel_0.event.timeStampSeconds); | 360 EXPECT_EQ(10.0, mouse_wheel_0.event.timeStampSeconds()); |
| 361 } | 361 } |
| 362 | 362 |
| 363 } // namespace | 363 } // namespace |
| 364 } // namespace content | 364 } // namespace content |
| OLD | NEW |