OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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/observers/delay_navigation_page_load_
metrics_observer.h" | 5 #include "chrome/browser/page_load_metrics/observers/delay_navigation_page_load_
metrics_observer.h" |
6 | 6 |
7 #include "base/metrics/histogram_macros.h" | 7 #include "base/metrics/histogram_macros.h" |
8 | 8 |
9 namespace internal { | 9 namespace internal { |
10 | 10 |
11 const char kHistogramNavigationDelaySpecified[] = | 11 const char kHistogramNavigationDelaySpecified[] = |
12 "PageLoad.Clients.DelayNavigation.Delay.Specified"; | 12 "PageLoad.Clients.DelayNavigation.Delay.Specified"; |
13 const char kHistogramNavigationDelayActual[] = | 13 const char kHistogramNavigationDelayActual[] = |
14 "PageLoad.Clients.DelayNavigation.Delay.Actual"; | 14 "PageLoad.Clients.DelayNavigation.Delay.Actual"; |
15 const char kHistogramNavigationDelayDelta[] = | 15 const char kHistogramNavigationDelayDelta[] = |
16 "PageLoad.Clients.DelayNavigation.Delay.Delta"; | 16 "PageLoad.Clients.DelayNavigation.Delay.Delta"; |
17 | 17 |
18 } // namespace internal | 18 } // namespace internal |
19 | 19 |
20 page_load_metrics::PageLoadMetricsObserver::ObservePolicy | 20 page_load_metrics::PageLoadMetricsObserver::ObservePolicy |
21 DelayNavigationPageLoadMetricsObserver::OnStart( | 21 DelayNavigationPageLoadMetricsObserver::OnStart( |
22 content::NavigationHandle* navigation_handle, | 22 content::NavigationHandle* navigation_handle, |
23 const GURL& currently_committed_url, | 23 const GURL& currently_committed_url, |
24 bool started_in_foreground) { | 24 bool started_in_foreground) { |
25 return started_in_foreground ? CONTINUE_OBSERVING : STOP_OBSERVING; | 25 return started_in_foreground ? CONTINUE_OBSERVING : STOP_OBSERVING; |
26 } | 26 } |
27 | 27 |
28 page_load_metrics::PageLoadMetricsObserver::ObservePolicy | 28 page_load_metrics::PageLoadMetricsObserver::ObservePolicy |
29 DelayNavigationPageLoadMetricsObserver::OnHidden( | 29 DelayNavigationPageLoadMetricsObserver::OnHidden( |
30 const page_load_metrics::PageLoadTiming& timing, | 30 const page_load_metrics::mojom::PageLoadTiming& timing, |
31 const page_load_metrics::PageLoadExtraInfo& info) { | 31 const page_load_metrics::PageLoadExtraInfo& info) { |
32 return STOP_OBSERVING; | 32 return STOP_OBSERVING; |
33 } | 33 } |
34 | 34 |
35 void DelayNavigationPageLoadMetricsObserver::OnNavigationDelayComplete( | 35 void DelayNavigationPageLoadMetricsObserver::OnNavigationDelayComplete( |
36 base::TimeDelta scheduled_delay, | 36 base::TimeDelta scheduled_delay, |
37 base::TimeDelta actual_delay) { | 37 base::TimeDelta actual_delay) { |
38 delay_navigation_ = true; | 38 delay_navigation_ = true; |
39 scheduled_delay_ = scheduled_delay; | 39 scheduled_delay_ = scheduled_delay; |
40 actual_delay_ = actual_delay; | 40 actual_delay_ = actual_delay; |
41 } | 41 } |
42 | 42 |
43 void DelayNavigationPageLoadMetricsObserver::OnFirstPaintInPage( | 43 void DelayNavigationPageLoadMetricsObserver::OnFirstPaintInPage( |
44 const page_load_metrics::PageLoadTiming& timing, | 44 const page_load_metrics::mojom::PageLoadTiming& timing, |
45 const page_load_metrics::PageLoadExtraInfo& info) { | 45 const page_load_metrics::PageLoadExtraInfo& info) { |
46 if (!delay_navigation_) | 46 if (!delay_navigation_) |
47 return; | 47 return; |
48 | 48 |
49 UMA_HISTOGRAM_TIMES(internal::kHistogramNavigationDelaySpecified, | 49 UMA_HISTOGRAM_TIMES(internal::kHistogramNavigationDelaySpecified, |
50 scheduled_delay_); | 50 scheduled_delay_); |
51 UMA_HISTOGRAM_TIMES(internal::kHistogramNavigationDelayActual, actual_delay_); | 51 UMA_HISTOGRAM_TIMES(internal::kHistogramNavigationDelayActual, actual_delay_); |
52 | 52 |
53 base::TimeDelta delay_delta = actual_delay_ - scheduled_delay_; | 53 base::TimeDelta delay_delta = actual_delay_ - scheduled_delay_; |
54 UMA_HISTOGRAM_TIMES(internal::kHistogramNavigationDelayDelta, | 54 UMA_HISTOGRAM_TIMES(internal::kHistogramNavigationDelayDelta, |
55 delay_delta.magnitude()); | 55 delay_delta.magnitude()); |
56 } | 56 } |
OLD | NEW |