| 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 <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 | 57 |
| 58 namespace net { | 58 namespace net { |
| 59 class CertPolicyEnforcer; | 59 class CertPolicyEnforcer; |
| 60 class CertVerifier; | 60 class CertVerifier; |
| 61 class ChannelIDService; | 61 class ChannelIDService; |
| 62 class CookieStore; | 62 class CookieStore; |
| 63 class CTVerifier; | 63 class CTVerifier; |
| 64 class FtpTransactionFactory; | 64 class FtpTransactionFactory; |
| 65 class HostMappingRules; | 65 class HostMappingRules; |
| 66 class HostResolver; | 66 class HostResolver; |
| 67 class HttpAuthHandlerFactory; | 67 class HttpAuthHandlerRegistryFactory; |
| 68 class HttpNetworkSession; | 68 class HttpNetworkSession; |
| 69 class HttpServerProperties; | 69 class HttpServerProperties; |
| 70 class HttpTransactionFactory; | 70 class HttpTransactionFactory; |
| 71 class HttpUserAgentSettings; | 71 class HttpUserAgentSettings; |
| 72 class NetworkDelegate; | 72 class NetworkDelegate; |
| 73 class NetworkQualityEstimator; | 73 class NetworkQualityEstimator; |
| 74 class ProxyConfigService; | 74 class ProxyConfigService; |
| 75 class ProxyService; | 75 class ProxyService; |
| 76 class SSLConfigService; | 76 class SSLConfigService; |
| 77 class TransportSecurityState; | 77 class TransportSecurityState; |
| 78 class URLRequestBackoffManager; | 78 class URLRequestBackoffManager; |
| 79 class URLRequestContext; | 79 class URLRequestContext; |
| 80 class URLRequestContextGetter; | 80 class URLRequestContextGetter; |
| 81 class URLRequestJobFactory; | 81 class URLRequestJobFactory; |
| 82 class URLSecurityManager; | 82 class HttpAuthPreferences; |
| 83 } // namespace net | 83 } // namespace net |
| 84 | 84 |
| 85 namespace net_log { | 85 namespace net_log { |
| 86 class ChromeNetLog; | 86 class ChromeNetLog; |
| 87 } | 87 } |
| 88 | 88 |
| 89 namespace policy { | 89 namespace policy { |
| 90 class PolicyService; | 90 class PolicyService; |
| 91 } // namespace policy | 91 } // namespace policy |
| 92 | 92 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 scoped_ptr<net::ProxyService> proxy_script_fetcher_proxy_service; | 161 scoped_ptr<net::ProxyService> proxy_script_fetcher_proxy_service; |
| 162 scoped_ptr<net::HttpNetworkSession> | 162 scoped_ptr<net::HttpNetworkSession> |
| 163 proxy_script_fetcher_http_network_session; | 163 proxy_script_fetcher_http_network_session; |
| 164 scoped_ptr<net::HttpTransactionFactory> | 164 scoped_ptr<net::HttpTransactionFactory> |
| 165 proxy_script_fetcher_http_transaction_factory; | 165 proxy_script_fetcher_http_transaction_factory; |
| 166 scoped_ptr<net::FtpTransactionFactory> | 166 scoped_ptr<net::FtpTransactionFactory> |
| 167 proxy_script_fetcher_ftp_transaction_factory; | 167 proxy_script_fetcher_ftp_transaction_factory; |
| 168 scoped_ptr<net::URLRequestJobFactory> | 168 scoped_ptr<net::URLRequestJobFactory> |
| 169 proxy_script_fetcher_url_request_job_factory; | 169 proxy_script_fetcher_url_request_job_factory; |
| 170 scoped_ptr<net::URLRequestBackoffManager> url_request_backoff_manager; | 170 scoped_ptr<net::URLRequestBackoffManager> url_request_backoff_manager; |
| 171 scoped_ptr<net::URLSecurityManager> url_security_manager; | 171 scoped_ptr<net::HttpAuthPreferences> http_auth_preferences; |
| 172 // TODO(willchan): Remove proxy script fetcher context since it's not | 172 // TODO(willchan): Remove proxy script fetcher context since it's not |
| 173 // necessary now that I got rid of refcounting URLRequestContexts. | 173 // necessary now that I got rid of refcounting URLRequestContexts. |
| 174 // | 174 // |
| 175 // The first URLRequestContext is |system_url_request_context|. We introduce | 175 // The first URLRequestContext is |system_url_request_context|. We introduce |
| 176 // |proxy_script_fetcher_context| for the second context. It has a direct | 176 // |proxy_script_fetcher_context| for the second context. It has a direct |
| 177 // ProxyService, since we always directly connect to fetch the PAC script. | 177 // ProxyService, since we always directly connect to fetch the PAC script. |
| 178 scoped_ptr<net::URLRequestContext> proxy_script_fetcher_context; | 178 scoped_ptr<net::URLRequestContext> proxy_script_fetcher_context; |
| 179 scoped_ptr<net::ProxyService> system_proxy_service; | 179 scoped_ptr<net::ProxyService> system_proxy_service; |
| 180 scoped_ptr<net::HttpNetworkSession> system_http_network_session; | 180 scoped_ptr<net::HttpNetworkSession> system_http_network_session; |
| 181 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; | 181 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 // Global state must be initialized on the IO thread, then this | 316 // Global state must be initialized on the IO thread, then this |
| 317 // method must be invoked on the UI thread. | 317 // method must be invoked on the UI thread. |
| 318 void InitSystemRequestContext(); | 318 void InitSystemRequestContext(); |
| 319 | 319 |
| 320 // Lazy initialization of system request context for | 320 // Lazy initialization of system request context for |
| 321 // SystemURLRequestContextGetter. To be called on IO thread only | 321 // SystemURLRequestContextGetter. To be called on IO thread only |
| 322 // after global state has been initialized on the IO thread, and | 322 // after global state has been initialized on the IO thread, and |
| 323 // SystemRequestContext state has been initialized on the UI thread. | 323 // SystemRequestContext state has been initialized on the UI thread. |
| 324 void InitSystemRequestContextOnIOThread(); | 324 void InitSystemRequestContextOnIOThread(); |
| 325 | 325 |
| 326 net::HttpAuthHandlerFactory* CreateDefaultAuthHandlerFactory( | 326 void CreateDefaultAuthHandlerFactory(); |
| 327 net::HostResolver* resolver); | |
| 328 | 327 |
| 329 // Returns an SSLConfigService instance. | 328 // Returns an SSLConfigService instance. |
| 330 net::SSLConfigService* GetSSLConfigService(); | 329 net::SSLConfigService* GetSSLConfigService(); |
| 331 | 330 |
| 332 void ChangedToOnTheRecordOnIOThread(); | 331 void ChangedToOnTheRecordOnIOThread(); |
| 333 | 332 |
| 334 void UpdateDnsClientEnabled(); | 333 void UpdateDnsClientEnabled(); |
| 334 void UpdateServerWhitelist(); |
| 335 void UpdateDelegateWhitelist(); |
| 336 void UpdateAndroidAuthNegotiateAccountType(); |
| 337 void UpdateNegotiateDisableCnameLookup(); |
| 338 void UpdateNegotiateEnablePort(); |
| 335 | 339 |
| 336 // Configures QUIC options based on the flags in |command_line| as | 340 // Configures QUIC options based on the flags in |command_line| as |
| 337 // well as the QUIC field trial group. | 341 // well as the QUIC field trial group. |
| 338 void ConfigureQuic(const base::CommandLine& command_line); | 342 void ConfigureQuic(const base::CommandLine& command_line); |
| 339 | 343 |
| 340 extensions::EventRouterForwarder* extension_event_router_forwarder() { | 344 extensions::EventRouterForwarder* extension_event_router_forwarder() { |
| 341 #if defined(ENABLE_EXTENSIONS) | 345 #if defined(ENABLE_EXTENSIONS) |
| 342 return extension_event_router_forwarder_; | 346 return extension_event_router_forwarder_; |
| 343 #else | 347 #else |
| 344 return NULL; | 348 return NULL; |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 501 class LoggingNetworkChangeObserver; | 505 class LoggingNetworkChangeObserver; |
| 502 scoped_ptr<LoggingNetworkChangeObserver> network_change_observer_; | 506 scoped_ptr<LoggingNetworkChangeObserver> network_change_observer_; |
| 503 | 507 |
| 504 BooleanPrefMember system_enable_referrers_; | 508 BooleanPrefMember system_enable_referrers_; |
| 505 | 509 |
| 506 BooleanPrefMember dns_client_enabled_; | 510 BooleanPrefMember dns_client_enabled_; |
| 507 | 511 |
| 508 BooleanPrefMember quick_check_enabled_; | 512 BooleanPrefMember quick_check_enabled_; |
| 509 | 513 |
| 510 // Store HTTP Auth-related policies in this thread. | 514 // Store HTTP Auth-related policies in this thread. |
| 515 // TODO(aberent) Make the list of auth schemes a PrefMember, so that the |
| 516 // policy can change after startup (https://crbug/549273). |
| 511 std::string auth_schemes_; | 517 std::string auth_schemes_; |
| 512 bool negotiate_disable_cname_lookup_; | 518 BooleanPrefMember negotiate_disable_cname_lookup_; |
| 513 bool negotiate_enable_port_; | 519 BooleanPrefMember negotiate_enable_port_; |
| 514 std::string auth_server_whitelist_; | 520 StringPrefMember auth_server_whitelist_; |
| 515 std::string auth_delegate_whitelist_; | 521 StringPrefMember auth_delegate_whitelist_; |
| 522 |
| 523 #if defined(OS_ANDROID) |
| 524 StringPrefMember auth_android_negotiate_account_type_; |
| 525 #endif |
| 526 #if defined(OS_POSIX) && !defined(OS_ANDROID) |
| 527 // No PrefMember for the GSSAPI library name, since changing it after startup |
| 528 // requires unloading the existing GSSAPI library, which could cause all sorts |
| 529 // of problems for, for example, active Negotiate transactions. |
| 516 std::string gssapi_library_name_; | 530 std::string gssapi_library_name_; |
| 517 std::string auth_android_negotiate_account_type_; | 531 #endif |
| 518 | 532 |
| 519 // This is an instance of the default SSLConfigServiceManager for the current | 533 // This is an instance of the default SSLConfigServiceManager for the current |
| 520 // platform and it gets SSL preferences from local_state object. | 534 // platform and it gets SSL preferences from local_state object. |
| 521 scoped_ptr<ssl_config::SSLConfigServiceManager> ssl_config_service_manager_; | 535 scoped_ptr<ssl_config::SSLConfigServiceManager> ssl_config_service_manager_; |
| 522 | 536 |
| 523 // These member variables are initialized by a task posted to the IO thread, | 537 // These member variables are initialized by a task posted to the IO thread, |
| 524 // which gets posted by calling certain member functions of IOThread. | 538 // which gets posted by calling certain member functions of IOThread. |
| 525 scoped_ptr<net::ProxyConfigService> system_proxy_config_service_; | 539 scoped_ptr<net::ProxyConfigService> system_proxy_config_service_; |
| 526 | 540 |
| 527 scoped_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker_; | 541 scoped_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker_; |
| 528 | 542 |
| 529 scoped_refptr<net::URLRequestContextGetter> | 543 scoped_refptr<net::URLRequestContextGetter> |
| 530 system_url_request_context_getter_; | 544 system_url_request_context_getter_; |
| 531 | 545 |
| 532 // True if SPDY is disabled by policy. | 546 // True if SPDY is disabled by policy. |
| 533 bool is_spdy_disabled_by_policy_; | 547 bool is_spdy_disabled_by_policy_; |
| 534 | 548 |
| 535 // True if QUIC is allowed by policy. | 549 // True if QUIC is allowed by policy. |
| 536 bool is_quic_allowed_by_policy_; | 550 bool is_quic_allowed_by_policy_; |
| 537 | 551 |
| 538 const base::TimeTicks creation_time_; | 552 const base::TimeTicks creation_time_; |
| 539 | 553 |
| 540 base::WeakPtrFactory<IOThread> weak_factory_; | 554 base::WeakPtrFactory<IOThread> weak_factory_; |
| 541 | 555 |
| 542 DISALLOW_COPY_AND_ASSIGN(IOThread); | 556 DISALLOW_COPY_AND_ASSIGN(IOThread); |
| 543 }; | 557 }; |
| 544 | 558 |
| 545 #endif // CHROME_BROWSER_IO_THREAD_H_ | 559 #endif // CHROME_BROWSER_IO_THREAD_H_ |
| OLD | NEW |