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