Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index 83214dd34566f49df10aae8d5c47b837aec7a542..f06fc9f176f7360132894b7845ca8b7f20d70f71 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -3061,7 +3061,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); |
| } |
| } |
| @@ -4958,7 +4959,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. |
| } |
| @@ -4972,8 +4974,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 { |
| @@ -5033,6 +5037,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. |
| @@ -5074,8 +5079,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; |
| } |
| @@ -5396,6 +5403,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, |
| @@ -5404,6 +5412,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); |
| @@ -5896,10 +5905,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), |
|
Łukasz Anforowicz
2016/09/22 21:23:17
The change above preserves the old behavior for Pl
Charlie Reis
2016/09/30 21:31:55
Acknowledged.
|
| GetLoadFlagsForWebURLRequest(info.urlRequest), |
| info.urlRequest.hasUserGesture(), |
| info.urlRequest.skipServiceWorker() != |