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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 2004653002: OpenURL post data handling. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@post-data-my-stuff
Patch Set: Created 4 years, 7 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 4b5390e68014fb812380fc270f770995237f1d57..58a0d1d9b30879172c15d4b4134ae6a9642e4a90 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -155,6 +155,7 @@
#include "third_party/WebKit/public/platform/URLConversion.h"
#include "third_party/WebKit/public/platform/WebCachePolicy.h"
#include "third_party/WebKit/public/platform/WebData.h"
+#include "third_party/WebKit/public/platform/WebHTTPBody.h"
#include "third_party/WebKit/public/platform/WebMediaPlayer.h"
#include "third_party/WebKit/public/platform/WebMediaPlayerSource.h"
#include "third_party/WebKit/public/platform/WebSecurityOrigin.h"
@@ -2960,8 +2961,8 @@ void RenderFrameImpl::loadURLExternally(const blink::WebURLRequest& request,
request.url(), referrer,
suggested_name));
} else {
- OpenURL(request.url(), referrer, policy, should_replace_current_entry,
- false);
+ OpenURL(request.url(), "GET", nullptr, referrer, policy,
+ should_replace_current_entry, false);
}
}
@@ -4837,8 +4838,9 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
if (is_content_initiated && IsTopLevelNavigation(frame_) &&
render_view_->renderer_preferences_
.browser_handles_all_top_level_requests) {
- OpenURL(url, referrer, info.defaultPolicy, info.replacesCurrentHistoryItem,
- false);
+ OpenURL(url, info.urlRequest.httpMethod().utf8(),
+ GetRequestBodyForWebURLRequest(info.urlRequest), referrer,
+ info.defaultPolicy, info.replacesCurrentHistoryItem, false);
return blink::WebNavigationPolicyIgnore; // Suppress the load here.
}
@@ -4847,8 +4849,9 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
// FrameNavigationEntry. If none is found, fall back to the default url.
if (SiteIsolationPolicy::UseSubframeNavigationEntries() &&
info.isHistoryNavigationInNewChildFrame && is_content_initiated) {
- OpenURL(url, referrer, info.defaultPolicy, info.replacesCurrentHistoryItem,
- true);
+ OpenURL(url, info.urlRequest.httpMethod().utf8(),
+ GetRequestBodyForWebURLRequest(info.urlRequest), referrer,
+ info.defaultPolicy, info.replacesCurrentHistoryItem, true);
// Suppress the load in Blink but mark the frame as loading.
return blink::WebNavigationPolicyHandledByClient;
}
@@ -4911,7 +4914,9 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
}
if (should_fork) {
- OpenURL(url, send_referrer ? referrer : Referrer(), info.defaultPolicy,
+ OpenURL(url, info.urlRequest.httpMethod().utf8(),
+ GetRequestBodyForWebURLRequest(info.urlRequest),
+ send_referrer ? referrer : Referrer(), info.defaultPolicy,
info.replacesCurrentHistoryItem, false);
return blink::WebNavigationPolicyIgnore; // Suppress the load here.
}
@@ -4951,8 +4956,9 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
if (is_fork) {
// Open the URL via the browser, not via WebKit.
- OpenURL(url, Referrer(), info.defaultPolicy,
- info.replacesCurrentHistoryItem, false);
+ OpenURL(url, info.urlRequest.httpMethod().utf8(),
+ GetRequestBodyForWebURLRequest(info.urlRequest), Referrer(),
+ info.defaultPolicy, info.replacesCurrentHistoryItem, false);
return blink::WebNavigationPolicyIgnore;
}
@@ -5289,13 +5295,18 @@ void RenderFrameImpl::OnSelectPopupMenuItem(int selected_index) {
}
#endif
-void RenderFrameImpl::OpenURL(const GURL& url,
- const Referrer& referrer,
- WebNavigationPolicy policy,
- bool should_replace_current_entry,
- bool is_history_navigation_in_new_child) {
+void RenderFrameImpl::OpenURL(
+ const GURL& url,
+ const std::string& method,
+ const scoped_refptr<ResourceRequestBody>& resource_request_body,
+ const Referrer& referrer,
+ WebNavigationPolicy policy,
+ bool should_replace_current_entry,
+ bool is_history_navigation_in_new_child) {
FrameHostMsg_OpenURL_Params params;
params.url = url;
+ params.method = method;
+ params.resource_request_body = resource_request_body;
params.referrer = referrer;
params.disposition = RenderViewImpl::NavigationPolicyToDisposition(policy);

Powered by Google App Engine
This is Rietveld 408576698