Index: chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc |
diff --git a/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc b/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc |
index 2466dd157bc42d9a0fc3d61dca65c40a336254da..85c06110f2ac8a27ba2a76d8877d022a4d227008 100644 |
--- a/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc |
+++ b/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "base/macros.h" |
#include "base/memory/ptr_util.h" |
#include "base/process/kill.h" |
+#include "base/run_loop.h" |
#include "base/test/histogram_tester.h" |
#include "base/time/time.h" |
#include "chrome/browser/page_load_metrics/metrics_navigation_throttle.h" |
@@ -171,6 +172,15 @@ class MetricsWebContentsObserverTest : public ChromeRenderViewHostTestHarness { |
PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing, |
PageLoadMetadata()), |
render_frame_host)); |
+ |
+ observer_->page_load_metrics_binding_for_testing() |
+ .SetCurrentTargetFrameForTesting(render_frame_host); |
+ mojo::Binding<page_load_metrics::mojom::PageLoadMetrics> binding(observer_); |
+ mojom::PageLoadMetricsPtr ptr; |
+ mojom::PageLoadMetricsRequest request = MakeRequest(&ptr); |
+ binding.Bind(std::move(request)); |
+ ptr->UpdateTiming(timing, PageLoadMetadata()); |
Zhen Wang
2017/04/19 21:52:47
Should this and the above IPC one be controlled by
|
+ base::RunLoop().RunUntilIdle(); |
} |
void AttachObserver() { |
@@ -285,7 +295,7 @@ TEST_F(MetricsWebContentsObserverTest, NotInMainFrame) { |
ASSERT_EQ(0, CountUpdatedTimingReported()); |
ASSERT_EQ(1, CountCompleteTimingReported()); |
ASSERT_EQ(1, CountEmptyCompleteTimingReported()); |
- CheckErrorEvent(ERR_TIMING_IPC_FROM_SUBFRAME, 1); |
+ CheckErrorEvent(ERR_TIMING_IPC_FROM_SUBFRAME, 2); |
CheckErrorEvent(ERR_NO_IPCS_RECEIVED, 1); |
CheckTotalErrorEvents(); |
} |
@@ -333,7 +343,7 @@ TEST_F(MetricsWebContentsObserverTest, DontLogNewTabPage) { |
web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2)); |
ASSERT_EQ(0, CountUpdatedTimingReported()); |
ASSERT_EQ(0, CountCompleteTimingReported()); |
- CheckErrorEvent(ERR_IPC_WITH_NO_RELEVANT_LOAD, 1); |
+ CheckErrorEvent(ERR_IPC_WITH_NO_RELEVANT_LOAD, 2); |
CheckTotalErrorEvents(); |
} |
@@ -352,8 +362,8 @@ TEST_F(MetricsWebContentsObserverTest, DontLogIrrelevantNavigation) { |
ASSERT_EQ(0, CountUpdatedTimingReported()); |
ASSERT_EQ(0, CountCompleteTimingReported()); |
- CheckErrorEvent(ERR_IPC_FROM_BAD_URL_SCHEME, 1); |
- CheckErrorEvent(ERR_IPC_WITH_NO_RELEVANT_LOAD, 1); |
+ CheckErrorEvent(ERR_IPC_FROM_BAD_URL_SCHEME, 2); |
+ CheckErrorEvent(ERR_IPC_WITH_NO_RELEVANT_LOAD, 2); |
CheckTotalErrorEvents(); |
} |
@@ -370,15 +380,15 @@ TEST_F(MetricsWebContentsObserverTest, EmptyTimingError) { |
ASSERT_EQ(0, CountUpdatedTimingReported()); |
ASSERT_EQ(1, CountCompleteTimingReported()); |
- CheckErrorEvent(ERR_BAD_TIMING_IPC_INVALID_TIMING, 1); |
+ CheckErrorEvent(ERR_BAD_TIMING_IPC_INVALID_TIMING, 2); |
CheckErrorEvent(ERR_NO_IPCS_RECEIVED, 1); |
CheckTotalErrorEvents(); |
histogram_tester_.ExpectTotalCount( |
- page_load_metrics::internal::kPageLoadTimingStatus, 1); |
+ page_load_metrics::internal::kPageLoadTimingStatus, 2); |
histogram_tester_.ExpectBucketCount( |
page_load_metrics::internal::kPageLoadTimingStatus, |
- page_load_metrics::internal::INVALID_EMPTY_TIMING, 1); |
+ page_load_metrics::internal::INVALID_EMPTY_TIMING, 2); |
} |
TEST_F(MetricsWebContentsObserverTest, NullNavigationStartError) { |
@@ -395,15 +405,15 @@ TEST_F(MetricsWebContentsObserverTest, NullNavigationStartError) { |
ASSERT_EQ(0, CountUpdatedTimingReported()); |
ASSERT_EQ(1, CountCompleteTimingReported()); |
- CheckErrorEvent(ERR_BAD_TIMING_IPC_INVALID_TIMING, 1); |
+ CheckErrorEvent(ERR_BAD_TIMING_IPC_INVALID_TIMING, 2); |
CheckErrorEvent(ERR_NO_IPCS_RECEIVED, 1); |
CheckTotalErrorEvents(); |
histogram_tester_.ExpectTotalCount( |
- page_load_metrics::internal::kPageLoadTimingStatus, 1); |
+ page_load_metrics::internal::kPageLoadTimingStatus, 2); |
histogram_tester_.ExpectBucketCount( |
page_load_metrics::internal::kPageLoadTimingStatus, |
- page_load_metrics::internal::INVALID_NULL_NAVIGATION_START, 1); |
+ page_load_metrics::internal::INVALID_NULL_NAVIGATION_START, 2); |
} |
TEST_F(MetricsWebContentsObserverTest, TimingOrderError) { |
@@ -421,15 +431,15 @@ TEST_F(MetricsWebContentsObserverTest, TimingOrderError) { |
ASSERT_EQ(0, CountUpdatedTimingReported()); |
ASSERT_EQ(1, CountCompleteTimingReported()); |
- CheckErrorEvent(ERR_BAD_TIMING_IPC_INVALID_TIMING, 1); |
+ CheckErrorEvent(ERR_BAD_TIMING_IPC_INVALID_TIMING, 2); |
CheckErrorEvent(ERR_NO_IPCS_RECEIVED, 1); |
CheckTotalErrorEvents(); |
histogram_tester_.ExpectTotalCount( |
- page_load_metrics::internal::kPageLoadTimingStatus, 1); |
+ page_load_metrics::internal::kPageLoadTimingStatus, 2); |
histogram_tester_.ExpectBucketCount( |
page_load_metrics::internal::kPageLoadTimingStatus, |
- page_load_metrics::internal::INVALID_ORDER_PARSE_START_PARSE_STOP, 1); |
+ page_load_metrics::internal::INVALID_ORDER_PARSE_START_PARSE_STOP, 2); |
} |
TEST_F(MetricsWebContentsObserverTest, NotInMainError) { |
@@ -449,7 +459,7 @@ TEST_F(MetricsWebContentsObserverTest, NotInMainError) { |
subframe_tester->SimulateNavigationStart(GURL(kDefaultTestUrl2)); |
subframe_tester->SimulateNavigationCommit(GURL(kDefaultTestUrl2)); |
SimulateTimingUpdate(timing, subframe); |
- CheckErrorEvent(ERR_TIMING_IPC_FROM_SUBFRAME, 1); |
+ CheckErrorEvent(ERR_TIMING_IPC_FROM_SUBFRAME, 2); |
CheckTotalErrorEvents(); |
ASSERT_EQ(0, CountUpdatedTimingReported()); |
ASSERT_EQ(0, CountCompleteTimingReported()); |
@@ -470,7 +480,7 @@ TEST_F(MetricsWebContentsObserverTest, BadIPC) { |
SimulateTimingUpdate(timing2); |
ASSERT_EQ(1, CountUpdatedTimingReported()); |
- CheckErrorEvent(ERR_BAD_TIMING_IPC_INVALID_TIMING_DESCENDENT, 1); |
+ CheckErrorEvent(ERR_BAD_TIMING_IPC_INVALID_TIMING_DESCENDENT, 2); |
CheckTotalErrorEvents(); |
} |
@@ -501,7 +511,7 @@ TEST_F(MetricsWebContentsObserverTest, ObservePartialNavigation) { |
web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2)); |
ASSERT_EQ(0, CountCompleteTimingReported()); |
ASSERT_EQ(0, CountUpdatedTimingReported()); |
- CheckErrorEvent(ERR_IPC_WITH_NO_RELEVANT_LOAD, 1); |
+ CheckErrorEvent(ERR_IPC_WITH_NO_RELEVANT_LOAD, 2); |
CheckTotalErrorEvents(); |
} |