Index: chrome/browser/io_thread.cc |
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc |
index 7839925f46b4d5a39b40a0d656aabd021a290b4c..3b4089d21955afe9e5093b9824a26afce451239b 100644 |
--- a/chrome/browser/io_thread.cc |
+++ b/chrome/browser/io_thread.cc |
@@ -16,6 +16,8 @@ |
#include "base/string_util.h" |
#include "base/threading/thread_restrictions.h" |
#include "chrome/browser/browser_process.h" |
+#include "chrome/browser/extensions/extension_event_router_forwarder.h" |
+#include "chrome/browser/net/chrome_network_delegate.h" |
#include "chrome/browser/net/chrome_net_log.h" |
#include "chrome/browser/net/chrome_url_request_context.h" |
#include "chrome/browser/net/connect_interceptor.h" |
@@ -37,7 +39,6 @@ |
#include "net/base/host_resolver_impl.h" |
#include "net/base/mapped_host_resolver.h" |
#include "net/base/net_util.h" |
-#include "net/base/network_delegate.h" |
#include "net/http/http_auth_filter.h" |
#include "net/http/http_auth_handler_factory.h" |
#include "net/http/http_network_layer.h" |
@@ -179,22 +180,6 @@ class LoggingNetworkChangeObserver |
DISALLOW_COPY_AND_ASSIGN(LoggingNetworkChangeObserver); |
}; |
-class SystemNetworkDelegate : public net::NetworkDelegate { |
Matt Perry
2011/02/25 23:28:40
I think Will had other plans for this beyond makin
willchan no longer on Chromium
2011/02/26 02:11:35
I actually forgot to mention this to jochen when h
|
- public: |
- SystemNetworkDelegate() {} |
- ~SystemNetworkDelegate() {} |
- |
- // NetworkDelegate methods: |
- // TODO(willchan): Implement these functions! |
- virtual void OnBeforeURLRequest(net::URLRequest* request) {} |
- virtual void OnSendHttpRequest(net::HttpRequestHeaders* headers) {} |
- virtual void OnResponseStarted(net::URLRequest* request) {} |
- virtual void OnReadCompleted(net::URLRequest* request, int bytes_read) {} |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(SystemNetworkDelegate); |
-}; |
- |
scoped_refptr<net::URLRequestContext> |
ConstructProxyScriptFetcherContext(IOThread::Globals* globals, |
net::NetLog* net_log) { |
@@ -210,7 +195,7 @@ ConstructProxyScriptFetcherContext(IOThread::Globals* globals, |
globals->proxy_script_fetcher_http_transaction_factory.get()); |
// In-memory cookie store. |
context->set_cookie_store(new net::CookieMonster(NULL, NULL)); |
- // TODO(mpcomplete): give it a SystemNetworkDelegate. |
+ context->set_network_delegate(globals->system_network_delegate.get()); |
return context; |
} |
@@ -226,9 +211,13 @@ IOThread::Globals::~Globals() {} |
// |local_state| is passed in explicitly in order to (1) reduce implicit |
// dependencies and (2) make IOThread more flexible for testing. |
-IOThread::IOThread(PrefService* local_state, ChromeNetLog* net_log) |
+IOThread::IOThread( |
+ PrefService* local_state, |
+ ChromeNetLog* net_log, |
+ ExtensionEventRouterForwarder* extension_event_router_forwarder) |
: BrowserProcessSubThread(BrowserThread::IO), |
net_log_(net_log), |
+ extension_event_router_forwarder_(extension_event_router_forwarder), |
globals_(NULL), |
speculative_interceptor_(NULL), |
predictor_(NULL) { |
@@ -344,7 +333,10 @@ void IOThread::Init() { |
network_change_observer_.reset( |
new LoggingNetworkChangeObserver(net_log_)); |
- globals_->system_network_delegate.reset(new SystemNetworkDelegate); |
+ globals_->extension_event_router_forwarder = |
+ extension_event_router_forwarder_; |
+ globals_->system_network_delegate.reset(new ChromeNetworkDelegate( |
+ extension_event_router_forwarder_, NULL)); |
globals_->host_resolver.reset( |
CreateGlobalHostResolver(net_log_)); |
globals_->cert_verifier.reset(new net::CertVerifier); |
@@ -364,7 +356,6 @@ void IOThread::Init() { |
globals_->proxy_script_fetcher_proxy_service.get(); |
session_params.http_auth_handler_factory = |
globals_->http_auth_handler_factory.get(); |
- // TODO(willchan): Enable for proxy script fetcher context. |
session_params.network_delegate = globals_->system_network_delegate.get(); |
session_params.net_log = net_log_; |
session_params.ssl_config_service = globals_->ssl_config_service; |