| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index addc6d379be402b45619a5706b35118d124fd046..24be4ad915165d086eb218a6c2f95fe6ea54713e 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -3071,7 +3071,8 @@ void RenderFrameImpl::loadURLExternally(const blink::WebURLRequest& request,
|
| suggested_name));
|
| } else {
|
| OpenURL(request.url(), IsHttpPost(request),
|
| - GetRequestBodyForWebURLRequest(request), referrer, policy,
|
| + GetRequestBodyForWebURLRequest(request),
|
| + GetWebURLRequestHeadersForOpenURLParams(request), referrer, policy,
|
| should_replace_current_entry, false);
|
| }
|
| }
|
| @@ -4984,7 +4985,8 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
|
| render_view_->renderer_preferences_
|
| .browser_handles_all_top_level_requests) {
|
| OpenURL(url, IsHttpPost(info.urlRequest),
|
| - GetRequestBodyForWebURLRequest(info.urlRequest), referrer,
|
| + GetRequestBodyForWebURLRequest(info.urlRequest),
|
| + GetWebURLRequestHeadersForOpenURLParams(info.urlRequest), referrer,
|
| info.defaultPolicy, info.replacesCurrentHistoryItem, false);
|
| return blink::WebNavigationPolicyIgnore; // Suppress the load here.
|
| }
|
| @@ -5004,8 +5006,10 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
|
| // JavaScript on the page is trying to interrupt the history navigation.
|
| if (!info.isClientRedirect) {
|
| OpenURL(url, IsHttpPost(info.urlRequest),
|
| - GetRequestBodyForWebURLRequest(info.urlRequest), referrer,
|
| - info.defaultPolicy, info.replacesCurrentHistoryItem, true);
|
| + GetRequestBodyForWebURLRequest(info.urlRequest),
|
| + GetWebURLRequestHeadersForOpenURLParams(info.urlRequest),
|
| + referrer, info.defaultPolicy, info.replacesCurrentHistoryItem,
|
| + true);
|
| // Suppress the load in Blink but mark the frame as loading.
|
| return blink::WebNavigationPolicyHandledByClient;
|
| } else {
|
| @@ -5065,6 +5069,7 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
|
| if (should_fork) {
|
| OpenURL(url, IsHttpPost(info.urlRequest),
|
| GetRequestBodyForWebURLRequest(info.urlRequest),
|
| + GetWebURLRequestHeadersForOpenURLParams(info.urlRequest),
|
| send_referrer ? referrer : Referrer(), info.defaultPolicy,
|
| info.replacesCurrentHistoryItem, false);
|
| return blink::WebNavigationPolicyIgnore; // Suppress the load here.
|
| @@ -5106,8 +5111,10 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
|
| if (is_fork) {
|
| // Open the URL via the browser, not via WebKit.
|
| OpenURL(url, IsHttpPost(info.urlRequest),
|
| - GetRequestBodyForWebURLRequest(info.urlRequest), Referrer(),
|
| - info.defaultPolicy, info.replacesCurrentHistoryItem, false);
|
| + GetRequestBodyForWebURLRequest(info.urlRequest),
|
| + GetWebURLRequestHeadersForOpenURLParams(info.urlRequest),
|
| + Referrer(), info.defaultPolicy, info.replacesCurrentHistoryItem,
|
| + false);
|
| return blink::WebNavigationPolicyIgnore;
|
| }
|
|
|
| @@ -5428,6 +5435,7 @@ void RenderFrameImpl::OpenURL(
|
| const GURL& url,
|
| bool uses_post,
|
| const scoped_refptr<ResourceRequestBodyImpl>& resource_request_body,
|
| + const std::string& extra_headers,
|
| const Referrer& referrer,
|
| WebNavigationPolicy policy,
|
| bool should_replace_current_entry,
|
| @@ -5436,6 +5444,7 @@ void RenderFrameImpl::OpenURL(
|
| params.url = url;
|
| params.uses_post = uses_post;
|
| params.resource_request_body = resource_request_body;
|
| + params.extra_headers = extra_headers;
|
| params.referrer = referrer;
|
| params.disposition = RenderViewImpl::NavigationPolicyToDisposition(policy);
|
|
|
| @@ -5932,10 +5941,9 @@ void RenderFrameImpl::BeginNavigation(const NavigationPolicyInfo& info) {
|
| REQUEST_CONTEXT_FRAME_TYPE_NESTED);
|
|
|
| Send(new FrameHostMsg_BeginNavigation(
|
| - routing_id_,
|
| - MakeCommonNavigationParams(info),
|
| + routing_id_, MakeCommonNavigationParams(info),
|
| BeginNavigationParams(
|
| - GetWebURLRequestHeaders(info.urlRequest),
|
| + GetWebURLRequestHeadersForResourceRequest(info.urlRequest),
|
| GetLoadFlagsForWebURLRequest(info.urlRequest),
|
| info.urlRequest.hasUserGesture(),
|
| info.urlRequest.skipServiceWorker() !=
|
|
|