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 "base/test/histogram_tester.h" | 5 #include "base/test/histogram_tester.h" |
6 #include "content/browser/renderer_host/input/render_widget_host_latency_tracker
.h" | 6 #include "content/browser/renderer_host/input/render_widget_host_latency_tracker
.h" |
7 #include "content/common/input/synthetic_web_input_event_builders.h" | 7 #include "content/common/input/synthetic_web_input_event_builders.h" |
8 #include "content/public/browser/native_web_keyboard_event.h" | 8 #include "content/public/browser/native_web_keyboard_event.h" |
9 #include "testing/gmock/include/gmock/gmock.h" | 9 #include "testing/gmock/include/gmock/gmock.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 | 271 |
272 TEST_F(RenderWidgetHostLatencyTrackerTest, InputCoordinatesPopulated) { | 272 TEST_F(RenderWidgetHostLatencyTrackerTest, InputCoordinatesPopulated) { |
273 { | 273 { |
274 auto event = | 274 auto event = |
275 SyntheticWebMouseWheelEventBuilder::Build(0, 0, -5, 0, 0, true); | 275 SyntheticWebMouseWheelEventBuilder::Build(0, 0, -5, 0, 0, true); |
276 event.x = 100; | 276 event.x = 100; |
277 event.y = 200; | 277 event.y = 200; |
278 ui::LatencyInfo latency_info; | 278 ui::LatencyInfo latency_info; |
279 tracker()->OnInputEvent(event, &latency_info); | 279 tracker()->OnInputEvent(event, &latency_info); |
280 EXPECT_EQ(1u, latency_info.input_coordinates_size()); | 280 EXPECT_EQ(1u, latency_info.input_coordinates_size()); |
281 EXPECT_EQ(100, latency_info.input_coordinates()[0].x); | 281 EXPECT_EQ(100, latency_info.input_coordinates()[0].x()); |
282 EXPECT_EQ(200, latency_info.input_coordinates()[0].y); | 282 EXPECT_EQ(200, latency_info.input_coordinates()[0].y()); |
283 } | 283 } |
284 | 284 |
285 { | 285 { |
286 auto event = SyntheticWebMouseEventBuilder::Build(WebInputEvent::MouseMove); | 286 auto event = SyntheticWebMouseEventBuilder::Build(WebInputEvent::MouseMove); |
287 event.x = 300; | 287 event.x = 300; |
288 event.y = 400; | 288 event.y = 400; |
289 ui::LatencyInfo latency_info; | 289 ui::LatencyInfo latency_info; |
290 tracker()->OnInputEvent(event, &latency_info); | 290 tracker()->OnInputEvent(event, &latency_info); |
291 EXPECT_EQ(1u, latency_info.input_coordinates_size()); | 291 EXPECT_EQ(1u, latency_info.input_coordinates_size()); |
292 EXPECT_EQ(300, latency_info.input_coordinates()[0].x); | 292 EXPECT_EQ(300, latency_info.input_coordinates()[0].x()); |
293 EXPECT_EQ(400, latency_info.input_coordinates()[0].y); | 293 EXPECT_EQ(400, latency_info.input_coordinates()[0].y()); |
294 } | 294 } |
295 | 295 |
296 { | 296 { |
297 auto event = SyntheticWebGestureEventBuilder::Build( | 297 auto event = SyntheticWebGestureEventBuilder::Build( |
298 WebInputEvent::GestureScrollBegin, blink::WebGestureDeviceTouchscreen); | 298 WebInputEvent::GestureScrollBegin, blink::WebGestureDeviceTouchscreen); |
299 event.x = 500; | 299 event.x = 500; |
300 event.y = 600; | 300 event.y = 600; |
301 ui::LatencyInfo latency_info; | 301 ui::LatencyInfo latency_info; |
302 tracker()->OnInputEvent(event, &latency_info); | 302 tracker()->OnInputEvent(event, &latency_info); |
303 EXPECT_EQ(1u, latency_info.input_coordinates_size()); | 303 EXPECT_EQ(1u, latency_info.input_coordinates_size()); |
304 EXPECT_EQ(500, latency_info.input_coordinates()[0].x); | 304 EXPECT_EQ(500, latency_info.input_coordinates()[0].x()); |
305 EXPECT_EQ(600, latency_info.input_coordinates()[0].y); | 305 EXPECT_EQ(600, latency_info.input_coordinates()[0].y()); |
306 } | 306 } |
307 | 307 |
308 { | 308 { |
309 SyntheticWebTouchEvent event; | 309 SyntheticWebTouchEvent event; |
310 event.PressPoint(700, 800); | 310 event.PressPoint(700, 800); |
311 event.PressPoint(900, 1000); | 311 event.PressPoint(900, 1000); |
312 event.PressPoint(1100, 1200); // LatencyInfo only holds two coordinates. | 312 event.PressPoint(1100, 1200); // LatencyInfo only holds two coordinates. |
313 ui::LatencyInfo latency_info; | 313 ui::LatencyInfo latency_info; |
314 tracker()->OnInputEvent(event, &latency_info); | 314 tracker()->OnInputEvent(event, &latency_info); |
315 EXPECT_EQ(2u, latency_info.input_coordinates_size()); | 315 EXPECT_EQ(2u, latency_info.input_coordinates_size()); |
316 EXPECT_EQ(700, latency_info.input_coordinates()[0].x); | 316 EXPECT_EQ(700, latency_info.input_coordinates()[0].x()); |
317 EXPECT_EQ(800, latency_info.input_coordinates()[0].y); | 317 EXPECT_EQ(800, latency_info.input_coordinates()[0].y()); |
318 EXPECT_EQ(900, latency_info.input_coordinates()[1].x); | 318 EXPECT_EQ(900, latency_info.input_coordinates()[1].x()); |
319 EXPECT_EQ(1000, latency_info.input_coordinates()[1].y); | 319 EXPECT_EQ(1000, latency_info.input_coordinates()[1].y()); |
320 } | 320 } |
321 | 321 |
322 { | 322 { |
323 NativeWebKeyboardEvent event; | 323 NativeWebKeyboardEvent event; |
324 event.type = blink::WebKeyboardEvent::KeyDown; | 324 event.type = blink::WebKeyboardEvent::KeyDown; |
325 ui::LatencyInfo latency_info; | 325 ui::LatencyInfo latency_info; |
326 tracker()->OnInputEvent(event, &latency_info); | 326 tracker()->OnInputEvent(event, &latency_info); |
327 EXPECT_EQ(0u, latency_info.input_coordinates_size()); | 327 EXPECT_EQ(0u, latency_info.input_coordinates_size()); |
328 } | 328 } |
329 } | 329 } |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
431 ElementsAre(Bucket(4, 1))); | 431 ElementsAre(Bucket(4, 1))); |
432 EXPECT_THAT(histogram_tester().GetAllSamples( | 432 EXPECT_THAT(histogram_tester().GetAllSamples( |
433 "Event.Latency.BlockingTime.TouchMoveDefaultPrevented"), | 433 "Event.Latency.BlockingTime.TouchMoveDefaultPrevented"), |
434 ElementsAre(Bucket(7, 1))); | 434 ElementsAre(Bucket(7, 1))); |
435 EXPECT_THAT(histogram_tester().GetAllSamples( | 435 EXPECT_THAT(histogram_tester().GetAllSamples( |
436 "Event.Latency.BlockingTime.TouchMoveDefaultAllowed"), | 436 "Event.Latency.BlockingTime.TouchMoveDefaultAllowed"), |
437 ElementsAre(Bucket(7, 1))); | 437 ElementsAre(Bucket(7, 1))); |
438 } | 438 } |
439 | 439 |
440 } // namespace content | 440 } // namespace content |
OLD | NEW |