| 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) {
|
| + 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
|
| + 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(
|
|
|