| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h" | 5 #include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" | 9 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" |
| 10 #if defined(OS_ANDROID) | 10 #if defined(OS_ANDROID) |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 | 51 |
| 52 PageLoadMetricsEmbedder::PageLoadMetricsEmbedder( | 52 PageLoadMetricsEmbedder::PageLoadMetricsEmbedder( |
| 53 content::WebContents* web_contents) | 53 content::WebContents* web_contents) |
| 54 : web_contents_(web_contents) {} | 54 : web_contents_(web_contents) {} |
| 55 | 55 |
| 56 PageLoadMetricsEmbedder::~PageLoadMetricsEmbedder() {} | 56 PageLoadMetricsEmbedder::~PageLoadMetricsEmbedder() {} |
| 57 | 57 |
| 58 void PageLoadMetricsEmbedder::RegisterObservers( | 58 void PageLoadMetricsEmbedder::RegisterObservers( |
| 59 page_load_metrics::PageLoadTracker* tracker) { | 59 page_load_metrics::PageLoadTracker* tracker) { |
| 60 // These classes are owned by the metrics. | 60 // These classes are owned by the metrics. |
| 61 tracker->AddObserver(base::WrapUnique(new AbortsPageLoadMetricsObserver())); | 61 tracker->AddObserver(base::MakeUnique<AbortsPageLoadMetricsObserver>()); |
| 62 tracker->AddObserver(base::WrapUnique(new CorePageLoadMetricsObserver())); | 62 tracker->AddObserver(base::MakeUnique<CorePageLoadMetricsObserver>()); |
| 63 tracker->AddObserver(base::WrapUnique( | |
| 64 new data_reduction_proxy::DataReductionProxyMetricsObserver())); | |
| 65 tracker->AddObserver(base::WrapUnique(new FromGWSPageLoadMetricsObserver())); | |
| 66 tracker->AddObserver( | 63 tracker->AddObserver( |
| 67 base::WrapUnique(new google_captcha_observer::GoogleCaptchaObserver())); | 64 base::MakeUnique< |
| 65 data_reduction_proxy::DataReductionProxyMetricsObserver>()); |
| 66 tracker->AddObserver(base::MakeUnique<FromGWSPageLoadMetricsObserver>()); |
| 67 tracker->AddObserver( |
| 68 base::MakeUnique<google_captcha_observer::GoogleCaptchaObserver>()); |
| 68 // TODO(ricea): Remove this in April 2016 or before. crbug.com/348877 | 69 // TODO(ricea): Remove this in April 2016 or before. crbug.com/348877 |
| 69 tracker->AddObserver( | 70 tracker->AddObserver( |
| 70 base::WrapUnique(new chrome::StaleWhileRevalidateMetricsObserver())); | 71 base::MakeUnique<chrome::StaleWhileRevalidateMetricsObserver>()); |
| 71 tracker->AddObserver( | 72 tracker->AddObserver( |
| 72 base::WrapUnique(new DocumentWritePageLoadMetricsObserver())); | 73 base::MakeUnique<DocumentWritePageLoadMetricsObserver>()); |
| 73 tracker->AddObserver( | 74 tracker->AddObserver( |
| 74 base::WrapUnique(new previews::PreviewsPageLoadMetricsObserver())); | 75 base::WrapUnique(new previews::PreviewsPageLoadMetricsObserver())); |
| 75 tracker->AddObserver( | 76 tracker->AddObserver( |
| 76 base::WrapUnique(new ServiceWorkerPageLoadMetricsObserver())); | 77 base::MakeUnique<ServiceWorkerPageLoadMetricsObserver>()); |
| 77 tracker->AddObserver( | 78 tracker->AddObserver(base::MakeUnique<HttpsEngagementPageLoadMetricsObserver>( |
| 78 base::WrapUnique(new HttpsEngagementPageLoadMetricsObserver( | 79 web_contents_->GetBrowserContext())); |
| 79 web_contents_->GetBrowserContext()))); | |
| 80 tracker->AddObserver(base::WrapUnique(new CssScanningMetricsObserver())); | 80 tracker->AddObserver(base::WrapUnique(new CssScanningMetricsObserver())); |
| 81 #if defined(OS_ANDROID) | 81 #if defined(OS_ANDROID) |
| 82 tracker->AddObserver( | 82 tracker->AddObserver( |
| 83 base::WrapUnique(new AndroidPageLoadMetricsObserver(web_contents_))); | 83 base::MakeUnique<AndroidPageLoadMetricsObserver>(web_contents_)); |
| 84 #endif // OS_ANDROID | 84 #endif // OS_ANDROID |
| 85 } | 85 } |
| 86 | 86 |
| 87 bool PageLoadMetricsEmbedder::IsPrerendering( | 87 bool PageLoadMetricsEmbedder::IsPrerendering( |
| 88 content::WebContents* web_contents) { | 88 content::WebContents* web_contents) { |
| 89 return prerender::PrerenderContents::FromWebContents(web_contents) != nullptr; | 89 return prerender::PrerenderContents::FromWebContents(web_contents) != nullptr; |
| 90 } | 90 } |
| 91 | 91 |
| 92 bool PageLoadMetricsEmbedder::IsNewTabPageUrl(const GURL& url) { | 92 bool PageLoadMetricsEmbedder::IsNewTabPageUrl(const GURL& url) { |
| 93 Profile* profile = | 93 Profile* profile = |
| 94 Profile::FromBrowserContext(web_contents_->GetBrowserContext()); | 94 Profile::FromBrowserContext(web_contents_->GetBrowserContext()); |
| 95 if (!profile) | 95 if (!profile) |
| 96 return false; | 96 return false; |
| 97 return search::IsInstantNTPURL(url, profile); | 97 return search::IsInstantNTPURL(url, profile); |
| 98 } | 98 } |
| 99 | 99 |
| 100 } // namespace | 100 } // namespace |
| 101 | 101 |
| 102 void InitializePageLoadMetricsForWebContents( | 102 void InitializePageLoadMetricsForWebContents( |
| 103 content::WebContents* web_contents) { | 103 content::WebContents* web_contents) { |
| 104 page_load_metrics::MetricsWebContentsObserver::CreateForWebContents( | 104 page_load_metrics::MetricsWebContentsObserver::CreateForWebContents( |
| 105 web_contents, | 105 web_contents, base::MakeUnique<PageLoadMetricsEmbedder>(web_contents)); |
| 106 base::WrapUnique(new PageLoadMetricsEmbedder(web_contents))); | |
| 107 } | 106 } |
| 108 | 107 |
| 109 } // namespace chrome | 108 } // namespace chrome |
| OLD | NEW |