Allow extensions to redirect requests in onBeforeRequest.

BUG=60101
TEST=no

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=81479

Review URL: http://codereview.chromium.org/6677148

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81782 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
index 28669fd..6cb0321 100644
--- a/chrome/browser/net/chrome_network_delegate.cc
+++ b/chrome/browser/net/chrome_network_delegate.cc
@@ -61,19 +61,21 @@
 }
 
 int ChromeNetworkDelegate::OnBeforeURLRequest(
-    net::URLRequest* request, net::CompletionCallback* callback) {
+    net::URLRequest* request,
+    net::CompletionCallback* callback,
+    GURL* new_url) {
   if (!enable_referrers_->GetValue())
     request->set_referrer(std::string());
   return ExtensionWebRequestEventRouter::GetInstance()->OnBeforeRequest(
-      profile_id_, event_router_.get(), request, callback);
+      profile_id_, event_router_.get(), request, callback, new_url);
 }
 
 int ChromeNetworkDelegate::OnBeforeSendHeaders(
     uint64 request_id,
-    net::HttpRequestHeaders* headers,
-    net::CompletionCallback* callback) {
+    net::CompletionCallback* callback,
+    net::HttpRequestHeaders* headers) {
   return ExtensionWebRequestEventRouter::GetInstance()->OnBeforeSendHeaders(
-      profile_id_, event_router_.get(), request_id, headers, callback);
+      profile_id_, event_router_.get(), request_id, callback, headers);
 }
 
 void ChromeNetworkDelegate::OnResponseStarted(net::URLRequest* request) {
diff --git a/chrome/browser/net/chrome_network_delegate.h b/chrome/browser/net/chrome_network_delegate.h
index b5c1373..3e414f4e 100644
--- a/chrome/browser/net/chrome_network_delegate.h
+++ b/chrome/browser/net/chrome_network_delegate.h
@@ -40,10 +40,11 @@
  private:
   // NetworkDelegate methods:
   virtual int OnBeforeURLRequest(net::URLRequest* request,
-                                 net::CompletionCallback* callback);
+                                 net::CompletionCallback* callback,
+                                 GURL* new_url);
   virtual int OnBeforeSendHeaders(uint64 request_id,
-                                  net::HttpRequestHeaders* headers,
-                                  net::CompletionCallback* callback);
+                                  net::CompletionCallback* callback,
+                                  net::HttpRequestHeaders* headers);
   virtual void OnResponseStarted(net::URLRequest* request);
   virtual void OnReadCompleted(net::URLRequest* request, int bytes_read);
   virtual void OnURLRequestDestroyed(net::URLRequest* request);