Index: trunk/src/content/browser/loader/cross_site_resource_handler.cc |
=================================================================== |
--- trunk/src/content/browser/loader/cross_site_resource_handler.cc (revision 227593) |
+++ trunk/src/content/browser/loader/cross_site_resource_handler.cc (working copy) |
@@ -49,7 +49,8 @@ |
CrossSiteResourceHandler::CrossSiteResourceHandler( |
scoped_ptr<ResourceHandler> next_handler, |
net::URLRequest* request) |
- : LayeredResourceHandler(request, next_handler.Pass()), |
+ : LayeredResourceHandler(next_handler.Pass()), |
+ request_(request), |
has_started_response_(false), |
in_cross_site_transition_(false), |
completed_during_transition_(false), |
@@ -60,7 +61,7 @@ |
CrossSiteResourceHandler::~CrossSiteResourceHandler() { |
// Cleanup back-pointer stored on the request info. |
- GetRequestInfo()->set_cross_site_handler(NULL); |
+ ResourceRequestInfoImpl::ForRequest(request_)->set_cross_site_handler(NULL); |
} |
bool CrossSiteResourceHandler::OnRequestRedirected( |
@@ -85,7 +86,7 @@ |
DCHECK(!in_cross_site_transition_); |
has_started_response_ = true; |
- ResourceRequestInfoImpl* info = GetRequestInfo(); |
+ ResourceRequestInfoImpl* info = ResourceRequestInfoImpl::ForRequest(request_); |
// We will need to swap processes if either (1) a redirect that requires a |
// transfer occurred before we got here, or (2) a pending cross-site request |
@@ -93,7 +94,7 @@ |
// transferred back into the original process due to a redirect. |
bool should_transfer = |
GetContentClient()->browser()->ShouldSwapProcessesForRedirect( |
- info->GetContext(), request()->original_url(), request()->url()); |
+ info->GetContext(), request_->original_url(), request_->url()); |
bool swap_needed = should_transfer || |
CrossSiteRequestManager::GetInstance()-> |
HasPendingCrossSiteRequest(info->GetChildID(), info->GetRouteID()); |
@@ -138,7 +139,8 @@ |
const net::URLRequestStatus& status, |
const std::string& security_info) { |
if (!in_cross_site_transition_) { |
- ResourceRequestInfoImpl* info = GetRequestInfo(); |
+ ResourceRequestInfoImpl* info = |
+ ResourceRequestInfoImpl::ForRequest(request_); |
// If we've already completed the transition, or we're canceling the |
// request, or an error occurred with no cross-process navigation in |
// progress, then we should just pass this through. |
@@ -171,10 +173,11 @@ |
// We can now send the response to the new renderer, which will cause |
// WebContentsImpl to swap in the new renderer and destroy the old one. |
void CrossSiteResourceHandler::ResumeResponse() { |
- DCHECK(request()); |
+ DCHECK(request_); |
DCHECK(in_cross_site_transition_); |
in_cross_site_transition_ = false; |
- ResourceRequestInfoImpl* info = GetRequestInfo(); |
+ ResourceRequestInfoImpl* info = |
+ ResourceRequestInfoImpl::ForRequest(request_); |
if (has_started_response_) { |
// Send OnResponseStarted to the new renderer. |
@@ -215,7 +218,8 @@ |
// Store this handler on the ExtraRequestInfo, so that RDH can call our |
// ResumeResponse method when we are ready to resume. |
- ResourceRequestInfoImpl* info = GetRequestInfo(); |
+ ResourceRequestInfoImpl* info = |
+ ResourceRequestInfoImpl::ForRequest(request_); |
info->set_cross_site_handler(this); |
DCHECK_EQ(request_id, info->GetRequestID()); |
@@ -229,8 +233,8 @@ |
Referrer referrer; |
int frame_id = -1; |
if (should_transfer) { |
- transfer_url = request()->url(); |
- referrer = Referrer(GURL(request()->referrer()), info->GetReferrerPolicy()); |
+ transfer_url = request_->url(); |
+ referrer = Referrer(GURL(request_->referrer()), info->GetReferrerPolicy()); |
frame_id = info->GetFrameID(); |
ResourceDispatcherHostImpl::Get()->MarkAsTransferredNavigation( |