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

Unified Diff: chrome/browser/page_load_metrics/page_load_metrics_initialize.cc

Issue 1473153002: PageLoadMetricsObservers observe individual page loads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: destroy order 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/page_load_metrics_initialize.cc
diff --git a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc
index 9dcbb11d82735f240b3f1a638bc278ac31578251..21a990a3cca4a8fb31aa7900a4fde690b51a7c5c 100644
--- a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc
+++ b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc
@@ -13,40 +13,30 @@
#include "components/rappor/rappor_service.h"
#include "content/public/browser/web_contents.h"
-namespace {
-
-void RegisterPageLoadMetricsObservers(
- page_load_metrics::PageLoadMetricsObservable* metrics) {
- // Attach observers scoped to the web contents here.
-
- // This is a self-destruct class, and will delete itself when triggered by
- // OnPageLoadMetricsGoingAway.
- metrics->AddObserver(new FromGWSPageLoadMetricsObserver(metrics));
- metrics->AddObserver(
- new google_captcha_observer::GoogleCaptchaObserver(metrics));
- // StaleWhileRevalidateMetricsObserver also deletes itself from
- // OnPageLoadMetricsGoingAway.
- // TODO(ricea): Remove this in April 2016 or before. crbug.com/348877
- metrics->AddObserver(
- new chrome::StaleWhileRevalidateMetricsObserver(metrics));
-}
-
-} // namespace
-
namespace chrome {
void InitializePageLoadMetricsForWebContents(
content::WebContents* web_contents) {
- RegisterPageLoadMetricsObservers(
- page_load_metrics::MetricsWebContentsObserver::CreateForWebContents(
- web_contents,
- make_scoped_ptr(new PageLoadMetricsEmbedderInterfaceImpl())));
+ page_load_metrics::MetricsWebContentsObserver::CreateForWebContents(
+ web_contents,
+ make_scoped_ptr(new PageLoadMetricsEmbedder()));
}
-PageLoadMetricsEmbedderInterfaceImpl::~PageLoadMetricsEmbedderInterfaceImpl() {}
+PageLoadMetricsEmbedder::~PageLoadMetricsEmbedder() {}
+
+void PageLoadMetricsEmbedder::RegisterObservers(
+ page_load_metrics::PageLoadTracker* tracker) {
+ // These classes are owned by the metrics.
+ tracker->AddObserver(make_scoped_ptr(new FromGWSPageLoadMetricsObserver()));
+ tracker->AddObserver(
+ make_scoped_ptr(new google_captcha_observer::GoogleCaptchaObserver()));
+ // TODO(ricea): Remove this in April 2016 or before. crbug.com/348877
+ tracker->AddObserver(
+ make_scoped_ptr(new chrome::StaleWhileRevalidateMetricsObserver()));
+}
rappor::RapporService*
-PageLoadMetricsEmbedderInterfaceImpl::GetRapporService() {
+PageLoadMetricsEmbedder::GetRapporService() {
// During the browser process shutdown path, calling this getter can
// reinitialize multiple destroyed objects. This alters shutdown ordering.
if (g_browser_process->IsShuttingDown())
@@ -54,7 +44,7 @@ PageLoadMetricsEmbedderInterfaceImpl::GetRapporService() {
return g_browser_process->rappor_service();
}
-bool PageLoadMetricsEmbedderInterfaceImpl::IsPrerendering(
+bool PageLoadMetricsEmbedder::IsPrerendering(
content::WebContents* web_contents) {
return prerender::PrerenderContents::FromWebContents(web_contents) != nullptr;
}

Powered by Google App Engine
This is Rietveld 408576698