diff options
author | davidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-15 20:49:59 +0000 |
---|---|---|
committer | davidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-15 20:51:41 +0000 |
commit | cba246463b2bda73877fc53da6d7eff97448d93d (patch) | |
tree | c8a77dfaff426ea06667b3714e4af2d9ed3b7d94 /mojo/services | |
parent | 7d0a0cac7c1233e6beeaf7ca8092f89f81e950ef (diff) | |
download | chromium_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.cc | 9 | ||||
-rw-r--r-- | mojo/services/network/url_loader_impl.h | 2 |
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) |