| 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();
|
|
|