| Index: chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc
|
| diff --git a/chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc b/chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc
|
| index 453f15b3740b6264a7220cdc420d5767c5e99eaf..5ab9f0d2299302cb21c3613c8c7f1a2ba56e56cd 100644
|
| --- a/chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc
|
| +++ b/chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc
|
| @@ -43,7 +43,7 @@ class TestMetricsRenderFrameObserver : public MetricsRenderFrameObserver {
|
|
|
| void set_is_main_frame(bool is_main_frame) { is_main_frame_ = is_main_frame; }
|
|
|
| - bool WasFakeTimingConsumed() const { return fake_timing_.IsEmpty(); }
|
| + bool WasFakeTimingConsumed() const { return IsEmpty(*fake_timing_); }
|
|
|
| void ExpectPageLoadTiming(const PageLoadTiming& timing) {
|
| SetFakePageLoadTiming(timing);
|
| @@ -51,18 +51,17 @@ class TestMetricsRenderFrameObserver : public MetricsRenderFrameObserver {
|
| }
|
|
|
| void SetFakePageLoadTiming(const PageLoadTiming& timing) {
|
| - EXPECT_TRUE(fake_timing_.IsEmpty());
|
| - fake_timing_ = timing;
|
| + EXPECT_EQ(nullptr, fake_timing_.get());
|
| + fake_timing_ = timing.Clone();
|
| }
|
|
|
| - PageLoadTiming GetTiming() const override {
|
| - PageLoadTiming tmp = fake_timing_;
|
| - fake_timing_ = PageLoadTiming();
|
| - return tmp;
|
| + mojo::StructPtr<PageLoadTiming> GetTiming() const override {
|
| + EXPECT_NE(nullptr, fake_timing_.get());
|
| + return std::move(fake_timing_);
|
| }
|
|
|
| void VerifyExpectedTimings() const {
|
| - EXPECT_TRUE(fake_timing_.IsEmpty());
|
| + EXPECT_EQ(nullptr, fake_timing_.get());
|
| fake_timing_ipc_sender_.VerifyExpectedTimings();
|
| }
|
|
|
| @@ -72,7 +71,7 @@ class TestMetricsRenderFrameObserver : public MetricsRenderFrameObserver {
|
|
|
| private:
|
| FakePageTimingMetricsIPCSender fake_timing_ipc_sender_;
|
| - mutable PageLoadTiming fake_timing_;
|
| + mutable mojo::StructPtr<PageLoadTiming> fake_timing_;
|
| mutable std::unique_ptr<base::Timer> mock_timer_;
|
| bool is_main_frame_ = true;
|
| };
|
| @@ -97,12 +96,13 @@ TEST_F(MetricsRenderFrameObserverTest, SingleMetric) {
|
| observer.set_mock_timer(base::WrapUnique(mock_timer));
|
|
|
| PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = nav_start;
|
| observer.ExpectPageLoadTiming(timing);
|
| observer.DidCommitProvisionalLoad(true, false);
|
| mock_timer->Fire();
|
|
|
| - timing.document_timing.first_layout = first_layout;
|
| + timing.document_timing->first_layout = first_layout;
|
| observer.ExpectPageLoadTiming(timing);
|
|
|
| observer.DidChangePerformanceTiming();
|
| @@ -120,13 +120,14 @@ TEST_F(MetricsRenderFrameObserverTest, MultipleMetrics) {
|
| observer.set_mock_timer(base::WrapUnique(mock_timer));
|
|
|
| PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = nav_start;
|
| observer.ExpectPageLoadTiming(timing);
|
| observer.DidCommitProvisionalLoad(true, false);
|
| mock_timer->Fire();
|
|
|
| - timing.document_timing.first_layout = first_layout;
|
| - timing.document_timing.dom_content_loaded_event_start = dom_event;
|
| + timing.document_timing->first_layout = first_layout;
|
| + timing.document_timing->dom_content_loaded_event_start = dom_event;
|
| observer.ExpectPageLoadTiming(timing);
|
|
|
| observer.DidChangePerformanceTiming();
|
| @@ -137,7 +138,7 @@ TEST_F(MetricsRenderFrameObserverTest, MultipleMetrics) {
|
| // part of the test.
|
| observer.VerifyExpectedTimings();
|
|
|
| - timing.document_timing.load_event_start = load_event;
|
| + timing.document_timing->load_event_start = load_event;
|
| observer.ExpectPageLoadTiming(timing);
|
|
|
| observer.DidChangePerformanceTiming();
|
| @@ -151,6 +152,7 @@ TEST_F(MetricsRenderFrameObserverTest, MultipleMetrics) {
|
| // dom content, and load metrics. However, since we've already generated
|
| // timing information for all of these metrics previously, we do not expect
|
| // this invocation to generate any additional metrics.
|
| + observer.SetFakePageLoadTiming(timing);
|
| observer.DidChangePerformanceTiming();
|
| ASSERT_FALSE(mock_timer->IsRunning());
|
| }
|
| @@ -166,14 +168,15 @@ TEST_F(MetricsRenderFrameObserverTest, MultipleNavigations) {
|
| observer.set_mock_timer(base::WrapUnique(mock_timer));
|
|
|
| PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = nav_start;
|
| observer.ExpectPageLoadTiming(timing);
|
| observer.DidCommitProvisionalLoad(true, false);
|
| mock_timer->Fire();
|
|
|
| - timing.document_timing.first_layout = first_layout;
|
| - timing.document_timing.dom_content_loaded_event_start = dom_event;
|
| - timing.document_timing.load_event_start = load_event;
|
| + timing.document_timing->first_layout = first_layout;
|
| + timing.document_timing->dom_content_loaded_event_start = dom_event;
|
| + timing.document_timing->load_event_start = load_event;
|
| observer.ExpectPageLoadTiming(timing);
|
| observer.DidChangePerformanceTiming();
|
| mock_timer->Fire();
|
| @@ -188,6 +191,7 @@ TEST_F(MetricsRenderFrameObserverTest, MultipleNavigations) {
|
| base::TimeDelta dom_event_2 = base::TimeDelta::FromMillisecondsD(20);
|
| base::TimeDelta load_event_2 = base::TimeDelta::FromMillisecondsD(20);
|
| PageLoadTiming timing_2;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing_2);
|
| timing_2.navigation_start = nav_start_2;
|
|
|
| base::MockTimer* mock_timer2 = new base::MockTimer(false, false);
|
| @@ -197,9 +201,9 @@ TEST_F(MetricsRenderFrameObserverTest, MultipleNavigations) {
|
| observer.DidCommitProvisionalLoad(true, false);
|
| mock_timer2->Fire();
|
|
|
| - timing_2.document_timing.first_layout = first_layout_2;
|
| - timing_2.document_timing.dom_content_loaded_event_start = dom_event_2;
|
| - timing_2.document_timing.load_event_start = load_event_2;
|
| + timing_2.document_timing->first_layout = first_layout_2;
|
| + timing_2.document_timing->dom_content_loaded_event_start = dom_event_2;
|
| + timing_2.document_timing->load_event_start = load_event_2;
|
| observer.ExpectPageLoadTiming(timing_2);
|
|
|
| observer.DidChangePerformanceTiming();
|
| @@ -215,6 +219,7 @@ TEST_F(MetricsRenderFrameObserverTest, NoUpdatesFromChildFrames) {
|
| observer.set_is_main_frame(false);
|
|
|
| PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = nav_start;
|
| observer.SetFakePageLoadTiming(timing);
|
| observer.DidCommitProvisionalLoad(true, false);
|
|
|