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..8f887b7a1dcface0470f4f11fac6ff36a8c15046 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,26 +43,25 @@ 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) { |
+ void ExpectPageLoadTiming(const mojom::PageLoadTiming& timing) { |
SetFakePageLoadTiming(timing); |
fake_timing_ipc_sender_.ExpectPageLoadTiming(timing); |
} |
- void SetFakePageLoadTiming(const PageLoadTiming& timing) { |
- EXPECT_TRUE(fake_timing_.IsEmpty()); |
- fake_timing_ = timing; |
+ void SetFakePageLoadTiming(const mojom::PageLoadTiming& 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<mojom::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<mojom::PageLoadTiming> fake_timing_; |
mutable std::unique_ptr<base::Timer> mock_timer_; |
bool is_main_frame_ = true; |
}; |
@@ -96,13 +95,14 @@ TEST_F(MetricsRenderFrameObserverTest, SingleMetric) { |
base::MockTimer* mock_timer = new base::MockTimer(false, false); |
observer.set_mock_timer(base::WrapUnique(mock_timer)); |
- PageLoadTiming timing; |
+ mojom::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(); |
@@ -119,14 +119,15 @@ TEST_F(MetricsRenderFrameObserverTest, MultipleMetrics) { |
base::MockTimer* mock_timer = new base::MockTimer(false, false); |
observer.set_mock_timer(base::WrapUnique(mock_timer)); |
- PageLoadTiming timing; |
+ mojom::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()); |
} |
@@ -165,15 +167,16 @@ TEST_F(MetricsRenderFrameObserverTest, MultipleNavigations) { |
base::MockTimer* mock_timer = new base::MockTimer(false, false); |
observer.set_mock_timer(base::WrapUnique(mock_timer)); |
- PageLoadTiming timing; |
+ mojom::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(); |
@@ -187,7 +190,8 @@ TEST_F(MetricsRenderFrameObserverTest, MultipleNavigations) { |
base::TimeDelta first_layout_2 = base::TimeDelta::FromMillisecondsD(20); |
base::TimeDelta dom_event_2 = base::TimeDelta::FromMillisecondsD(20); |
base::TimeDelta load_event_2 = base::TimeDelta::FromMillisecondsD(20); |
- PageLoadTiming timing_2; |
+ mojom::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(); |
@@ -214,7 +218,8 @@ TEST_F(MetricsRenderFrameObserverTest, NoUpdatesFromChildFrames) { |
observer.set_mock_timer(base::WrapUnique(mock_timer)); |
observer.set_is_main_frame(false); |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
timing.navigation_start = nav_start; |
observer.SetFakePageLoadTiming(timing); |
observer.DidCommitProvisionalLoad(true, false); |