summaryrefslogtreecommitdiffstats
path: root/mojo/services
diff options
context:
space:
mode:
authordavidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-15 20:49:59 +0000
committerdavidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-15 20:51:41 +0000
commitcba246463b2bda73877fc53da6d7eff97448d93d (patch)
treec8a77dfaff426ea06667b3714e4af2d9ed3b7d94 /mojo/services
parent7d0a0cac7c1233e6beeaf7ca8092f89f81e950ef (diff)
downloadchromium_src-cba246463b2bda73877fc53da6d7eff97448d93d.zip
chromium_src-cba246463b2bda73877fc53da6d7eff97448d93d.tar.gz
chromium_src-cba246463b2bda73877fc53da6d7eff97448d93d.tar.bz2
Plumb redirect info out of net, through content, and into child processes.
This saves the logic in PluginURLFetcher and WebURLLoader that has to replicate the method-munging, referrer-munging, and first-party-URL-munging logic that is already done in net/. BUG=384609 Review URL: https://codereview.chromium.org/398903002 Cr-Commit-Position: refs/heads/master@{#290005} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290005 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/services')
-rw-r--r--mojo/services/network/url_loader_impl.cc9
-rw-r--r--mojo/services/network/url_loader_impl.h2
2 files changed, 5 insertions, 6 deletions
diff --git a/mojo/services/network/url_loader_impl.cc b/mojo/services/network/url_loader_impl.cc
index 7e53c40..52f6148 100644
--- a/mojo/services/network/url_loader_impl.cc
+++ b/mojo/services/network/url_loader_impl.cc
@@ -13,6 +13,7 @@
#include "net/base/upload_bytes_element_reader.h"
#include "net/base/upload_data_stream.h"
#include "net/http/http_response_headers.h"
+#include "net/url_request/redirect_info.h"
namespace mojo {
namespace {
@@ -240,7 +241,7 @@ void URLLoaderImpl::QueryStatus(
}
void URLLoaderImpl::OnReceivedRedirect(net::URLRequest* url_request,
- const GURL& new_url,
+ const net::RedirectInfo& redirect_info,
bool* defer_redirect) {
DCHECK(url_request == url_request_.get());
DCHECK(url_request->status().is_success());
@@ -253,10 +254,8 @@ void URLLoaderImpl::OnReceivedRedirect(net::URLRequest* url_request,
*defer_redirect = true;
URLResponsePtr response = MakeURLResponse(url_request);
- response->redirect_method =
- net::URLRequest::ComputeMethodForRedirect(url_request->method(),
- response->status_code);
- response->redirect_url = String::From(new_url);
+ response->redirect_method = redirect_info.new_method;
+ response->redirect_url = String::From(redirect_info.new_url);
SendResponse(response.Pass());
}
diff --git a/mojo/services/network/url_loader_impl.h b/mojo/services/network/url_loader_impl.h
index 6785501..5c5af8a 100644
--- a/mojo/services/network/url_loader_impl.h
+++ b/mojo/services/network/url_loader_impl.h
@@ -38,7 +38,7 @@ class URLLoaderImpl : public InterfaceImpl<URLLoader>,
// net::URLRequest::Delegate methods:
virtual void OnReceivedRedirect(net::URLRequest* url_request,
- const GURL& new_url,
+ const net::RedirectInfo& redirect_info,
bool* defer_redirect) OVERRIDE;
virtual void OnResponseStarted(net::URLRequest* url_request) OVERRIDE;
virtual void OnReadCompleted(net::URLRequest* url_request, int bytes_read)