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