Chromium Code Reviews| Index: chrome/browser/io_thread.h |
| diff --git a/chrome/browser/io_thread.h b/chrome/browser/io_thread.h |
| index d3bf4e70f5084e9a7ecc323a829fe66e408253ce..9b3c1b54c37de544f7c85a6a27c7c1ccc8d97e3e 100644 |
| --- a/chrome/browser/io_thread.h |
| +++ b/chrome/browser/io_thread.h |
| @@ -19,7 +19,10 @@ class ChromeNetLog; |
| class ChromeURLRequestContextGetter; |
| class ExtensionEventRouterForwarder; |
| class ListValue; |
| +class PrefProxyConfigTracker; |
| class PrefService; |
| +class SystemURLRequestContextGetter; |
| +class URLRequestContextGetter; |
| namespace chrome_browser_net { |
| class ConnectInterceptor; |
| @@ -33,6 +36,7 @@ class HostResolver; |
| class HttpAuthHandlerFactory; |
| class HttpTransactionFactory; |
| class NetworkDelegate; |
| +class ProxyConfigService; |
| class ProxyScriptFetcher; |
| class ProxyService; |
| class SSLConfigService; |
| @@ -58,6 +62,12 @@ class IOThread : public BrowserProcessSubThread { |
| proxy_script_fetcher_http_transaction_factory; |
| scoped_ptr<net::URLSecurityManager> url_security_manager; |
| scoped_refptr<net::URLRequestContext> proxy_script_fetcher_context; |
| + scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; |
| + scoped_refptr<net::ProxyService> system_proxy_service; |
| + // NOTE(willchan): This request context is unusable until a system |
| + // SSLConfigService is provided that doesn't rely on |
| + // Profiles. Do NOT use this yet. |
| + scoped_refptr<net::URLRequestContext> system_request_context; |
| scoped_refptr<ExtensionEventRouterForwarder> |
| extension_event_router_forwarder; |
| }; |
| @@ -104,6 +114,9 @@ class IOThread : public BrowserProcessSubThread { |
| // Handles changing to On The Record mode, discarding confidential data. |
| void ChangedToOnTheRecord(); |
| + // Returns a getter for the URLRequestContext. Only called on the UI thread. |
| + URLRequestContextGetter* system_url_request_context_getter(); |
| + |
| // Clear all network stack history, including the host cache, as well as |
| // speculative data about subresources of visited sites, and startup-time |
| // navigations. |
| @@ -114,11 +127,19 @@ class IOThread : public BrowserProcessSubThread { |
| virtual void CleanUp(); |
| private: |
| + // Provide SystemURLRequestContextGetter with access to |
| + // InitSystemRequestContext(). |
| + friend class SystemURLRequestContextGetter; |
| + |
| static void RegisterPrefs(PrefService* local_state); |
| net::HttpAuthHandlerFactory* CreateDefaultAuthHandlerFactory( |
| net::HostResolver* resolver); |
| + // Lazy initialization of system request context for |
| + // SystemURLRequestContextGetter. To be called on IO thread. |
| + void InitSystemRequestContext(); |
| + |
| void InitNetworkPredictorOnIOThread( |
| bool prefetching_enabled, |
| base::TimeDelta max_dns_queue_delay, |
| @@ -179,6 +200,12 @@ class IOThread : public BrowserProcessSubThread { |
| // IOThread::CleanUp(). |
| std::list<ChromeURLRequestContextGetter*> url_request_context_getters_; |
| + scoped_refptr<URLRequestContextGetter> system_url_request_context_getter_; |
|
willchan no longer on Chromium
2011/03/14 19:32:39
Member variable ordering should be longest-lived o
battre
2011/03/15 18:14:40
Done.
|
| + |
| + scoped_ptr<net::ProxyConfigService> system_proxy_config_service_; |
| + |
| + scoped_refptr<PrefProxyConfigTracker> pref_proxy_config_tracker_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(IOThread); |
| }; |