Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: chrome/browser/io_thread.h

Issue 6292017: Extended: Add "system" URLRequestContext (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Continued Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698