Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1141)

Side by Side Diff: chrome/browser/net/chrome_network_delegate.h

Issue 1373373002: Create component to expose network usage stats to consumers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Polished and added tests Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_NET_CHROME_NETWORK_DELEGATE_H_ 5 #ifndef CHROME_BROWSER_NET_CHROME_NETWORK_DELEGATE_H_
6 #define CHROME_BROWSER_NET_CHROME_NETWORK_DELEGATE_H_ 6 #define CHROME_BROWSER_NET_CHROME_NETWORK_DELEGATE_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <string> 10 #include <string>
11 11
12 #include "base/basictypes.h" 12 #include "base/basictypes.h"
13 #include "base/compiler_specific.h" 13 #include "base/compiler_specific.h"
14 #include "base/files/file_path.h" 14 #include "base/files/file_path.h"
15 #include "base/memory/ref_counted.h" 15 #include "base/memory/ref_counted.h"
16 #include "base/memory/scoped_ptr.h" 16 #include "base/memory/scoped_ptr.h"
17 #include "base/values.h" 17 #include "base/values.h"
18 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_metr ics.h"
19 #include "net/base/network_delegate_impl.h" 18 #include "net/base/network_delegate_impl.h"
20 19
21 #if !defined(OS_IOS) 20 #if !defined(OS_IOS)
22 #include "components/data_use_measurement/content/data_use_measurement.h" 21 #include "components/data_use_measurement/content/data_use_measurement.h"
23 #endif 22 #endif
24 23
25 class ChromeExtensionsNetworkDelegate; 24 class ChromeExtensionsNetworkDelegate;
26 class PrefService; 25 class PrefService;
27 26
28 template<class T> class PrefMember; 27 template<class T> class PrefMember;
29 28
30 typedef PrefMember<bool> BooleanPrefMember; 29 typedef PrefMember<bool> BooleanPrefMember;
31 30
32 namespace base { 31 namespace base {
33 class Value; 32 class Value;
34 } 33 }
35 34
36 namespace chrome_browser_net { 35 namespace chrome_browser_net {
37 class ConnectInterceptor; 36 class ConnectInterceptor;
38 class Predictor; 37 class Predictor;
39 } 38 }
40 39
41 namespace content_settings { 40 namespace content_settings {
42 class CookieSettings; 41 class CookieSettings;
43 } 42 }
44 43
44 namespace data_usage {
45 class DataUseAggregator;
46 }
47
45 namespace domain_reliability { 48 namespace domain_reliability {
46 class DomainReliabilityMonitor; 49 class DomainReliabilityMonitor;
47 } 50 }
48 51
49 namespace extensions { 52 namespace extensions {
50 class EventRouterForwarder; 53 class EventRouterForwarder;
51 class InfoMap; 54 class InfoMap;
52 } 55 }
53 56
54 namespace net { 57 namespace net {
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 void set_force_youtube_safety_mode( 116 void set_force_youtube_safety_mode(
114 BooleanPrefMember* force_youtube_safety_mode) { 117 BooleanPrefMember* force_youtube_safety_mode) {
115 force_youtube_safety_mode_ = force_youtube_safety_mode; 118 force_youtube_safety_mode_ = force_youtube_safety_mode;
116 } 119 }
117 120
118 void set_domain_reliability_monitor( 121 void set_domain_reliability_monitor(
119 domain_reliability::DomainReliabilityMonitor* monitor) { 122 domain_reliability::DomainReliabilityMonitor* monitor) {
120 domain_reliability_monitor_ = monitor; 123 domain_reliability_monitor_ = monitor;
121 } 124 }
122 125
126 void set_data_use_aggregator(
127 data_usage::DataUseAggregator* data_use_aggregator,
128 bool is_data_usage_off_the_record);
129
123 // Binds the pref members to |pref_service| and moves them to the IO thread. 130 // Binds the pref members to |pref_service| and moves them to the IO thread.
124 // |enable_referrers| cannot be NULL, the others can. 131 // |enable_referrers| cannot be NULL, the others can.
125 // This method should be called on the UI thread. 132 // This method should be called on the UI thread.
126 static void InitializePrefsOnUIThread( 133 static void InitializePrefsOnUIThread(
127 BooleanPrefMember* enable_referrers, 134 BooleanPrefMember* enable_referrers,
128 BooleanPrefMember* enable_do_not_track, 135 BooleanPrefMember* enable_do_not_track,
129 BooleanPrefMember* force_google_safe_search, 136 BooleanPrefMember* force_google_safe_search,
130 BooleanPrefMember* force_youtube_safety_mode, 137 BooleanPrefMember* force_youtube_safety_mode,
131 PrefService* pref_service); 138 PrefService* pref_service);
132 139
(...skipping 15 matching lines...) Expand all
148 net::URLRequest* request, 155 net::URLRequest* request,
149 const net::CompletionCallback& callback, 156 const net::CompletionCallback& callback,
150 const net::HttpResponseHeaders* original_response_headers, 157 const net::HttpResponseHeaders* original_response_headers,
151 scoped_refptr<net::HttpResponseHeaders>* override_response_headers, 158 scoped_refptr<net::HttpResponseHeaders>* override_response_headers,
152 GURL* allowed_unsafe_redirect_url) override; 159 GURL* allowed_unsafe_redirect_url) override;
153 void OnBeforeRedirect(net::URLRequest* request, 160 void OnBeforeRedirect(net::URLRequest* request,
154 const GURL& new_location) override; 161 const GURL& new_location) override;
155 void OnResponseStarted(net::URLRequest* request) override; 162 void OnResponseStarted(net::URLRequest* request) override;
156 void OnNetworkBytesReceived(const net::URLRequest& request, 163 void OnNetworkBytesReceived(const net::URLRequest& request,
157 int64_t bytes_received) override; 164 int64_t bytes_received) override;
165 void OnNetworkBytesSent(const net::URLRequest& request,
166 int64_t bytes_sent) override;
158 void OnCompleted(net::URLRequest* request, bool started) override; 167 void OnCompleted(net::URLRequest* request, bool started) override;
159 void OnURLRequestDestroyed(net::URLRequest* request) override; 168 void OnURLRequestDestroyed(net::URLRequest* request) override;
160 void OnURLRequestJobOrphaned(net::URLRequest* request) override; 169 void OnURLRequestJobOrphaned(net::URLRequest* request) override;
161 void OnPACScriptError(int line_number, const base::string16& error) override; 170 void OnPACScriptError(int line_number, const base::string16& error) override;
162 net::NetworkDelegate::AuthRequiredResponse OnAuthRequired( 171 net::NetworkDelegate::AuthRequiredResponse OnAuthRequired(
163 net::URLRequest* request, 172 net::URLRequest* request,
164 const net::AuthChallengeInfo& auth_info, 173 const net::AuthChallengeInfo& auth_info,
165 const AuthCallback& callback, 174 const AuthCallback& callback,
166 net::AuthCredentials* credentials) override; 175 net::AuthCredentials* credentials) override;
167 bool OnCanGetCookies(const net::URLRequest& request, 176 bool OnCanGetCookies(const net::URLRequest& request,
168 const net::CookieList& cookie_list) override; 177 const net::CookieList& cookie_list) override;
169 bool OnCanSetCookie(const net::URLRequest& request, 178 bool OnCanSetCookie(const net::URLRequest& request,
170 const std::string& cookie_line, 179 const std::string& cookie_line,
171 net::CookieOptions* options) override; 180 net::CookieOptions* options) override;
172 bool OnCanAccessFile(const net::URLRequest& request, 181 bool OnCanAccessFile(const net::URLRequest& request,
173 const base::FilePath& path) const override; 182 const base::FilePath& path) const override;
174 bool OnCanEnablePrivacyMode( 183 bool OnCanEnablePrivacyMode(
175 const GURL& url, 184 const GURL& url,
176 const GURL& first_party_for_cookies) const override; 185 const GURL& first_party_for_cookies) const override;
177 bool OnFirstPartyOnlyCookieExperimentEnabled() const override; 186 bool OnFirstPartyOnlyCookieExperimentEnabled() const override;
178 bool OnCancelURLRequestWithPolicyViolatingReferrerHeader( 187 bool OnCancelURLRequestWithPolicyViolatingReferrerHeader(
179 const net::URLRequest& request, 188 const net::URLRequest& request,
180 const GURL& target_url, 189 const GURL& target_url,
181 const GURL& referrer_url) const override; 190 const GURL& referrer_url) const override;
182 191
183 void AccumulateContentLength(
184 int64 received_payload_byte_count,
185 int64 original_payload_byte_count);
186
187 scoped_ptr<ChromeExtensionsNetworkDelegate> extensions_delegate_; 192 scoped_ptr<ChromeExtensionsNetworkDelegate> extensions_delegate_;
188 193
189 void* profile_; 194 void* profile_;
190 base::FilePath profile_path_; 195 base::FilePath profile_path_;
191 scoped_refptr<content_settings::CookieSettings> cookie_settings_; 196 scoped_refptr<content_settings::CookieSettings> cookie_settings_;
192 197
193 scoped_ptr<chrome_browser_net::ConnectInterceptor> connect_interceptor_; 198 scoped_ptr<chrome_browser_net::ConnectInterceptor> connect_interceptor_;
194 199
195 // Weak, owned by our owner. 200 // Weak, owned by our owner.
196 BooleanPrefMember* enable_referrers_; 201 BooleanPrefMember* enable_referrers_;
(...skipping 10 matching lines...) Expand all
207 // When true, allow access to all file:// URLs. 212 // When true, allow access to all file:// URLs.
208 static bool g_allow_file_access_; 213 static bool g_allow_file_access_;
209 214
210 // Component to measure data use. 215 // Component to measure data use.
211 #if !defined(OS_IOS) 216 #if !defined(OS_IOS)
212 data_use_measurement::DataUseMeasurement data_use_measurement_; 217 data_use_measurement::DataUseMeasurement data_use_measurement_;
213 #endif 218 #endif
214 219
215 bool experimental_web_platform_features_enabled_; 220 bool experimental_web_platform_features_enabled_;
216 221
222 // Aggregates and reports network usage.
223 data_usage::DataUseAggregator* data_use_aggregator_;
224 // Controls whether network usage is reported as being off the record.
225 bool is_data_usage_off_the_record_;
226
217 DISALLOW_COPY_AND_ASSIGN(ChromeNetworkDelegate); 227 DISALLOW_COPY_AND_ASSIGN(ChromeNetworkDelegate);
218 }; 228 };
219 229
220 #endif // CHROME_BROWSER_NET_CHROME_NETWORK_DELEGATE_H_ 230 #endif // CHROME_BROWSER_NET_CHROME_NETWORK_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698