Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Unified Diff: content/browser/loader/resource_loader.cc

Issue 398903002: Plumb redirect info out of net, through content, and into child processes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: mmenke comments Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/loader/resource_loader.cc
diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc
index 0becbf42a3d19ea4ad7804f2163b5279d5937106..2f7e50e52994798522988ba16c0066db99c3fa98 100644
--- a/content/browser/loader/resource_loader.cc
+++ b/content/browser/loader/resource_loader.cc
@@ -29,6 +29,7 @@
#include "net/base/load_flags.h"
#include "net/http/http_response_headers.h"
#include "net/ssl/client_cert_store.h"
+#include "net/url_request/redirect_info.h"
#include "net/url_request/url_request_status.h"
using base::TimeDelta;
@@ -192,7 +193,7 @@ void ResourceLoader::OnUploadProgressACK() {
}
void ResourceLoader::OnReceivedRedirect(net::URLRequest* unused,
- const GURL& new_url,
+ const net::RedirectInfo& redirect_info,
bool* defer) {
DCHECK_EQ(request_.get(), unused);
@@ -203,18 +204,18 @@ void ResourceLoader::OnReceivedRedirect(net::URLRequest* unused,
if (info->GetProcessType() != PROCESS_TYPE_PLUGIN &&
!ChildProcessSecurityPolicyImpl::GetInstance()->
- CanRequestURL(info->GetChildID(), new_url)) {
+ CanRequestURL(info->GetChildID(), redirect_info.new_url)) {
VLOG(1) << "Denied unauthorized request for "
- << new_url.possibly_invalid_spec();
+ << redirect_info.new_url.possibly_invalid_spec();
// Tell the renderer that this request was disallowed.
Cancel();
return;
}
- delegate_->DidReceiveRedirect(this, new_url);
+ delegate_->DidReceiveRedirect(this, redirect_info.new_url);
- if (delegate_->HandleExternalProtocol(this, new_url)) {
+ if (delegate_->HandleExternalProtocol(this, redirect_info.new_url)) {
// The request is complete so we can remove it.
CancelAndIgnore();
return;
@@ -223,7 +224,7 @@ void ResourceLoader::OnReceivedRedirect(net::URLRequest* unused,
scoped_refptr<ResourceResponse> response(new ResourceResponse());
PopulateResourceResponse(request_.get(), response.get());
- if (!handler_->OnRequestRedirected(new_url, response.get(), defer)) {
+ if (!handler_->OnRequestRedirected(redirect_info, response.get(), defer)) {
Cancel();
} else if (*defer) {
deferred_stage_ = DEFERRED_REDIRECT; // Follow redirect when resumed.

Powered by Google App Engine
This is Rietveld 408576698