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 19e9a9f30ad8ff88ebe75e454f8aa84f98c9b11b..2363c9a4bede2cfe29186b47c151f4a659d8512e 100644 |
--- a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc |
+++ b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc |
@@ -6,6 +6,9 @@ |
#include "base/macros.h" |
#include "base/memory/ptr_util.h" |
+#if defined(OS_ANDROID) |
+#include "chrome/browser/android/offline_pages/request_coordinator_factory.h" |
+#endif |
#include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" |
#if defined(OS_ANDROID) |
#include "chrome/browser/page_load_metrics/observers/android_page_load_metrics_observer.h" |
@@ -28,6 +31,7 @@ |
#include "chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer.h" |
#include "chrome/browser/page_load_metrics/observers/protocol_page_load_metrics_observer.h" |
#include "chrome/browser/page_load_metrics/observers/resource_prefetch_predictor_page_load_metrics_observer.h" |
+#include "chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer.h" |
#include "chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer.h" |
#include "chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.h" |
#include "chrome/browser/page_load_metrics/observers/tab_restore_page_load_metrics_observer.h" |
@@ -37,6 +41,9 @@ |
#include "chrome/browser/prerender/prerender_contents.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/search/search.h" |
+#if defined(OS_ANDROID) |
+#include "components/offline_pages/core/background/request_coordinator.h" |
+#endif |
#include "components/rappor/rappor_service_impl.h" |
#include "content/public/browser/web_contents.h" |
#include "url/gurl.h" |
@@ -132,6 +139,19 @@ void PageLoadMetricsEmbedder::RegisterObservers( |
base::MakeUnique<OmniboxSuggestionUsedMetricsObserver>(IsPrerendering())); |
tracker->AddObserver( |
base::MakeUnique<DelayNavigationPageLoadMetricsObserver>()); |
+#if defined(OS_ANDROID) |
+ // Whether we are using the pre-renderer or not, set up a |
+ // ResourceTrackingPageLoadMetricsObserver. |
+ offline_pages::RequestCoordinator* request_coordinator = |
+ offline_pages::RequestCoordinatorFactory::GetForBrowserContext( |
+ web_contents_->GetBrowserContext()); |
+ if (request_coordinator) { |
+ tracker->AddObserver( |
+ base::MakeUnique< |
+ page_load_metrics::ResourceTrackingPageLoadMetricsObserver>( |
+ request_coordinator)); |
+ } |
+#endif // OS_ANDROID |
} |
bool PageLoadMetricsEmbedder::IsPrerendering() const { |