OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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_ |
OLD | NEW |