| 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_IO_THREAD_H_ | 5 #ifndef CHROME_BROWSER_IO_THREAD_H_ |
| 6 #define CHROME_BROWSER_IO_THREAD_H_ | 6 #define CHROME_BROWSER_IO_THREAD_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 #include "base/strings/string_piece.h" | 22 #include "base/strings/string_piece.h" |
| 23 #include "base/time/time.h" | 23 #include "base/time/time.h" |
| 24 #include "build/build_config.h" | 24 #include "build/build_config.h" |
| 25 #include "chrome/browser/net/chrome_network_delegate.h" | 25 #include "chrome/browser/net/chrome_network_delegate.h" |
| 26 #include "chrome/common/features.h" | 26 #include "chrome/common/features.h" |
| 27 #include "components/prefs/pref_member.h" | 27 #include "components/prefs/pref_member.h" |
| 28 #include "components/ssl_config/ssl_config_service_manager.h" | 28 #include "components/ssl_config/ssl_config_service_manager.h" |
| 29 #include "content/public/browser/browser_thread.h" | 29 #include "content/public/browser/browser_thread.h" |
| 30 #include "content/public/browser/browser_thread_delegate.h" | 30 #include "content/public/browser/browser_thread_delegate.h" |
| 31 #include "net/base/network_change_notifier.h" | 31 #include "net/base/network_change_notifier.h" |
| 32 #include "net/cert/ct_observer.h" |
| 33 #include "net/cert/ct_verifier.h" |
| 32 #include "net/http/http_network_session.h" | 34 #include "net/http/http_network_session.h" |
| 33 | 35 |
| 34 class PrefProxyConfigTracker; | 36 class PrefProxyConfigTracker; |
| 35 class PrefService; | 37 class PrefService; |
| 36 class PrefRegistrySimple; | 38 class PrefRegistrySimple; |
| 37 class SystemURLRequestContextGetter; | 39 class SystemURLRequestContextGetter; |
| 38 | 40 |
| 39 namespace base { | 41 namespace base { |
| 40 class CommandLine; | 42 class CommandLine; |
| 41 } | 43 } |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 class NetworkDelegate; | 80 class NetworkDelegate; |
| 79 class NetworkQualityEstimator; | 81 class NetworkQualityEstimator; |
| 80 class ProxyConfigService; | 82 class ProxyConfigService; |
| 81 class ProxyService; | 83 class ProxyService; |
| 82 class SSLConfigService; | 84 class SSLConfigService; |
| 83 class TransportSecurityState; | 85 class TransportSecurityState; |
| 84 class URLRequestBackoffManager; | 86 class URLRequestBackoffManager; |
| 85 class URLRequestContext; | 87 class URLRequestContext; |
| 86 class URLRequestContextGetter; | 88 class URLRequestContextGetter; |
| 87 class URLRequestJobFactory; | 89 class URLRequestJobFactory; |
| 90 |
| 91 namespace ct { |
| 92 class STHReporterRegistrar; |
| 93 class STHReporter; |
| 94 } // namespace ct |
| 95 |
| 88 } // namespace net | 96 } // namespace net |
| 89 | 97 |
| 90 namespace net_log { | 98 namespace net_log { |
| 91 class ChromeNetLog; | 99 class ChromeNetLog; |
| 92 } | 100 } |
| 93 | 101 |
| 94 namespace policy { | 102 namespace policy { |
| 95 class PolicyService; | 103 class PolicyService; |
| 96 } // namespace policy | 104 } // namespace policy |
| 97 | 105 |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 scoped_ptr<net::URLRequestContext> proxy_script_fetcher_context; | 192 scoped_ptr<net::URLRequestContext> proxy_script_fetcher_context; |
| 185 scoped_ptr<net::ProxyService> system_proxy_service; | 193 scoped_ptr<net::ProxyService> system_proxy_service; |
| 186 scoped_ptr<net::HttpNetworkSession> system_http_network_session; | 194 scoped_ptr<net::HttpNetworkSession> system_http_network_session; |
| 187 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; | 195 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; |
| 188 scoped_ptr<net::URLRequestJobFactory> system_url_request_job_factory; | 196 scoped_ptr<net::URLRequestJobFactory> system_url_request_job_factory; |
| 189 scoped_ptr<net::URLRequestContext> system_request_context; | 197 scoped_ptr<net::URLRequestContext> system_request_context; |
| 190 SystemRequestContextLeakChecker system_request_context_leak_checker; | 198 SystemRequestContextLeakChecker system_request_context_leak_checker; |
| 191 // |system_cookie_store| and |system_channel_id_service| are shared | 199 // |system_cookie_store| and |system_channel_id_service| are shared |
| 192 // between |proxy_script_fetcher_context| and |system_request_context|. | 200 // between |proxy_script_fetcher_context| and |system_request_context|. |
| 193 scoped_ptr<net::CookieStore> system_cookie_store; | 201 scoped_ptr<net::CookieStore> system_cookie_store; |
| 202 // scoped_refptr<net::CookieStore> system_cookie_store; |
| 203 |
| 204 // |cert_transparency_observer| is shared between |
| 205 // |proxy_script_fetcher_context| and |system_request_context|. Since |
| 206 // it may be performing URLRequests of its own it must be destroyed |
| 207 // before both URLRequestContexts. |
| 208 scoped_ptr<net::ct::CTObserver> cert_transparency_observer; |
| 209 // Owned by the IOThread, used by ProfileIOData and the IOThread |
| 210 // itself. Keeps track of all the STHReporter instances that need |
| 211 // to get notification of new STHs until one is provided by |
| 212 // RegisterWithSTHObserver, if at all. |
| 213 net::ct::STHReporterRegistrar sth_observers_registrar; |
| 194 #if defined(ENABLE_EXTENSIONS) | 214 #if defined(ENABLE_EXTENSIONS) |
| 195 scoped_refptr<extensions::EventRouterForwarder> | 215 scoped_refptr<extensions::EventRouterForwarder> |
| 196 extension_event_router_forwarder; | 216 extension_event_router_forwarder; |
| 197 #endif | 217 #endif |
| 198 scoped_ptr<net::HostMappingRules> host_mapping_rules; | 218 scoped_ptr<net::HostMappingRules> host_mapping_rules; |
| 199 scoped_ptr<net::HttpUserAgentSettings> http_user_agent_settings; | 219 scoped_ptr<net::HttpUserAgentSettings> http_user_agent_settings; |
| 200 scoped_ptr<net::NetworkQualityEstimator> network_quality_estimator; | 220 scoped_ptr<net::NetworkQualityEstimator> network_quality_estimator; |
| 201 bool ignore_certificate_errors; | 221 bool ignore_certificate_errors; |
| 202 uint16_t testing_fixed_http_port; | 222 uint16_t testing_fixed_http_port; |
| 203 uint16_t testing_fixed_https_port; | 223 uint16_t testing_fixed_https_port; |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 void ClearHostCache(); | 303 void ClearHostCache(); |
| 284 | 304 |
| 285 void InitializeNetworkSessionParams(net::HttpNetworkSession::Params* params); | 305 void InitializeNetworkSessionParams(net::HttpNetworkSession::Params* params); |
| 286 | 306 |
| 287 base::TimeTicks creation_time() const; | 307 base::TimeTicks creation_time() const; |
| 288 | 308 |
| 289 // Returns true if QUIC should be enabled for data reduction proxy, either as | 309 // Returns true if QUIC should be enabled for data reduction proxy, either as |
| 290 // a result of a field trial or a command line flag. | 310 // a result of a field trial or a command line flag. |
| 291 static bool ShouldEnableQuicForDataReductionProxy(); | 311 static bool ShouldEnableQuicForDataReductionProxy(); |
| 292 | 312 |
| 313 void RegisterWithSTHObserver(net::ct::STHReporter* reporter); |
| 314 |
| 293 private: | 315 private: |
| 294 // Map from name to value for all parameters associate with a field trial. | 316 // Map from name to value for all parameters associate with a field trial. |
| 295 typedef std::map<std::string, std::string> VariationParameters; | 317 typedef std::map<std::string, std::string> VariationParameters; |
| 296 | 318 |
| 297 // Provide SystemURLRequestContextGetter with access to | 319 // Provide SystemURLRequestContextGetter with access to |
| 298 // InitSystemRequestContext(). | 320 // InitSystemRequestContext(). |
| 299 friend class SystemURLRequestContextGetter; | 321 friend class SystemURLRequestContextGetter; |
| 300 | 322 |
| 301 friend class test::IOThreadPeer; | 323 friend class test::IOThreadPeer; |
| 302 | 324 |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 bool is_quic_allowed_by_policy_; | 619 bool is_quic_allowed_by_policy_; |
| 598 | 620 |
| 599 const base::TimeTicks creation_time_; | 621 const base::TimeTicks creation_time_; |
| 600 | 622 |
| 601 base::WeakPtrFactory<IOThread> weak_factory_; | 623 base::WeakPtrFactory<IOThread> weak_factory_; |
| 602 | 624 |
| 603 DISALLOW_COPY_AND_ASSIGN(IOThread); | 625 DISALLOW_COPY_AND_ASSIGN(IOThread); |
| 604 }; | 626 }; |
| 605 | 627 |
| 606 #endif // CHROME_BROWSER_IO_THREAD_H_ | 628 #endif // CHROME_BROWSER_IO_THREAD_H_ |
| OLD | NEW |