Chromium Code Reviews| Index: content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc |
| diff --git a/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc b/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc |
| index a511ed74e80db421206a205f0d3d0d13c4527063..990b6e6e3bf58fd3c9338f50821dc67ee5bb5a42 100644 |
| --- a/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc |
| +++ b/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc |
| @@ -91,6 +91,27 @@ class RenderWidgetHostLatencyTrackerTest |
| ResetHistograms(); |
| } |
| + void RapporSampleAssert(const char* rappor_name, int count) { |
|
tdresser
2016/12/22 15:17:14
Can this be a method returning an AssertionResult
Navid Zolghadr
2016/12/22 16:58:49
Done.
|
| + rappor::TestSample::Shadow* sample_obj = |
| + test_browser_client_.getTestRapporService()->GetRecordedSampleForMetric( |
| + rappor_name); |
| + if (count) { |
| + EXPECT_NE(nullptr, sample_obj); |
| + if (sample_obj) { |
| + const auto& domain_it = sample_obj->string_fields.find("Domain"); |
| + EXPECT_NE(domain_it, sample_obj->string_fields.end()); |
| + EXPECT_EQ("bar.com", domain_it->second); |
| + const auto& latency_it = sample_obj->uint64_fields.find("Latency"); |
| + EXPECT_NE(latency_it, sample_obj->uint64_fields.end()); |
| + EXPECT_EQ(rappor::NO_NOISE, latency_it->second.second); |
| + } |
| + EXPECT_EQ(count, |
| + test_browser_client_.getTestRapporService()->GetReportsCount()); |
| + } else { |
| + EXPECT_EQ(nullptr, sample_obj); |
| + } |
| + } |
| + |
| ::testing::AssertionResult HistogramSizeEq(const char* histogram_name, |
| int size) { |
| uint64_t histogram_size = |
| @@ -135,6 +156,8 @@ class RenderWidgetHostLatencyTrackerTest |
| }; |
| TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToFirstScrollHistograms) { |
| + const GURL url("http://www.foo.bar.com/subpage/1"); |
| + contents()->NavigateAndCommit(url); |
| for (bool rendering_on_main : {false, true}) { |
| for (bool is_running_navigation_hint_task : {false, true}) { |
| ResetHistograms(); |
| @@ -160,6 +183,19 @@ TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToFirstScrollHistograms) { |
| INPUT_EVENT_ACK_STATE_NOT_CONSUMED); |
| tracker()->OnFrameSwapped(wheel_latency, |
| is_running_navigation_hint_task); |
| + |
| + // Rappor metrics |
|
tdresser
2016/12/22 15:17:14
Missing . at the end, and elsewhere.
Navid Zolghadr
2016/12/22 16:58:49
Done.
|
| + RapporSampleAssert( |
| + "Event.Latency.ScrollUpdate.Touch." |
| + "TimeToScrollUpdateSwapBegin2", 0); |
| + RapporSampleAssert( |
| + "Event.Latency.ScrollBegin.Touch." |
| + "TimeToScrollUpdateSwapBegin2", 0); |
| + RapporSampleAssert( |
| + "Event.Latency.ScrollBegin.Wheel." |
| + "TimeToScrollUpdateSwapBegin2", 2); |
| + |
| + // UMA histograms |
| EXPECT_TRUE(HistogramSizeEq("Event.Latency.Browser.WheelUI", 1)); |
| EXPECT_TRUE(HistogramSizeEq("Event.Latency.Browser.WheelAcked", 1)); |
| @@ -289,6 +325,8 @@ TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToScrollHistograms) { |
| } |
| TEST_F(RenderWidgetHostLatencyTrackerTest, TestTouchToFirstScrollHistograms) { |
| + const GURL url("http://www.foo.bar.com/subpage/1"); |
| + contents()->NavigateAndCommit(url); |
| for (bool rendering_on_main : {false, true}) { |
| for (bool is_running_navigation_hint_task : {false, true}) { |
| ResetHistograms(); |
| @@ -338,6 +376,18 @@ TEST_F(RenderWidgetHostLatencyTrackerTest, TestTouchToFirstScrollHistograms) { |
| is_running_navigation_hint_task); |
| } |
| + // Rappor metrics |
| + RapporSampleAssert( |
| + "Event.Latency.ScrollUpdate.Touch." |
| + "TimeToScrollUpdateSwapBegin2", 0); |
| + RapporSampleAssert( |
| + "Event.Latency.ScrollBegin.Touch." |
| + "TimeToScrollUpdateSwapBegin2", 2); |
| + RapporSampleAssert( |
| + "Event.Latency.ScrollBegin.Wheel." |
| + "TimeToScrollUpdateSwapBegin2", 0); |
| + |
| + // UMA histograms |
| EXPECT_TRUE(HistogramSizeEq("Event.Latency.Browser.TouchUI", 1)); |
| EXPECT_TRUE(HistogramSizeEq("Event.Latency.Browser.TouchAcked", 1)); |
| EXPECT_TRUE(HistogramSizeEq( |
| @@ -473,21 +523,15 @@ TEST_F(RenderWidgetHostLatencyTrackerTest, TestTouchToScrollHistograms) { |
| } |
| // Rappor metrics |
| - rappor::TestSample::Shadow* sample_obj = |
| - test_browser_client_.getTestRapporService() |
| - ->GetRecordedSampleForMetric( |
| - "Event.Latency.ScrollUpdate.Touch." |
| - "TimeToScrollUpdateSwapBegin2"); |
| - EXPECT_NE(nullptr, sample_obj); |
| - const auto& domain_it = sample_obj->string_fields.find("Domain"); |
| - EXPECT_NE(domain_it, sample_obj->string_fields.end()); |
| - EXPECT_EQ("bar.com", domain_it->second); |
| - const auto& latency_it = sample_obj->uint64_fields.find("Latency"); |
| - EXPECT_NE(latency_it, sample_obj->uint64_fields.end()); |
| - EXPECT_EQ(rappor::NO_NOISE, latency_it->second.second); |
| - |
| - EXPECT_EQ(2, |
| - test_browser_client_.getTestRapporService()->GetReportsCount()); |
| + RapporSampleAssert( |
| + "Event.Latency.ScrollUpdate.Touch." |
| + "TimeToScrollUpdateSwapBegin2", 2); |
| + RapporSampleAssert( |
| + "Event.Latency.ScrollBegin.Touch." |
| + "TimeToScrollUpdateSwapBegin2", 0); |
| + RapporSampleAssert( |
| + "Event.Latency.ScrollBegin.Wheel." |
| + "TimeToScrollUpdateSwapBegin2", 0); |
| // UMA histograms |
| EXPECT_TRUE(HistogramSizeEq( |