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

Unified Diff: chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc

Issue 1473153002: PageLoadMetricsObservers observe individual page loads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase on #362343 Created 5 years 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/observers/page_load_metrics_observers_unittest.cc
diff --git a/chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc b/chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc
index da6a7a443ed4b8e89f71074060a37bcf1fa1b323..bf7b6070c6f5bf9be62817c81c561aa2876a6e8e 100644
--- a/chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc
@@ -19,32 +19,45 @@ const char kHistogramNameFromGWSFirstTextPaint[] =
} // namespace
-class TestPageLoadMetricsEmbedderInterface
- : public page_load_metrics::PageLoadMetricsEmbedderInterface {
- public:
- TestPageLoadMetricsEmbedderInterface() {}
- rappor::RapporService* GetRapporService() override { return nullptr; }
- bool IsPrerendering(content::WebContents* web_contents) override {
- return false;
- }
-};
-
class TestFromGWSPageLoadMetricsObserver
: public FromGWSPageLoadMetricsObserver {
public:
explicit TestFromGWSPageLoadMetricsObserver(
- page_load_metrics::PageLoadMetricsObservable* metrics)
- : FromGWSPageLoadMetricsObserver(metrics) {}
+ page_load_metrics::PageLoadMetricsObservable* metrics,
+ const content::Referrer& referrer)
+ : FromGWSPageLoadMetricsObserver(metrics), referrer_(referrer) {}
void OnCommit(content::NavigationHandle* navigation_handle) override {
const GURL& url = navigation_handle->GetURL();
SetCommittedURLAndReferrer(
url, content::Referrer::SanitizeForRequest(url, referrer_));
}
+ private:
+ const content::Referrer referrer_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestFromGWSPageLoadMetricsObserver);
+};
+
+class TestPageLoadMetricsEmbedderInterface
+ : public page_load_metrics::PageLoadMetricsEmbedderInterface {
+ public:
+ TestPageLoadMetricsEmbedderInterface()
+ : referrer_(content::Referrer(GURL("https://www.google.com"),
+ blink::WebReferrerPolicyDefault)) {}
+ rappor::RapporService* GetRapporService() override { return nullptr; }
+ bool IsPrerendering(content::WebContents* web_contents) override {
+ return false;
+ }
+ void RegisterObservers(
+ page_load_metrics::PageLoadMetricsObservable* metrics) override {
+ new TestFromGWSPageLoadMetricsObserver(metrics, referrer_);
+ }
void set_referrer(const content::Referrer& referrer) { referrer_ = referrer; }
private:
content::Referrer referrer_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestPageLoadMetricsEmbedderInterface);
};
class PageLoadMetricsObserverTest : public ChromeRenderViewHostTestHarness {
@@ -55,23 +68,17 @@ class PageLoadMetricsObserverTest : public ChromeRenderViewHostTestHarness {
ChromeRenderViewHostTestHarness::SetUp();
SetContents(CreateTestWebContents());
NavigateAndCommit(GURL("http://www.google.com"));
+ embedder_interface_ = new TestPageLoadMetricsEmbedderInterface();
observer_ =
make_scoped_ptr(new page_load_metrics::MetricsWebContentsObserver(
- web_contents(),
- make_scoped_ptr(new TestPageLoadMetricsEmbedderInterface())));
+ web_contents(), make_scoped_ptr(embedder_interface_)));
observer_->WasShown();
-
- // Add PageLoadMetricsObservers here.
- gws_observer_ = new TestFromGWSPageLoadMetricsObserver(observer_.get());
- observer_->AddObserver(gws_observer_);
}
base::HistogramTester histogram_tester_;
+ TestPageLoadMetricsEmbedderInterface* embedder_interface_;
scoped_ptr<page_load_metrics::MetricsWebContentsObserver> observer_;
- // PageLoadMetricsObservers:
- TestFromGWSPageLoadMetricsObserver* gws_observer_;
-
DISALLOW_COPY_AND_ASSIGN(PageLoadMetricsObserverTest);
};
@@ -99,7 +106,7 @@ TEST_F(PageLoadMetricsObserverTest, ReferralsFromGWSHTTPToHTTPS) {
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
// HTTPS google.com referral to HTTP example.com.
- gws_observer_->set_referrer(content::Referrer(
+ embedder_interface_->set_referrer(content::Referrer(
GURL("https://www.google.com"), blink::WebReferrerPolicyOrigin));
NavigateAndCommit(GURL("http://www.example.com"));
@@ -120,7 +127,7 @@ TEST_F(PageLoadMetricsObserverTest, ReferralFromGWS) {
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
- gws_observer_->set_referrer(content::Referrer(
+ embedder_interface_->set_referrer(content::Referrer(
GURL("https://www.google.com/url"), blink::WebReferrerPolicyDefault));
NavigateAndCommit(GURL("https://www.example.com"));
@@ -141,7 +148,7 @@ TEST_F(PageLoadMetricsObserverTest, ReferralFromGWSBackgroundLater) {
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMicroseconds(1);
- gws_observer_->set_referrer(content::Referrer(
+ embedder_interface_->set_referrer(content::Referrer(
GURL("https://www.google.com/url"), blink::WebReferrerPolicyDefault));
NavigateAndCommit(GURL("https://www.example.com"));
@@ -164,7 +171,7 @@ TEST_F(PageLoadMetricsObserverTest, ReferralsFromCaseInsensitive) {
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
// HTTPS google.com referral to HTTP example.com.
- gws_observer_->set_referrer(content::Referrer(
+ embedder_interface_->set_referrer(content::Referrer(
GURL("https://wWw.GoOGlE.cOm/webhp"), blink::WebReferrerPolicyOrigin));
NavigateAndCommit(GURL("https://www.example.com"));
@@ -185,7 +192,7 @@ TEST_F(PageLoadMetricsObserverTest, ReferralsFromGWSOrigin) {
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
// HTTPS google.com referral to HTTP example.com.
- gws_observer_->set_referrer(content::Referrer(
+ embedder_interface_->set_referrer(content::Referrer(
GURL("https://www.google.com"), blink::WebReferrerPolicyOrigin));
NavigateAndCommit(GURL("https://www.example.com"));
@@ -197,7 +204,7 @@ TEST_F(PageLoadMetricsObserverTest, ReferralsFromGWSOrigin) {
timing2.navigation_start = base::Time::FromDoubleT(10);
timing2.first_text_paint = base::TimeDelta::FromMilliseconds(100);
// HTTPS google.com referral to HTTP example.com.
- gws_observer_->set_referrer(content::Referrer(
+ embedder_interface_->set_referrer(content::Referrer(
GURL("https://www.google.co.in"), blink::WebReferrerPolicyOrigin));
NavigateAndCommit(GURL("https://www.example2.com"));
@@ -219,9 +226,9 @@ TEST_F(PageLoadMetricsObserverTest, ReferralNotFromGWS) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
- NavigateAndCommit(GURL("https://www.example.com"));
- gws_observer_->set_referrer(content::Referrer(
+ embedder_interface_->set_referrer(content::Referrer(
GURL("https://www.anothersite.com"), blink::WebReferrerPolicyDefault));
+ NavigateAndCommit(GURL("https://www.example.com"));
observer_->OnMessageReceived(
PageLoadMetricsMsg_TimingUpdated(observer_->routing_id(), timing),

Powered by Google App Engine
This is Rietveld 408576698