Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5568)

Unified Diff: chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc

Issue 2874663005: [Page Load Metrics] Add mojom file to page load metrics. (Closed)
Patch Set: rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698