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) |
11 #include "chrome/browser/page_load_metrics/observers/android_page_load_metrics_o
bserver.h" | 11 #include "chrome/browser/page_load_metrics/observers/android_page_load_metrics_o
bserver.h" |
12 #endif // OS_ANDROID | 12 #endif // OS_ANDROID |
13 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob
server.h" | 13 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob
server.h" |
14 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse
rver.h" | 14 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse
rver.h" |
15 #include "chrome/browser/page_load_metrics/observers/css_scanning_page_load_metr
ics_observer.h" | 15 #include "chrome/browser/page_load_metrics/observers/css_scanning_page_load_metr
ics_observer.h" |
16 #include "chrome/browser/page_load_metrics/observers/data_reduction_proxy_metric
s_observer.h" | 16 #include "chrome/browser/page_load_metrics/observers/data_reduction_proxy_metric
s_observer.h" |
17 #include "chrome/browser/page_load_metrics/observers/document_write_page_load_me
trics_observer.h" | 17 #include "chrome/browser/page_load_metrics/observers/document_write_page_load_me
trics_observer.h" |
18 #include "chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_
observer.h" | 18 #include "chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_
observer.h" |
19 #include "chrome/browser/page_load_metrics/observers/google_captcha_observer.h" | 19 #include "chrome/browser/page_load_metrics/observers/google_captcha_observer.h" |
20 #include "chrome/browser/page_load_metrics/observers/https_engagement_metrics/ht
tps_engagement_page_load_metrics_observer.h" | 20 #include "chrome/browser/page_load_metrics/observers/https_engagement_metrics/ht
tps_engagement_page_load_metrics_observer.h" |
21 #include "chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load
_metrics_observer.h" | 21 #include "chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load
_metrics_observer.h" |
22 #include "chrome/browser/page_load_metrics/observers/previews_page_load_metrics_
observer.h" | 22 #include "chrome/browser/page_load_metrics/observers/previews_page_load_metrics_
observer.h" |
23 #include "chrome/browser/page_load_metrics/observers/service_worker_page_load_me
trics_observer.h" | 23 #include "chrome/browser/page_load_metrics/observers/service_worker_page_load_me
trics_observer.h" |
24 #include "chrome/browser/page_load_metrics/observers/stale_while_revalidate_metr
ics_observer.h" | 24 #include "chrome/browser/page_load_metrics/observers/stale_while_revalidate_metr
ics_observer.h" |
| 25 #include "chrome/browser/page_load_metrics/observers/webui_page_load_metrics_obs
erver.h" |
25 #include "chrome/browser/prerender/prerender_contents.h" | 26 #include "chrome/browser/prerender/prerender_contents.h" |
26 #include "chrome/browser/profiles/profile.h" | 27 #include "chrome/browser/profiles/profile.h" |
27 #include "chrome/browser/search/search.h" | 28 #include "chrome/browser/search/search.h" |
28 #include "components/rappor/rappor_service.h" | 29 #include "components/rappor/rappor_service.h" |
29 #include "content/public/browser/web_contents.h" | 30 #include "content/public/browser/web_contents.h" |
30 #include "url/gurl.h" | 31 #include "url/gurl.h" |
31 | 32 |
32 namespace chrome { | 33 namespace chrome { |
33 | 34 |
34 namespace { | 35 namespace { |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 tracker->AddObserver(base::WrapUnique(new CssScanningMetricsObserver())); | 82 tracker->AddObserver(base::WrapUnique(new CssScanningMetricsObserver())); |
82 std::unique_ptr<page_load_metrics::PageLoadMetricsObserver> | 83 std::unique_ptr<page_load_metrics::PageLoadMetricsObserver> |
83 no_state_prefetch_observer = | 84 no_state_prefetch_observer = |
84 NoStatePrefetchPageLoadMetricsObserver::CreateIfNeeded(web_contents_); | 85 NoStatePrefetchPageLoadMetricsObserver::CreateIfNeeded(web_contents_); |
85 if (no_state_prefetch_observer) | 86 if (no_state_prefetch_observer) |
86 tracker->AddObserver(std::move(no_state_prefetch_observer)); | 87 tracker->AddObserver(std::move(no_state_prefetch_observer)); |
87 #if defined(OS_ANDROID) | 88 #if defined(OS_ANDROID) |
88 tracker->AddObserver( | 89 tracker->AddObserver( |
89 base::MakeUnique<AndroidPageLoadMetricsObserver>(web_contents_)); | 90 base::MakeUnique<AndroidPageLoadMetricsObserver>(web_contents_)); |
90 #endif // OS_ANDROID | 91 #endif // OS_ANDROID |
| 92 tracker->AddObserver(base::MakeUnique<WebUIPageLoadMetricsObserver>()); |
91 } | 93 } |
92 | 94 |
93 bool PageLoadMetricsEmbedder::IsPrerendering( | 95 bool PageLoadMetricsEmbedder::IsPrerendering( |
94 content::WebContents* web_contents) { | 96 content::WebContents* web_contents) { |
95 return prerender::PrerenderContents::FromWebContents(web_contents) != nullptr; | 97 return prerender::PrerenderContents::FromWebContents(web_contents) != nullptr; |
96 } | 98 } |
97 | 99 |
98 bool PageLoadMetricsEmbedder::IsNewTabPageUrl(const GURL& url) { | 100 bool PageLoadMetricsEmbedder::IsNewTabPageUrl(const GURL& url) { |
99 Profile* profile = | 101 Profile* profile = |
100 Profile::FromBrowserContext(web_contents_->GetBrowserContext()); | 102 Profile::FromBrowserContext(web_contents_->GetBrowserContext()); |
101 if (!profile) | 103 if (!profile) |
102 return false; | 104 return false; |
103 return search::IsInstantNTPURL(url, profile); | 105 return search::IsInstantNTPURL(url, profile); |
104 } | 106 } |
105 | 107 |
106 } // namespace | 108 } // namespace |
107 | 109 |
108 void InitializePageLoadMetricsForWebContents( | 110 void InitializePageLoadMetricsForWebContents( |
109 content::WebContents* web_contents) { | 111 content::WebContents* web_contents) { |
110 page_load_metrics::MetricsWebContentsObserver::CreateForWebContents( | 112 page_load_metrics::MetricsWebContentsObserver::CreateForWebContents( |
111 web_contents, base::MakeUnique<PageLoadMetricsEmbedder>(web_contents)); | 113 web_contents, base::MakeUnique<PageLoadMetricsEmbedder>(web_contents)); |
112 } | 114 } |
113 | 115 |
114 } // namespace chrome | 116 } // namespace chrome |
OLD | NEW |