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

Side by Side Diff: content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc

Issue 2569273002: Add constructors to WebInputEvents and setters so we can work at cleaning up these public structs. (Closed)
Patch Set: Rebase Created 3 years, 11 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 unified diff | Download patch
OLDNEW
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 "components/rappor/public/rappor_utils.h" 6 #include "components/rappor/public/rappor_utils.h"
7 #include "components/rappor/test_rappor_service.h" 7 #include "components/rappor/test_rappor_service.h"
8 #include "content/browser/renderer_host/input/render_widget_host_latency_tracker .h" 8 #include "content/browser/renderer_host/input/render_widget_host_latency_tracker .h"
9 #include "content/common/input/synthetic_web_input_event_builders.h" 9 #include "content/common/input/synthetic_web_input_event_builders.h"
10 #include "content/public/browser/native_web_keyboard_event.h" 10 #include "content/public/browser/native_web_keyboard_event.h"
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToFirstScrollHistograms) { 180 TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToFirstScrollHistograms) {
181 const GURL url("http://www.foo.bar.com/subpage/1"); 181 const GURL url("http://www.foo.bar.com/subpage/1");
182 contents()->NavigateAndCommit(url); 182 contents()->NavigateAndCommit(url);
183 for (bool rendering_on_main : {false, true}) { 183 for (bool rendering_on_main : {false, true}) {
184 for (bool is_running_navigation_hint_task : {false, true}) { 184 for (bool is_running_navigation_hint_task : {false, true}) {
185 ResetHistograms(); 185 ResetHistograms();
186 { 186 {
187 auto wheel = SyntheticWebMouseWheelEventBuilder::Build( 187 auto wheel = SyntheticWebMouseWheelEventBuilder::Build(
188 blink::WebMouseWheelEvent::PhaseChanged); 188 blink::WebMouseWheelEvent::PhaseChanged);
189 base::TimeTicks now = base::TimeTicks::Now(); 189 base::TimeTicks now = base::TimeTicks::Now();
190 wheel.timeStampSeconds = (now - base::TimeTicks()).InSecondsF(); 190 wheel.setTimeStampSeconds((now - base::TimeTicks()).InSecondsF());
191 ui::LatencyInfo wheel_latency(ui::SourceEventType::WHEEL); 191 ui::LatencyInfo wheel_latency(ui::SourceEventType::WHEEL);
192 wheel_latency.AddLatencyNumberWithTimestamp( 192 wheel_latency.AddLatencyNumberWithTimestamp(
193 ui::INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT, 193 ui::INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT,
194 tracker()->latency_component_id(), 0, now, 1); 194 tracker()->latency_component_id(), 0, now, 1);
195 AddFakeComponentsWithTimeStamp(*tracker(), &wheel_latency, now); 195 AddFakeComponentsWithTimeStamp(*tracker(), &wheel_latency, now);
196 AddRenderingScheduledComponent(&wheel_latency, rendering_on_main, now); 196 AddRenderingScheduledComponent(&wheel_latency, rendering_on_main, now);
197 tracker()->OnInputEvent(wheel, &wheel_latency); 197 tracker()->OnInputEvent(wheel, &wheel_latency);
198 EXPECT_TRUE(wheel_latency.FindLatency( 198 EXPECT_TRUE(wheel_latency.FindLatency(
199 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 199 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT,
200 tracker()->latency_component_id(), nullptr)); 200 tracker()->latency_component_id(), nullptr));
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 } 275 }
276 276
277 TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToScrollHistograms) { 277 TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToScrollHistograms) {
278 for (bool rendering_on_main : {false, true}) { 278 for (bool rendering_on_main : {false, true}) {
279 for (bool is_running_navigation_hint_task : {false, true}) { 279 for (bool is_running_navigation_hint_task : {false, true}) {
280 ResetHistograms(); 280 ResetHistograms();
281 { 281 {
282 auto wheel = SyntheticWebMouseWheelEventBuilder::Build( 282 auto wheel = SyntheticWebMouseWheelEventBuilder::Build(
283 blink::WebMouseWheelEvent::PhaseChanged); 283 blink::WebMouseWheelEvent::PhaseChanged);
284 base::TimeTicks now = base::TimeTicks::Now(); 284 base::TimeTicks now = base::TimeTicks::Now();
285 wheel.timeStampSeconds = (now - base::TimeTicks()).InSecondsF(); 285 wheel.setTimeStampSeconds((now - base::TimeTicks()).InSecondsF());
286 ui::LatencyInfo wheel_latency(ui::SourceEventType::WHEEL); 286 ui::LatencyInfo wheel_latency(ui::SourceEventType::WHEEL);
287 wheel_latency.AddLatencyNumberWithTimestamp( 287 wheel_latency.AddLatencyNumberWithTimestamp(
288 ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT, 288 ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT,
289 tracker()->latency_component_id(), 0, now, 1); 289 tracker()->latency_component_id(), 0, now, 1);
290 AddFakeComponentsWithTimeStamp(*tracker(), &wheel_latency, now); 290 AddFakeComponentsWithTimeStamp(*tracker(), &wheel_latency, now);
291 AddRenderingScheduledComponent(&wheel_latency, rendering_on_main, now); 291 AddRenderingScheduledComponent(&wheel_latency, rendering_on_main, now);
292 tracker()->OnInputEvent(wheel, &wheel_latency); 292 tracker()->OnInputEvent(wheel, &wheel_latency);
293 EXPECT_TRUE(wheel_latency.FindLatency( 293 EXPECT_TRUE(wheel_latency.FindLatency(
294 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 294 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT,
295 tracker()->latency_component_id(), nullptr)); 295 tracker()->latency_component_id(), nullptr));
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 TEST_F(RenderWidgetHostLatencyTrackerTest, TestTouchToFirstScrollHistograms) { 354 TEST_F(RenderWidgetHostLatencyTrackerTest, TestTouchToFirstScrollHistograms) {
355 const GURL url("http://www.foo.bar.com/subpage/1"); 355 const GURL url("http://www.foo.bar.com/subpage/1");
356 contents()->NavigateAndCommit(url); 356 contents()->NavigateAndCommit(url);
357 for (bool rendering_on_main : {false, true}) { 357 for (bool rendering_on_main : {false, true}) {
358 for (bool is_running_navigation_hint_task : {false, true}) { 358 for (bool is_running_navigation_hint_task : {false, true}) {
359 ResetHistograms(); 359 ResetHistograms();
360 { 360 {
361 auto scroll = SyntheticWebGestureEventBuilder::BuildScrollUpdate( 361 auto scroll = SyntheticWebGestureEventBuilder::BuildScrollUpdate(
362 5.f, -5.f, 0, blink::WebGestureDeviceTouchscreen); 362 5.f, -5.f, 0, blink::WebGestureDeviceTouchscreen);
363 base::TimeTicks now = base::TimeTicks::Now(); 363 base::TimeTicks now = base::TimeTicks::Now();
364 scroll.timeStampSeconds = (now - base::TimeTicks()).InSecondsF(); 364 scroll.setTimeStampSeconds((now - base::TimeTicks()).InSecondsF());
365 ui::LatencyInfo scroll_latency; 365 ui::LatencyInfo scroll_latency;
366 scroll_latency.AddLatencyNumberWithTimestamp( 366 scroll_latency.AddLatencyNumberWithTimestamp(
367 ui::INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT, 367 ui::INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT,
368 tracker()->latency_component_id(), 0, now, 1); 368 tracker()->latency_component_id(), 0, now, 1);
369 AddFakeComponentsWithTimeStamp(*tracker(), &scroll_latency, now); 369 AddFakeComponentsWithTimeStamp(*tracker(), &scroll_latency, now);
370 AddRenderingScheduledComponent(&scroll_latency, rendering_on_main, now); 370 AddRenderingScheduledComponent(&scroll_latency, rendering_on_main, now);
371 tracker()->OnInputEvent(scroll, &scroll_latency); 371 tracker()->OnInputEvent(scroll, &scroll_latency);
372 EXPECT_TRUE(scroll_latency.FindLatency( 372 EXPECT_TRUE(scroll_latency.FindLatency(
373 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 373 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT,
374 tracker()->latency_component_id(), nullptr)); 374 tracker()->latency_component_id(), nullptr));
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 contents()->NavigateAndCommit(url); 505 contents()->NavigateAndCommit(url);
506 for (bool rendering_on_main : {false, true}) { 506 for (bool rendering_on_main : {false, true}) {
507 for (bool is_running_navigation_hint_task : {false, true}) { 507 for (bool is_running_navigation_hint_task : {false, true}) {
508 ResetHistograms(); 508 ResetHistograms();
509 EXPECT_EQ(0, 509 EXPECT_EQ(0,
510 test_browser_client_.getTestRapporService()->GetReportsCount()); 510 test_browser_client_.getTestRapporService()->GetReportsCount());
511 { 511 {
512 auto scroll = SyntheticWebGestureEventBuilder::BuildScrollUpdate( 512 auto scroll = SyntheticWebGestureEventBuilder::BuildScrollUpdate(
513 5.f, -5.f, 0, blink::WebGestureDeviceTouchscreen); 513 5.f, -5.f, 0, blink::WebGestureDeviceTouchscreen);
514 base::TimeTicks now = base::TimeTicks::Now(); 514 base::TimeTicks now = base::TimeTicks::Now();
515 scroll.timeStampSeconds = (now - base::TimeTicks()).InSecondsF(); 515 scroll.setTimeStampSeconds((now - base::TimeTicks()).InSecondsF());
516 ui::LatencyInfo scroll_latency; 516 ui::LatencyInfo scroll_latency;
517 scroll_latency.AddLatencyNumberWithTimestamp( 517 scroll_latency.AddLatencyNumberWithTimestamp(
518 ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT, 518 ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT,
519 tracker()->latency_component_id(), 0, now, 1); 519 tracker()->latency_component_id(), 0, now, 1);
520 AddFakeComponentsWithTimeStamp(*tracker(), &scroll_latency, now); 520 AddFakeComponentsWithTimeStamp(*tracker(), &scroll_latency, now);
521 AddRenderingScheduledComponent(&scroll_latency, rendering_on_main, now); 521 AddRenderingScheduledComponent(&scroll_latency, rendering_on_main, now);
522 tracker()->OnInputEvent(scroll, &scroll_latency); 522 tracker()->OnInputEvent(scroll, &scroll_latency);
523 EXPECT_TRUE(scroll_latency.FindLatency( 523 EXPECT_TRUE(scroll_latency.FindLatency(
524 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 524 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT,
525 tracker()->latency_component_id(), nullptr)); 525 tracker()->latency_component_id(), nullptr));
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 ui::LatencyInfo latency_info; 754 ui::LatencyInfo latency_info;
755 tracker()->OnInputEvent(event, &latency_info); 755 tracker()->OnInputEvent(event, &latency_info);
756 EXPECT_EQ(2u, latency_info.input_coordinates_size()); 756 EXPECT_EQ(2u, latency_info.input_coordinates_size());
757 EXPECT_EQ(700, latency_info.input_coordinates()[0].x()); 757 EXPECT_EQ(700, latency_info.input_coordinates()[0].x());
758 EXPECT_EQ(800, latency_info.input_coordinates()[0].y()); 758 EXPECT_EQ(800, latency_info.input_coordinates()[0].y());
759 EXPECT_EQ(900, latency_info.input_coordinates()[1].x()); 759 EXPECT_EQ(900, latency_info.input_coordinates()[1].x());
760 EXPECT_EQ(1000, latency_info.input_coordinates()[1].y()); 760 EXPECT_EQ(1000, latency_info.input_coordinates()[1].y());
761 } 761 }
762 762
763 { 763 {
764 NativeWebKeyboardEvent event; 764 NativeWebKeyboardEvent event(blink::WebKeyboardEvent::KeyDown,
765 event.type = blink::WebKeyboardEvent::KeyDown; 765 blink::WebInputEvent::NoModifiers,
766 base::TimeTicks::Now());
766 ui::LatencyInfo latency_info; 767 ui::LatencyInfo latency_info;
767 tracker()->OnInputEvent(event, &latency_info); 768 tracker()->OnInputEvent(event, &latency_info);
768 EXPECT_EQ(0u, latency_info.input_coordinates_size()); 769 EXPECT_EQ(0u, latency_info.input_coordinates_size());
769 } 770 }
770 } 771 }
771 772
772 TEST_F(RenderWidgetHostLatencyTrackerTest, ScrollLatency) { 773 TEST_F(RenderWidgetHostLatencyTrackerTest, ScrollLatency) {
773 auto scroll_begin = SyntheticWebGestureEventBuilder::BuildScrollBegin( 774 auto scroll_begin = SyntheticWebGestureEventBuilder::BuildScrollBegin(
774 5, -5, blink::WebGestureDeviceTouchscreen); 775 5, -5, blink::WebGestureDeviceTouchscreen);
775 ui::LatencyInfo scroll_latency; 776 ui::LatencyInfo scroll_latency;
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
1002 "Event.Latency.BlockingTime.TouchEndDefaultPrevented"), 1003 "Event.Latency.BlockingTime.TouchEndDefaultPrevented"),
1003 ElementsAre(Bucket( 1004 ElementsAre(Bucket(
1004 touchend_timestamps_ms[2] - touchend_timestamps_ms[1], 1))); 1005 touchend_timestamps_ms[2] - touchend_timestamps_ms[1], 1)));
1005 EXPECT_THAT(histogram_tester().GetAllSamples( 1006 EXPECT_THAT(histogram_tester().GetAllSamples(
1006 "Event.Latency.BlockingTime.TouchEndDefaultAllowed"), 1007 "Event.Latency.BlockingTime.TouchEndDefaultAllowed"),
1007 ElementsAre(Bucket( 1008 ElementsAre(Bucket(
1008 touchend_timestamps_ms[2] - touchend_timestamps_ms[1], 1))); 1009 touchend_timestamps_ms[2] - touchend_timestamps_ms[1], 1)));
1009 } 1010 }
1010 1011
1011 } // namespace content 1012 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698