diff --git a/chrome/browser/io_thread.h b/chrome/browser/io_thread.h
index d3bf4e7..2c8362dd 100644
--- a/chrome/browser/io_thread.h
+++ b/chrome/browser/io_thread.h
@@ -19,7 +19,10 @@
 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 HttpAuthHandlerFactory;
 class HttpTransactionFactory;
 class NetworkDelegate;
+class ProxyConfigService;
 class ProxyScriptFetcher;
 class ProxyService;
 class SSLConfigService;
@@ -58,6 +62,12 @@
         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 @@
   // 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 @@
   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,
@@ -174,6 +195,12 @@
   chrome_browser_net::ConnectInterceptor* speculative_interceptor_;
   chrome_browser_net::Predictor* predictor_;
 
+  scoped_ptr<net::ProxyConfigService> system_proxy_config_service_;
+
+  scoped_refptr<PrefProxyConfigTracker> pref_proxy_config_tracker_;
+
+  scoped_refptr<URLRequestContextGetter> system_url_request_context_getter_;
+
   // Keeps track of all live ChromeURLRequestContextGetters, so the
   // ChromeURLRequestContexts can be released during
   // IOThread::CleanUp().
