| 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 OnFirstPaintInPage( | 84 void OnFirstPaintInPage( |
| 90 const page_load_metrics::PageLoadTiming& timing, | 85 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 91 const page_load_metrics::PageLoadExtraInfo& info) override; | 86 const page_load_metrics::PageLoadExtraInfo& info) override; |
| 92 void OnFirstTextPaintInPage( | 87 void OnFirstTextPaintInPage( |
| 93 const page_load_metrics::PageLoadTiming& timing, | 88 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 94 const page_load_metrics::PageLoadExtraInfo& info) override; | 89 const page_load_metrics::PageLoadExtraInfo& info) override; |
| 95 void OnFirstImagePaintInPage( | 90 void OnFirstImagePaintInPage( |
| 96 const page_load_metrics::PageLoadTiming& timing, | 91 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 97 const page_load_metrics::PageLoadExtraInfo& info) override; | 92 const page_load_metrics::PageLoadExtraInfo& info) override; |
| 98 void OnFirstContentfulPaintInPage( | 93 void OnFirstContentfulPaintInPage( |
| 99 const page_load_metrics::PageLoadTiming& timing, | 94 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 100 const page_load_metrics::PageLoadExtraInfo& info) override; | 95 const page_load_metrics::PageLoadExtraInfo& info) override; |
| 101 void OnFirstMeaningfulPaintInMainFrameDocument( | 96 void OnFirstMeaningfulPaintInMainFrameDocument( |
| 102 const page_load_metrics::PageLoadTiming& timing, | 97 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 103 const page_load_metrics::PageLoadExtraInfo& info) override; | 98 const page_load_metrics::PageLoadExtraInfo& info) override; |
| 104 void OnParseStart(const page_load_metrics::PageLoadTiming& timing, | 99 void OnParseStart(const page_load_metrics::mojom::PageLoadTiming& timing, |
| 105 const page_load_metrics::PageLoadExtraInfo& info) override; | 100 const page_load_metrics::PageLoadExtraInfo& info) override; |
| 106 void OnParseStop(const page_load_metrics::PageLoadTiming& timing, | 101 void OnParseStop(const page_load_metrics::mojom::PageLoadTiming& timing, |
| 107 const page_load_metrics::PageLoadExtraInfo& info) override; | 102 const page_load_metrics::PageLoadExtraInfo& info) override; |
| 108 void OnLoadedResource(const page_load_metrics::ExtraRequestCompleteInfo& | 103 void OnLoadedResource(const page_load_metrics::ExtraRequestCompleteInfo& |
| 109 extra_request_compelte_info) override; | 104 extra_request_compelte_info) override; |
| 110 | 105 |
| 111 private: | 106 private: |
| 112 // Sends the page load information to the pingback client. | 107 // Sends the page load information to the pingback client. |
| 113 void SendPingback(const page_load_metrics::PageLoadTiming& timing, | 108 void SendPingback(const page_load_metrics::mojom::PageLoadTiming& timing, |
| 114 const page_load_metrics::PageLoadExtraInfo& info, | 109 const page_load_metrics::PageLoadExtraInfo& info, |
| 115 bool app_background_occurred); | 110 bool app_background_occurred); |
| 116 | 111 |
| 117 // Records UMA of page size when the observer is about to be deleted. | 112 // Records UMA of page size when the observer is about to be deleted. |
| 118 void RecordPageSizeUMA() const; | 113 void RecordPageSizeUMA() const; |
| 119 | 114 |
| 120 // Gets the default DataReductionProxyPingbackClient. Overridden in testing. | 115 // Gets the default DataReductionProxyPingbackClient. Overridden in testing. |
| 121 virtual DataReductionProxyPingbackClient* GetPingbackClient() const; | 116 virtual DataReductionProxyPingbackClient* GetPingbackClient() const; |
| 122 | 117 |
| 123 // Data related to this navigation. | 118 // Data related to this navigation. |
| (...skipping 17 matching lines...) Expand all Loading... |
| 141 | 136 |
| 142 // The total network bytes used. | 137 // The total network bytes used. |
| 143 int64_t network_bytes_; | 138 int64_t network_bytes_; |
| 144 | 139 |
| 145 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyMetricsObserver); | 140 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyMetricsObserver); |
| 146 }; | 141 }; |
| 147 | 142 |
| 148 } // namespace data_reduction_proxy | 143 } // namespace data_reduction_proxy |
| 149 | 144 |
| 150 #endif // CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_DATA_REDUCTION_PROXY_METRI
CS_OBSERVER_H_ | 145 #endif // CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_DATA_REDUCTION_PROXY_METRI
CS_OBSERVER_H_ |
| OLD | NEW |