summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/chrome_network_delegate.h
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-24 00:22:50 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-24 00:22:50 +0000
commit0651b818c7122d319954ff5bc30dff68ba8b9013 (patch)
treed18a681545594c17175a584b7d56a6ee9abd10b6 /chrome/browser/net/chrome_network_delegate.h
parent26616172ccaeae9842d7e52b556bc49e16751455 (diff)
downloadchromium_src-0651b818c7122d319954ff5bc30dff68ba8b9013.zip
chromium_src-0651b818c7122d319954ff5bc30dff68ba8b9013.tar.gz
chromium_src-0651b818c7122d319954ff5bc30dff68ba8b9013.tar.bz2
Refactor of NetworkDelegate.
* Renames HttpNetworkDelegate to NetworkDelegate, moves to net/base/network_delegate.h. NOTE: this is a layering violation. wtc/eroman/willchan have agreed to this exception because the other solutions are less palatable. * Move the virtuals in NetworkDelegate to the private section. Use non-virtual public interface as the network stack's interface for notifying the delegate. Add sanity checking to the implmentation in NetworkDelegate. The private virtual interface is for consumers to receive notifications. * Remove ExtensionIOEventRouter from ChromeURLRequestContext, it is only used by the ChromeNetworkDelegate. Pass it directly to the ChromeNetworkDelegate's constructor. * Introduce a SystemNetworkDelegate. It does nothing right now. BUG=67232 TEST=none Review URL: http://codereview.chromium.org/6580002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75822 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net/chrome_network_delegate.h')
-rw-r--r--chrome/browser/net/chrome_network_delegate.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/chrome/browser/net/chrome_network_delegate.h b/chrome/browser/net/chrome_network_delegate.h
index 06c7c93..fbac036 100644
--- a/chrome/browser/net/chrome_network_delegate.h
+++ b/chrome/browser/net/chrome_network_delegate.h
@@ -7,25 +7,26 @@
#pragma once
#include "base/basictypes.h"
-#include "net/http/http_network_delegate.h"
+#include "net/base/network_delegate.h"
+
+class ExtensionIOEventRouter;
// ChromeNetworkDelegate is the central point from within the chrome code to
// add hooks into the network stack.
-class ChromeNetworkDelegate : public net::HttpNetworkDelegate {
+class ChromeNetworkDelegate : public net::NetworkDelegate {
public:
- ChromeNetworkDelegate();
+ explicit ChromeNetworkDelegate(
+ ExtensionIOEventRouter* extension_io_event_router);
~ChromeNetworkDelegate();
- // net::HttpNetworkDelegate methods:
+ private:
+ // NetworkDelegate methods:
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);
- // TODO(willchan): Add functions for consumers to register ways to
- // access/modify the request.
-
- private:
+ ExtensionIOEventRouter* const extension_io_event_router_;
DISALLOW_COPY_AND_ASSIGN(ChromeNetworkDelegate);
};