OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <list> | 9 #include <list> |
10 #include <string> | 10 #include <string> |
(...skipping 19 matching lines...) Expand all Loading... |
30 class ListValue; | 30 class ListValue; |
31 } | 31 } |
32 | 32 |
33 namespace chrome_browser_net { | 33 namespace chrome_browser_net { |
34 class ConnectInterceptor; | 34 class ConnectInterceptor; |
35 class Predictor; | 35 class Predictor; |
36 } // namespace chrome_browser_net | 36 } // namespace chrome_browser_net |
37 | 37 |
38 namespace net { | 38 namespace net { |
39 class CertVerifier; | 39 class CertVerifier; |
| 40 class CookieStore; |
40 class DnsRRResolver; | 41 class DnsRRResolver; |
41 class FtpTransactionFactory; | 42 class FtpTransactionFactory; |
42 class HostResolver; | 43 class HostResolver; |
43 class HttpAuthHandlerFactory; | 44 class HttpAuthHandlerFactory; |
44 class HttpTransactionFactory; | 45 class HttpTransactionFactory; |
45 class NetworkDelegate; | 46 class NetworkDelegate; |
| 47 class OriginBoundCertService; |
46 class ProxyConfigService; | 48 class ProxyConfigService; |
47 class ProxyScriptFetcher; | 49 class ProxyScriptFetcher; |
48 class ProxyService; | 50 class ProxyService; |
49 class SSLConfigService; | 51 class SSLConfigService; |
50 class URLRequestContext; | 52 class URLRequestContext; |
51 class URLRequestContextGetter; | 53 class URLRequestContextGetter; |
52 class URLSecurityManager; | 54 class URLSecurityManager; |
53 } // namespace net | 55 } // namespace net |
54 | 56 |
55 class IOThread : public BrowserProcessSubThread { | 57 class IOThread : public BrowserProcessSubThread { |
(...skipping 26 matching lines...) Expand all Loading... |
82 // the reference cycle: | 84 // the reference cycle: |
83 // URLRequestContext=>PAC fetch=>URLRequest=>URLRequestContext. | 85 // URLRequestContext=>PAC fetch=>URLRequest=>URLRequestContext. |
84 // The first URLRequestContext is |system_url_request_context|. We introduce | 86 // The first URLRequestContext is |system_url_request_context|. We introduce |
85 // |proxy_script_fetcher_context| for the second context. It has a direct | 87 // |proxy_script_fetcher_context| for the second context. It has a direct |
86 // ProxyService, since we always directly connect to fetch the PAC script. | 88 // ProxyService, since we always directly connect to fetch the PAC script. |
87 scoped_refptr<net::URLRequestContext> proxy_script_fetcher_context; | 89 scoped_refptr<net::URLRequestContext> proxy_script_fetcher_context; |
88 scoped_ptr<net::ProxyService> system_proxy_service; | 90 scoped_ptr<net::ProxyService> system_proxy_service; |
89 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; | 91 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; |
90 scoped_ptr<net::FtpTransactionFactory> system_ftp_transaction_factory; | 92 scoped_ptr<net::FtpTransactionFactory> system_ftp_transaction_factory; |
91 scoped_refptr<net::URLRequestContext> system_request_context; | 93 scoped_refptr<net::URLRequestContext> system_request_context; |
| 94 // |cookie_store| and |origin_bound_cert_service| are shared between |
| 95 // |proxy_script_fetcher_context| and |system_request_context|. |
| 96 scoped_refptr<net::CookieStore> system_cookie_store; |
| 97 scoped_ptr<net::OriginBoundCertService> system_origin_bound_cert_service; |
92 scoped_refptr<ExtensionEventRouterForwarder> | 98 scoped_refptr<ExtensionEventRouterForwarder> |
93 extension_event_router_forwarder; | 99 extension_event_router_forwarder; |
94 }; | 100 }; |
95 | 101 |
96 // |net_log| must either outlive the IOThread or be NULL. | 102 // |net_log| must either outlive the IOThread or be NULL. |
97 IOThread(PrefService* local_state, | 103 IOThread(PrefService* local_state, |
98 ChromeNetLog* net_log, | 104 ChromeNetLog* net_log, |
99 ExtensionEventRouterForwarder* extension_event_router_forwarder); | 105 ExtensionEventRouterForwarder* extension_event_router_forwarder); |
100 | 106 |
101 virtual ~IOThread(); | 107 virtual ~IOThread(); |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 // ChromeURLRequestContexts can be released during | 244 // ChromeURLRequestContexts can be released during |
239 // IOThread::CleanUp(). | 245 // IOThread::CleanUp(). |
240 std::list<ChromeURLRequestContextGetter*> url_request_context_getters_; | 246 std::list<ChromeURLRequestContextGetter*> url_request_context_getters_; |
241 | 247 |
242 ScopedRunnableMethodFactory<IOThread> method_factory_; | 248 ScopedRunnableMethodFactory<IOThread> method_factory_; |
243 | 249 |
244 DISALLOW_COPY_AND_ASSIGN(IOThread); | 250 DISALLOW_COPY_AND_ASSIGN(IOThread); |
245 }; | 251 }; |
246 | 252 |
247 #endif // CHROME_BROWSER_IO_THREAD_H_ | 253 #endif // CHROME_BROWSER_IO_THREAD_H_ |
OLD | NEW |