| 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 |