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

Unified Diff: chrome/browser/page_load_metrics/metrics_web_contents_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/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 =

Powered by Google App Engine
This is Rietveld 408576698