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

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: Fix mouse up event sender not modifying modifiers Created 4 years 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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 }; 135 };
136 136
137 TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToFirstScrollHistograms) { 137 TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToFirstScrollHistograms) {
138 for (bool rendering_on_main : {false, true}) { 138 for (bool rendering_on_main : {false, true}) {
139 for (bool is_running_navigation_hint_task : {false, true}) { 139 for (bool is_running_navigation_hint_task : {false, true}) {
140 ResetHistograms(); 140 ResetHistograms();
141 { 141 {
142 auto wheel = SyntheticWebMouseWheelEventBuilder::Build( 142 auto wheel = SyntheticWebMouseWheelEventBuilder::Build(
143 blink::WebMouseWheelEvent::PhaseChanged); 143 blink::WebMouseWheelEvent::PhaseChanged);
144 base::TimeTicks now = base::TimeTicks::Now(); 144 base::TimeTicks now = base::TimeTicks::Now();
145 wheel.timeStampSeconds = (now - base::TimeTicks()).InSecondsF(); 145 wheel.setTimeStampSeconds((now - base::TimeTicks()).InSecondsF());
146 ui::LatencyInfo wheel_latency(ui::SourceEventType::WHEEL); 146 ui::LatencyInfo wheel_latency(ui::SourceEventType::WHEEL);
147 wheel_latency.AddLatencyNumberWithTimestamp( 147 wheel_latency.AddLatencyNumberWithTimestamp(
148 ui::INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT, 148 ui::INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT,
149 tracker()->latency_component_id(), 0, now, 1); 149 tracker()->latency_component_id(), 0, now, 1);
150 AddFakeComponentsWithTimeStamp(*tracker(), &wheel_latency, now); 150 AddFakeComponentsWithTimeStamp(*tracker(), &wheel_latency, now);
151 AddRenderingScheduledComponent(&wheel_latency, rendering_on_main, now); 151 AddRenderingScheduledComponent(&wheel_latency, rendering_on_main, now);
152 tracker()->OnInputEvent(wheel, &wheel_latency); 152 tracker()->OnInputEvent(wheel, &wheel_latency);
153 EXPECT_TRUE(wheel_latency.FindLatency( 153 EXPECT_TRUE(wheel_latency.FindLatency(
154 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 154 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT,
155 tracker()->latency_component_id(), nullptr)); 155 tracker()->latency_component_id(), nullptr));
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 } 212 }
213 213
214 TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToScrollHistograms) { 214 TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToScrollHistograms) {
215 for (bool rendering_on_main : {false, true}) { 215 for (bool rendering_on_main : {false, true}) {
216 for (bool is_running_navigation_hint_task : {false, true}) { 216 for (bool is_running_navigation_hint_task : {false, true}) {
217 ResetHistograms(); 217 ResetHistograms();
218 { 218 {
219 auto wheel = SyntheticWebMouseWheelEventBuilder::Build( 219 auto wheel = SyntheticWebMouseWheelEventBuilder::Build(
220 blink::WebMouseWheelEvent::PhaseChanged); 220 blink::WebMouseWheelEvent::PhaseChanged);
221 base::TimeTicks now = base::TimeTicks::Now(); 221 base::TimeTicks now = base::TimeTicks::Now();
222 wheel.timeStampSeconds = (now - base::TimeTicks()).InSecondsF(); 222 wheel.setTimeStampSeconds((now - base::TimeTicks()).InSecondsF());
223 ui::LatencyInfo wheel_latency(ui::SourceEventType::WHEEL); 223 ui::LatencyInfo wheel_latency(ui::SourceEventType::WHEEL);
224 wheel_latency.AddLatencyNumberWithTimestamp( 224 wheel_latency.AddLatencyNumberWithTimestamp(
225 ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT, 225 ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT,
226 tracker()->latency_component_id(), 0, now, 1); 226 tracker()->latency_component_id(), 0, now, 1);
227 AddFakeComponentsWithTimeStamp(*tracker(), &wheel_latency, now); 227 AddFakeComponentsWithTimeStamp(*tracker(), &wheel_latency, now);
228 AddRenderingScheduledComponent(&wheel_latency, rendering_on_main, now); 228 AddRenderingScheduledComponent(&wheel_latency, rendering_on_main, now);
229 tracker()->OnInputEvent(wheel, &wheel_latency); 229 tracker()->OnInputEvent(wheel, &wheel_latency);
230 EXPECT_TRUE(wheel_latency.FindLatency( 230 EXPECT_TRUE(wheel_latency.FindLatency(
231 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 231 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT,
232 tracker()->latency_component_id(), nullptr)); 232 tracker()->latency_component_id(), nullptr));
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 } 289 }
290 290
291 TEST_F(RenderWidgetHostLatencyTrackerTest, TestTouchToFirstScrollHistograms) { 291 TEST_F(RenderWidgetHostLatencyTrackerTest, TestTouchToFirstScrollHistograms) {
292 for (bool rendering_on_main : {false, true}) { 292 for (bool rendering_on_main : {false, true}) {
293 for (bool is_running_navigation_hint_task : {false, true}) { 293 for (bool is_running_navigation_hint_task : {false, true}) {
294 ResetHistograms(); 294 ResetHistograms();
295 { 295 {
296 auto scroll = SyntheticWebGestureEventBuilder::BuildScrollUpdate( 296 auto scroll = SyntheticWebGestureEventBuilder::BuildScrollUpdate(
297 5.f, -5.f, 0, blink::WebGestureDeviceTouchscreen); 297 5.f, -5.f, 0, blink::WebGestureDeviceTouchscreen);
298 base::TimeTicks now = base::TimeTicks::Now(); 298 base::TimeTicks now = base::TimeTicks::Now();
299 scroll.timeStampSeconds = (now - base::TimeTicks()).InSecondsF(); 299 scroll.setTimeStampSeconds((now - base::TimeTicks()).InSecondsF());
300 ui::LatencyInfo scroll_latency; 300 ui::LatencyInfo scroll_latency;
301 scroll_latency.AddLatencyNumberWithTimestamp( 301 scroll_latency.AddLatencyNumberWithTimestamp(
302 ui::INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT, 302 ui::INPUT_EVENT_LATENCY_FIRST_SCROLL_UPDATE_ORIGINAL_COMPONENT,
303 tracker()->latency_component_id(), 0, now, 1); 303 tracker()->latency_component_id(), 0, now, 1);
304 AddFakeComponentsWithTimeStamp(*tracker(), &scroll_latency, now); 304 AddFakeComponentsWithTimeStamp(*tracker(), &scroll_latency, now);
305 AddRenderingScheduledComponent(&scroll_latency, rendering_on_main, now); 305 AddRenderingScheduledComponent(&scroll_latency, rendering_on_main, now);
306 tracker()->OnInputEvent(scroll, &scroll_latency); 306 tracker()->OnInputEvent(scroll, &scroll_latency);
307 EXPECT_TRUE(scroll_latency.FindLatency( 307 EXPECT_TRUE(scroll_latency.FindLatency(
308 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 308 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT,
309 tracker()->latency_component_id(), nullptr)); 309 tracker()->latency_component_id(), nullptr));
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 contents()->NavigateAndCommit(url); 423 contents()->NavigateAndCommit(url);
424 for (bool rendering_on_main : {false, true}) { 424 for (bool rendering_on_main : {false, true}) {
425 for (bool is_running_navigation_hint_task : {false, true}) { 425 for (bool is_running_navigation_hint_task : {false, true}) {
426 ResetHistograms(); 426 ResetHistograms();
427 EXPECT_EQ(0, 427 EXPECT_EQ(0,
428 test_browser_client_.getTestRapporService()->GetReportsCount()); 428 test_browser_client_.getTestRapporService()->GetReportsCount());
429 { 429 {
430 auto scroll = SyntheticWebGestureEventBuilder::BuildScrollUpdate( 430 auto scroll = SyntheticWebGestureEventBuilder::BuildScrollUpdate(
431 5.f, -5.f, 0, blink::WebGestureDeviceTouchscreen); 431 5.f, -5.f, 0, blink::WebGestureDeviceTouchscreen);
432 base::TimeTicks now = base::TimeTicks::Now(); 432 base::TimeTicks now = base::TimeTicks::Now();
433 scroll.timeStampSeconds = (now - base::TimeTicks()).InSecondsF(); 433 scroll.setTimeStampSeconds((now - base::TimeTicks()).InSecondsF());
434 ui::LatencyInfo scroll_latency; 434 ui::LatencyInfo scroll_latency;
435 scroll_latency.AddLatencyNumberWithTimestamp( 435 scroll_latency.AddLatencyNumberWithTimestamp(
436 ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT, 436 ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT,
437 tracker()->latency_component_id(), 0, now, 1); 437 tracker()->latency_component_id(), 0, now, 1);
438 AddFakeComponentsWithTimeStamp(*tracker(), &scroll_latency, now); 438 AddFakeComponentsWithTimeStamp(*tracker(), &scroll_latency, now);
439 AddRenderingScheduledComponent(&scroll_latency, rendering_on_main, now); 439 AddRenderingScheduledComponent(&scroll_latency, rendering_on_main, now);
440 tracker()->OnInputEvent(scroll, &scroll_latency); 440 tracker()->OnInputEvent(scroll, &scroll_latency);
441 EXPECT_TRUE(scroll_latency.FindLatency( 441 EXPECT_TRUE(scroll_latency.FindLatency(
442 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 442 ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT,
443 tracker()->latency_component_id(), nullptr)); 443 tracker()->latency_component_id(), nullptr));
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 ui::LatencyInfo latency_info; 673 ui::LatencyInfo latency_info;
674 tracker()->OnInputEvent(event, &latency_info); 674 tracker()->OnInputEvent(event, &latency_info);
675 EXPECT_EQ(2u, latency_info.input_coordinates_size()); 675 EXPECT_EQ(2u, latency_info.input_coordinates_size());
676 EXPECT_EQ(700, latency_info.input_coordinates()[0].x()); 676 EXPECT_EQ(700, latency_info.input_coordinates()[0].x());
677 EXPECT_EQ(800, latency_info.input_coordinates()[0].y()); 677 EXPECT_EQ(800, latency_info.input_coordinates()[0].y());
678 EXPECT_EQ(900, latency_info.input_coordinates()[1].x()); 678 EXPECT_EQ(900, latency_info.input_coordinates()[1].x());
679 EXPECT_EQ(1000, latency_info.input_coordinates()[1].y()); 679 EXPECT_EQ(1000, latency_info.input_coordinates()[1].y());
680 } 680 }
681 681
682 { 682 {
683 NativeWebKeyboardEvent event; 683 NativeWebKeyboardEvent event(blink::WebKeyboardEvent::KeyDown,
684 event.type = blink::WebKeyboardEvent::KeyDown; 684 blink::WebInputEvent::NoModifiers,
685 base::TimeTicks::Now());
685 ui::LatencyInfo latency_info; 686 ui::LatencyInfo latency_info;
686 tracker()->OnInputEvent(event, &latency_info); 687 tracker()->OnInputEvent(event, &latency_info);
687 EXPECT_EQ(0u, latency_info.input_coordinates_size()); 688 EXPECT_EQ(0u, latency_info.input_coordinates_size());
688 } 689 }
689 } 690 }
690 691
691 TEST_F(RenderWidgetHostLatencyTrackerTest, ScrollLatency) { 692 TEST_F(RenderWidgetHostLatencyTrackerTest, ScrollLatency) {
692 auto scroll_begin = SyntheticWebGestureEventBuilder::BuildScrollBegin( 693 auto scroll_begin = SyntheticWebGestureEventBuilder::BuildScrollBegin(
693 5, -5, blink::WebGestureDeviceTouchscreen); 694 5, -5, blink::WebGestureDeviceTouchscreen);
694 ui::LatencyInfo scroll_latency; 695 ui::LatencyInfo scroll_latency;
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
921 "Event.Latency.BlockingTime.TouchEndDefaultPrevented"), 922 "Event.Latency.BlockingTime.TouchEndDefaultPrevented"),
922 ElementsAre(Bucket( 923 ElementsAre(Bucket(
923 touchend_timestamps_ms[2] - touchend_timestamps_ms[1], 1))); 924 touchend_timestamps_ms[2] - touchend_timestamps_ms[1], 1)));
924 EXPECT_THAT(histogram_tester().GetAllSamples( 925 EXPECT_THAT(histogram_tester().GetAllSamples(
925 "Event.Latency.BlockingTime.TouchEndDefaultAllowed"), 926 "Event.Latency.BlockingTime.TouchEndDefaultAllowed"),
926 ElementsAre(Bucket( 927 ElementsAre(Bucket(
927 touchend_timestamps_ms[2] - touchend_timestamps_ms[1], 1))); 928 touchend_timestamps_ms[2] - touchend_timestamps_ms[1], 1)));
928 } 929 }
929 930
930 } // namespace content 931 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698