Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1667)

Unified Diff: content/renderer/render_frame_impl.cc

Issue 2355023002: Preserving Content-Type header from http request in OpenURL path. (Closed)
Patch Set: Rebasing... Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() !=

Powered by Google App Engine
This is Rietveld 408576698