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 "chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_
observer.h" | 7 #include "chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_
observer.h" |
| 8 #include "chrome/browser/page_load_metrics/observers/stale_while_revalidate_metr
ics_observer.h" |
8 #include "components/page_load_metrics/browser/metrics_web_contents_observer.h" | 9 #include "components/page_load_metrics/browser/metrics_web_contents_observer.h" |
9 #include "components/rappor/rappor_service.h" | 10 #include "components/rappor/rappor_service.h" |
10 #include "content/public/browser/web_contents.h" | 11 #include "content/public/browser/web_contents.h" |
11 | 12 |
12 namespace { | 13 namespace { |
13 | 14 |
14 void RegisterPageLoadMetricsObservers( | 15 void RegisterPageLoadMetricsObservers( |
15 page_load_metrics::PageLoadMetricsObservable* metrics) { | 16 page_load_metrics::PageLoadMetricsObservable* metrics) { |
16 // Attach observers scoped to the web contents here. | 17 // Attach observers scoped to the web contents here. |
17 | 18 |
18 // This is a self-destruct class, and will delete itself when triggered by | 19 // This is a self-destruct class, and will delete itself when triggered by |
19 // OnPageLoadMetricsGoingAway. | 20 // OnPageLoadMetricsGoingAway. |
20 metrics->AddObserver(new FromGWSPageLoadMetricsObserver(metrics)); | 21 metrics->AddObserver(new FromGWSPageLoadMetricsObserver(metrics)); |
| 22 // StaleWhileRevalidateMetricsObserver also deletes itself from |
| 23 // OnPageLoadMetricsGoingAway. |
| 24 // TODO(ricea): Remove this in January 2016 or before. |
| 25 metrics->AddObserver( |
| 26 new chrome::StaleWhileRevalidateMetricsObserver(metrics)); |
21 } | 27 } |
22 | 28 |
23 } // namespace | 29 } // namespace |
24 | 30 |
25 namespace chrome { | 31 namespace chrome { |
26 | 32 |
27 void InitializePageLoadMetricsForWebContents( | 33 void InitializePageLoadMetricsForWebContents( |
28 content::WebContents* web_contents, | 34 content::WebContents* web_contents, |
29 rappor::RapporService* rappor_service) { | 35 rappor::RapporService* rappor_service) { |
30 RegisterPageLoadMetricsObservers( | 36 RegisterPageLoadMetricsObservers( |
31 page_load_metrics::MetricsWebContentsObserver::CreateForWebContents( | 37 page_load_metrics::MetricsWebContentsObserver::CreateForWebContents( |
32 web_contents, rappor_service)); | 38 web_contents, rappor_service)); |
33 } | 39 } |
34 | 40 |
35 } // namespace chrome | 41 } // namespace chrome |
OLD | NEW |