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 a301058e1312753aae6341f00f1023fe9e375bcf..13f0a6fc3f8638f6748efd73ad9f0f6a38a1119c 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 |
@@ -40,9 +40,10 @@ const char kFilteredCommitUrl[] = "https://whatever.com/ignore-on-commit"; |
// provided std::vector, so they can be analyzed by unit tests. |
class TestPageLoadMetricsObserver : public PageLoadMetricsObserver { |
public: |
- TestPageLoadMetricsObserver(std::vector<PageLoadTiming>* updated_timings, |
- std::vector<PageLoadTiming>* complete_timings, |
- std::vector<GURL>* observed_committed_urls) |
+ TestPageLoadMetricsObserver( |
+ std::vector<mojo::StructPtr<mojom::PageLoadTiming>>* updated_timings, |
+ std::vector<mojo::StructPtr<mojom::PageLoadTiming>>* complete_timings, |
+ std::vector<GURL>* observed_committed_urls) |
: updated_timings_(updated_timings), |
complete_timings_(complete_timings), |
observed_committed_urls_(observed_committed_urls) {} |
@@ -54,25 +55,25 @@ class TestPageLoadMetricsObserver : public PageLoadMetricsObserver { |
return CONTINUE_OBSERVING; |
} |
- void OnTimingUpdate(const PageLoadTiming& timing, |
+ void OnTimingUpdate(const mojom::PageLoadTiming& timing, |
const PageLoadExtraInfo& extra_info) override { |
- updated_timings_->push_back(timing); |
+ updated_timings_->push_back(timing.Clone()); |
} |
- void OnComplete(const PageLoadTiming& timing, |
+ void OnComplete(const mojom::PageLoadTiming& timing, |
const PageLoadExtraInfo& extra_info) override { |
- complete_timings_->push_back(timing); |
+ complete_timings_->push_back(timing.Clone()); |
} |
ObservePolicy FlushMetricsOnAppEnterBackground( |
- const PageLoadTiming& timing, |
+ const mojom::PageLoadTiming& timing, |
const PageLoadExtraInfo& extra_info) override { |
return STOP_OBSERVING; |
} |
private: |
- std::vector<PageLoadTiming>* const updated_timings_; |
- std::vector<PageLoadTiming>* const complete_timings_; |
+ std::vector<mojo::StructPtr<mojom::PageLoadTiming>>* const updated_timings_; |
+ std::vector<mojo::StructPtr<mojom::PageLoadTiming>>* const complete_timings_; |
std::vector<GURL>* const observed_committed_urls_; |
}; |
@@ -98,7 +99,7 @@ class FilteringPageLoadMetricsObserver : public PageLoadMetricsObserver { |
return should_ignore ? STOP_OBSERVING : CONTINUE_OBSERVING; |
} |
- void OnComplete(const PageLoadTiming& timing, |
+ void OnComplete(const mojom::PageLoadTiming& timing, |
const PageLoadExtraInfo& extra_info) override { |
completed_filtered_urls_->push_back(extra_info.url); |
} |
@@ -120,10 +121,12 @@ class TestPageLoadMetricsEmbedderInterface |
tracker->AddObserver(base::MakeUnique<FilteringPageLoadMetricsObserver>( |
&completed_filtered_urls_)); |
} |
- const std::vector<PageLoadTiming>& updated_timings() const { |
+ const std::vector<mojo::StructPtr<mojom::PageLoadTiming>>& updated_timings() |
+ const { |
return updated_timings_; |
} |
- const std::vector<PageLoadTiming>& complete_timings() const { |
+ const std::vector<mojo::StructPtr<mojom::PageLoadTiming>>& complete_timings() |
+ const { |
return complete_timings_; |
} |
@@ -138,8 +141,8 @@ class TestPageLoadMetricsEmbedderInterface |
} |
private: |
- std::vector<PageLoadTiming> updated_timings_; |
- std::vector<PageLoadTiming> complete_timings_; |
+ std::vector<mojo::StructPtr<mojom::PageLoadTiming>> updated_timings_; |
+ std::vector<mojo::StructPtr<mojom::PageLoadTiming>> complete_timings_; |
std::vector<GURL> observed_committed_urls_; |
std::vector<GURL> completed_filtered_urls_; |
bool is_ntp_; |
@@ -161,13 +164,14 @@ class MetricsWebContentsObserverTest : public ChromeRenderViewHostTestHarness { |
->NavigateAndCommit(GURL(url::kAboutBlankURL)); |
} |
- void SimulateTimingUpdate(const PageLoadTiming& timing) { |
+ void SimulateTimingUpdate(const mojom::PageLoadTiming& timing) { |
SimulateTimingUpdate(timing, web_contents()->GetMainFrame()); |
} |
- void SimulateTimingUpdate(const PageLoadTiming& timing, |
+ void SimulateTimingUpdate(const mojom::PageLoadTiming& timing, |
content::RenderFrameHost* render_frame_host) { |
- observer_->OnTimingUpdated(render_frame_host, timing, PageLoadMetadata()); |
+ observer_->OnTimingUpdated(render_frame_host, timing, |
+ mojom::PageLoadMetadata()); |
} |
void AttachObserver() { |
@@ -197,7 +201,7 @@ class MetricsWebContentsObserverTest : public ChromeRenderViewHostTestHarness { |
int CountEmptyCompleteTimingReported() { |
int empty = 0; |
for (const auto& timing : embedder_interface_->complete_timings()) { |
- if (timing.IsEmpty()) |
+ if (page_load_metrics::IsEmpty(*timing)) |
++empty; |
} |
return empty; |
@@ -230,7 +234,8 @@ class MetricsWebContentsObserverTest : public ChromeRenderViewHostTestHarness { |
}; |
TEST_F(MetricsWebContentsObserverTest, SuccessfulMainFrameNavigation) { |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
timing.navigation_start = base::Time::FromDoubleT(1); |
content::WebContentsTester* web_contents_tester = |
@@ -258,7 +263,8 @@ TEST_F(MetricsWebContentsObserverTest, SuccessfulMainFrameNavigation) { |
} |
TEST_F(MetricsWebContentsObserverTest, NotInMainFrame) { |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
timing.navigation_start = base::Time::FromDoubleT(1); |
content::WebContentsTester* web_contents_tester = |
@@ -288,7 +294,8 @@ TEST_F(MetricsWebContentsObserverTest, NotInMainFrame) { |
} |
TEST_F(MetricsWebContentsObserverTest, SameDocumentNoTrigger) { |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
timing.navigation_start = base::Time::FromDoubleT(1); |
content::WebContentsTester* web_contents_tester = |
@@ -318,7 +325,8 @@ TEST_F(MetricsWebContentsObserverTest, SameDocumentNoTrigger) { |
} |
TEST_F(MetricsWebContentsObserverTest, DontLogNewTabPage) { |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
timing.navigation_start = base::Time::FromDoubleT(1); |
content::WebContentsTester* web_contents_tester = |
@@ -335,7 +343,8 @@ TEST_F(MetricsWebContentsObserverTest, DontLogNewTabPage) { |
} |
TEST_F(MetricsWebContentsObserverTest, DontLogIrrelevantNavigation) { |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
timing.navigation_start = base::Time::FromDoubleT(10); |
content::WebContentsTester* web_contents_tester = |
@@ -355,7 +364,8 @@ TEST_F(MetricsWebContentsObserverTest, DontLogIrrelevantNavigation) { |
} |
TEST_F(MetricsWebContentsObserverTest, EmptyTimingError) { |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
content::WebContentsTester* web_contents_tester = |
content::WebContentsTester::For(web_contents()); |
@@ -379,8 +389,9 @@ TEST_F(MetricsWebContentsObserverTest, EmptyTimingError) { |
} |
TEST_F(MetricsWebContentsObserverTest, NullNavigationStartError) { |
- PageLoadTiming timing; |
- timing.parse_timing.parse_start = base::TimeDelta::FromMilliseconds(1); |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
+ timing.parse_timing->parse_start = base::TimeDelta::FromMilliseconds(1); |
content::WebContentsTester* web_contents_tester = |
content::WebContentsTester::For(web_contents()); |
@@ -404,9 +415,10 @@ TEST_F(MetricsWebContentsObserverTest, NullNavigationStartError) { |
} |
TEST_F(MetricsWebContentsObserverTest, TimingOrderError) { |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
timing.navigation_start = base::Time::FromDoubleT(1); |
- timing.parse_timing.parse_stop = base::TimeDelta::FromMilliseconds(1); |
+ timing.parse_timing->parse_stop = base::TimeDelta::FromMilliseconds(1); |
content::WebContentsTester* web_contents_tester = |
content::WebContentsTester::For(web_contents()); |
@@ -430,7 +442,8 @@ TEST_F(MetricsWebContentsObserverTest, TimingOrderError) { |
} |
TEST_F(MetricsWebContentsObserverTest, NotInMainError) { |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
timing.navigation_start = base::Time::FromDoubleT(1); |
content::WebContentsTester* web_contents_tester = |
@@ -453,9 +466,11 @@ TEST_F(MetricsWebContentsObserverTest, NotInMainError) { |
} |
TEST_F(MetricsWebContentsObserverTest, BadIPC) { |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
timing.navigation_start = base::Time::FromDoubleT(10); |
- PageLoadTiming timing2; |
+ mojom::PageLoadTiming timing2; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing2); |
timing2.navigation_start = base::Time::FromDoubleT(100); |
content::WebContentsTester* web_contents_tester = |
@@ -478,7 +493,8 @@ TEST_F(MetricsWebContentsObserverTest, ObservePartialNavigation) { |
DeleteContents(); |
SetContents(CreateTestWebContents()); |
- PageLoadTiming timing; |
+ mojom::PageLoadTiming timing; |
+ page_load_metrics::InitPageLoadTimingForTest(&timing); |
timing.navigation_start = base::Time::FromDoubleT(10); |
content::WebContentsTester* web_contents_tester = |