Index: chrome/browser/io_thread.h |
diff --git a/chrome/browser/io_thread.h b/chrome/browser/io_thread.h |
index 06a3f67c8c4362049b61469935ead11bca77f9f6..1eecf14ae736aa6c321fb8cd208051f06a391780 100644 |
--- a/chrome/browser/io_thread.h |
+++ b/chrome/browser/io_thread.h |
@@ -19,6 +19,7 @@ |
class ChromeNetLog; |
class ChromeURLRequestContextGetter; |
class ListValue; |
+class PrefProxyConfigTracker; |
class PrefService; |
namespace chrome_browser_net { |
@@ -32,6 +33,7 @@ class DnsRRResolver; |
class HostResolver; |
class HttpAuthHandlerFactory; |
class HttpTransactionFactory; |
+class ProxyConfigService; |
class ProxyScriptFetcher; |
class ProxyService; |
class SSLConfigService; |
@@ -56,6 +58,12 @@ class IOThread : public BrowserProcessSubThread { |
scoped_ptr<net::URLSecurityManager> url_security_manager; |
ChromeNetworkDelegate network_delegate; |
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; |
}; |
// |net_log| must either outlive the IOThread or be NULL. |
@@ -68,6 +76,10 @@ class IOThread : public BrowserProcessSubThread { |
ChromeNetLog* net_log(); |
+ // Triggers an asynchronous initialization of the system request context. |
+ // Takes ownership of config_service. Needs to be called from UI thread. |
+ void InitSystemRequestContext(net::ProxyConfigService* config_service); |
+ |
// Initializes the network predictor, which induces DNS pre-resolution and/or |
// TCP/IP preconnections. |prefetching_enabled| indicates whether or not DNS |
// prefetching should be enabled, and |preconnect_enabled| controls whether |
@@ -110,6 +122,9 @@ class IOThread : public BrowserProcessSubThread { |
net::HttpAuthHandlerFactory* CreateDefaultAuthHandlerFactory( |
net::HostResolver* resolver); |
+ void InitSystemRequestContextOnIOThread( |
+ net::ProxyConfigService* config_service); |
+ |
void InitNetworkPredictorOnIOThread( |
bool prefetching_enabled, |
base::TimeDelta max_dns_queue_delay, |