OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_DATA_REDUCTION_PROXY_METRICS_
OBSERVER_H_ | 5 #ifndef CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_DATA_REDUCTION_PROXY_METRICS_
OBSERVER_H_ |
6 #define CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_DATA_REDUCTION_PROXY_METRICS_
OBSERVER_H_ | 6 #define CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_DATA_REDUCTION_PROXY_METRICS_
OBSERVER_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "base/macros.h" | 12 #include "base/macros.h" |
13 #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h" | 13 #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h" |
14 | 14 |
15 namespace content { | 15 namespace content { |
16 class BrowserContext; | 16 class BrowserContext; |
17 class NavigationHandle; | 17 class NavigationHandle; |
18 } | 18 } |
19 | 19 |
20 namespace page_load_metrics { | |
21 struct PageLoadExtraInfo; | |
22 struct PageLoadTiming; | |
23 } | |
24 | |
25 namespace data_reduction_proxy { | 20 namespace data_reduction_proxy { |
26 class DataReductionProxyData; | 21 class DataReductionProxyData; |
27 class DataReductionProxyPingbackClient; | 22 class DataReductionProxyPingbackClient; |
28 | 23 |
29 namespace internal { | 24 namespace internal { |
30 | 25 |
31 // Various UMA histogram names for DataReductionProxy core page load metrics. | 26 // Various UMA histogram names for DataReductionProxy core page load metrics. |
32 extern const char kHistogramDataReductionProxyPrefix[]; | 27 extern const char kHistogramDataReductionProxyPrefix[]; |
33 extern const char kHistogramDataReductionProxyLoFiOnPrefix[]; | 28 extern const char kHistogramDataReductionProxyLoFiOnPrefix[]; |
34 extern const char kHistogramDOMContentLoadedEventFiredSuffix[]; | 29 extern const char kHistogramDOMContentLoadedEventFiredSuffix[]; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 public: | 62 public: |
68 DataReductionProxyMetricsObserver(); | 63 DataReductionProxyMetricsObserver(); |
69 ~DataReductionProxyMetricsObserver() override; | 64 ~DataReductionProxyMetricsObserver() override; |
70 | 65 |
71 // page_load_metrics::PageLoadMetricsObserver: | 66 // page_load_metrics::PageLoadMetricsObserver: |
72 ObservePolicy OnStart(content::NavigationHandle* navigation_handle, | 67 ObservePolicy OnStart(content::NavigationHandle* navigation_handle, |
73 const GURL& currently_committed_url, | 68 const GURL& currently_committed_url, |
74 bool started_in_foreground) override; | 69 bool started_in_foreground) override; |
75 ObservePolicy OnCommit(content::NavigationHandle* navigation_handle) override; | 70 ObservePolicy OnCommit(content::NavigationHandle* navigation_handle) override; |
76 ObservePolicy FlushMetricsOnAppEnterBackground( | 71 ObservePolicy FlushMetricsOnAppEnterBackground( |
77 const page_load_metrics::PageLoadTiming& timing, | 72 const page_load_metrics::mojom::PageLoadTiming& timing, |
78 const page_load_metrics::PageLoadExtraInfo& info) override; | 73 const page_load_metrics::PageLoadExtraInfo& info) override; |
79 void OnComplete(const page_load_metrics::PageLoadTiming& timing, | 74 void OnComplete(const page_load_metrics::mojom::PageLoadTiming& timing, |
80 const page_load_metrics::PageLoadExtraInfo& info) override; | 75 const page_load_metrics::PageLoadExtraInfo& info) override; |
81 void OnDomContentLoadedEventStart( | 76 void OnDomContentLoadedEventStart( |
82 const page_load_metrics::PageLoadTiming& timing, | 77 const page_load_metrics::mojom::PageLoadTiming& timing, |
83 const page_load_metrics::PageLoadExtraInfo& info) override; | 78 const page_load_metrics::PageLoadExtraInfo& info) override; |
84 void OnLoadEventStart( | 79 void OnLoadEventStart( |
85 const page_load_metrics::PageLoadTiming& timing, | 80 const page_load_metrics::mojom::PageLoadTiming& timing, |
86 const page_load_metrics::PageLoadExtraInfo& info) override; | 81 const page_load_metrics::PageLoadExtraInfo& info) override; |
87 void OnFirstLayout(const page_load_metrics::PageLoadTiming& timing, | 82 void OnFirstLayout(const page_load_metrics::mojom::PageLoadTiming& timing, |
88 const page_load_metrics::PageLoadExtraInfo& info) override; | 83 const page_load_metrics::PageLoadExtraInfo& info) override; |
89 void OnFirstPaint(const page_load_metrics::PageLoadTiming& timing, | 84 void OnFirstPaint(const page_load_metrics::mojom::PageLoadTiming& timing, |
90 const page_load_metrics::PageLoadExtraInfo& info) override; | 85 const page_load_metrics::PageLoadExtraInfo& info) override; |
91 void OnFirstTextPaint( | 86 void OnFirstTextPaint( |
92 const page_load_metrics::PageLoadTiming& timing, | 87 const page_load_metrics::mojom::PageLoadTiming& timing, |
93 const page_load_metrics::PageLoadExtraInfo& info) override; | 88 const page_load_metrics::PageLoadExtraInfo& info) override; |
94 void OnFirstImagePaint( | 89 void OnFirstImagePaint( |
95 const page_load_metrics::PageLoadTiming& timing, | 90 const page_load_metrics::mojom::PageLoadTiming& timing, |
96 const page_load_metrics::PageLoadExtraInfo& info) override; | 91 const page_load_metrics::PageLoadExtraInfo& info) override; |
97 void OnFirstContentfulPaint( | 92 void OnFirstContentfulPaint( |
98 const page_load_metrics::PageLoadTiming& timing, | 93 const page_load_metrics::mojom::PageLoadTiming& timing, |
99 const page_load_metrics::PageLoadExtraInfo& info) override; | 94 const page_load_metrics::PageLoadExtraInfo& info) override; |
100 void OnFirstMeaningfulPaint( | 95 void OnFirstMeaningfulPaint( |
101 const page_load_metrics::PageLoadTiming& timing, | 96 const page_load_metrics::mojom::PageLoadTiming& timing, |
102 const page_load_metrics::PageLoadExtraInfo& info) override; | 97 const page_load_metrics::PageLoadExtraInfo& info) override; |
103 void OnParseStart(const page_load_metrics::PageLoadTiming& timing, | 98 void OnParseStart(const page_load_metrics::mojom::PageLoadTiming& timing, |
104 const page_load_metrics::PageLoadExtraInfo& info) override; | 99 const page_load_metrics::PageLoadExtraInfo& info) override; |
105 void OnParseStop(const page_load_metrics::PageLoadTiming& timing, | 100 void OnParseStop(const page_load_metrics::mojom::PageLoadTiming& timing, |
106 const page_load_metrics::PageLoadExtraInfo& info) override; | 101 const page_load_metrics::PageLoadExtraInfo& info) override; |
107 void OnLoadedResource(const page_load_metrics::ExtraRequestCompleteInfo& | 102 void OnLoadedResource(const page_load_metrics::ExtraRequestCompleteInfo& |
108 extra_request_compelte_info) override; | 103 extra_request_compelte_info) override; |
109 | 104 |
110 private: | 105 private: |
111 // Sends the page load information to the pingback client. | 106 // Sends the page load information to the pingback client. |
112 void SendPingback(const page_load_metrics::PageLoadTiming& timing, | 107 void SendPingback(const page_load_metrics::mojom::PageLoadTiming& timing, |
113 const page_load_metrics::PageLoadExtraInfo& info, | 108 const page_load_metrics::PageLoadExtraInfo& info, |
114 bool app_background_occurred); | 109 bool app_background_occurred); |
115 | 110 |
116 // Records UMA of page size when the observer is about to be deleted. | 111 // Records UMA of page size when the observer is about to be deleted. |
117 void RecordPageSizeUMA() const; | 112 void RecordPageSizeUMA() const; |
118 | 113 |
119 // Gets the default DataReductionProxyPingbackClient. Overridden in testing. | 114 // Gets the default DataReductionProxyPingbackClient. Overridden in testing. |
120 virtual DataReductionProxyPingbackClient* GetPingbackClient() const; | 115 virtual DataReductionProxyPingbackClient* GetPingbackClient() const; |
121 | 116 |
122 // Data related to this navigation. | 117 // Data related to this navigation. |
(...skipping 17 matching lines...) Expand all Loading... |
140 | 135 |
141 // The total network bytes used. | 136 // The total network bytes used. |
142 int64_t network_bytes_; | 137 int64_t network_bytes_; |
143 | 138 |
144 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyMetricsObserver); | 139 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyMetricsObserver); |
145 }; | 140 }; |
146 | 141 |
147 } // namespace data_reduction_proxy | 142 } // namespace data_reduction_proxy |
148 | 143 |
149 #endif // CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_DATA_REDUCTION_PROXY_METRI
CS_OBSERVER_H_ | 144 #endif // CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_DATA_REDUCTION_PROXY_METRI
CS_OBSERVER_H_ |
OLD | NEW |