Index: content/browser/loader/cross_site_resource_handler.cc |
diff --git a/content/browser/loader/cross_site_resource_handler.cc b/content/browser/loader/cross_site_resource_handler.cc |
index 29dc77ea6b08b14babbce8b77910e99e17e32ab8..ad6397a1f1996d09b4cd2680158d8cea531622a1 100644 |
--- a/content/browser/loader/cross_site_resource_handler.cc |
+++ b/content/browser/loader/cross_site_resource_handler.cc |
@@ -87,11 +87,13 @@ void OnCrossSiteResponseHelper(const CrossSiteResponseParams& params) { |
void OnDeferredAfterResponseStartedHelper( |
const GlobalRequestID& global_request_id, |
- int render_frame_id) { |
+ int render_frame_id, |
+ const scoped_refptr<net::HttpResponseHeaders>& headers, |
+ const GURL& url) { |
RenderFrameHostImpl* rfh = |
RenderFrameHostImpl::FromID(global_request_id.child_id, render_frame_id); |
if (rfh) |
- rfh->OnDeferredAfterResponseStarted(global_request_id); |
+ rfh->OnDeferredAfterResponseStarted(global_request_id, headers, url); |
} |
bool CheckNavigationPolicyOnUI(GURL url, int process_id, int render_frame_id) { |
@@ -232,13 +234,22 @@ bool CrossSiteResourceHandler::OnNavigationTransitionResponseStarted( |
bool* defer) { |
ResourceRequestInfoImpl* info = GetRequestInfo(); |
+ scoped_refptr<net::HttpResponseHeaders> headers; |
+ if (response_) |
+ headers = response_->head.headers; |
+ GURL url = request()->url(); |
+ |
GlobalRequestID global_id(info->GetChildID(), info->GetRequestID()); |
int render_frame_id = info->GetRenderFrameID(); |
BrowserThread::PostTask( |
BrowserThread::UI, |
FROM_HERE, |
base::Bind( |
- &OnDeferredAfterResponseStartedHelper, global_id, render_frame_id)); |
+ &OnDeferredAfterResponseStartedHelper, |
+ global_id, |
+ render_frame_id, |
+ headers, |
+ url)); |
*defer = true; |
OnDidDefer(); |