Index: content/browser/frame_host/navigation_controller_impl.cc |
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc |
index fe5cdcd0f764db3adaa7b8a7932f6907fb31d66d..cc142967e5a96b823d48c7a9f0e073dee5b6cd0a 100644 |
--- a/content/browser/frame_host/navigation_controller_impl.cc |
+++ b/content/browser/frame_host/navigation_controller_impl.cc |
@@ -669,13 +669,6 @@ void NavigationControllerImpl::LoadURLWithParams(const LoadURLParams& params) { |
switch (params.load_type) { |
case LOAD_TYPE_DEFAULT: |
break; |
- case LOAD_TYPE_BROWSER_INITIATED_HTTP_POST: |
- if (!params.url.SchemeIs(url::kHttpScheme) && |
- !params.url.SchemeIs(url::kHttpsScheme)) { |
- NOTREACHED() << "Http post load must use http(s) scheme."; |
- return; |
- } |
- break; |
case LOAD_TYPE_DATA: |
if (!params.url.SchemeIs(url::kDataScheme)) { |
NOTREACHED() << "Data load must use data scheme."; |
@@ -686,6 +679,15 @@ void NavigationControllerImpl::LoadURLWithParams(const LoadURLParams& params) { |
NOTREACHED(); |
break; |
}; |
+ if (params.method == "POST") { |
+ if (!params.url.SchemeIs(url::kHttpScheme) && |
+ !params.url.SchemeIs(url::kHttpsScheme)) { |
+ NOTREACHED() << "Http post load must use http(s) scheme."; |
+ return; |
+ } |
+ } else { |
+ DCHECK(!params.browser_initiated_post_data); |
+ } |
// The user initiated a load, we don't need to reload anymore. |
needs_reload_ = false; |
@@ -768,11 +770,6 @@ void NavigationControllerImpl::LoadURLWithParams(const LoadURLParams& params) { |
switch (params.load_type) { |
case LOAD_TYPE_DEFAULT: |
break; |
- case LOAD_TYPE_BROWSER_INITIATED_HTTP_POST: |
- entry->SetHasPostData(true); |
- entry->SetBrowserInitiatedPostData( |
- params.browser_initiated_post_data.get()); |
- break; |
case LOAD_TYPE_DATA: |
entry->SetBaseURLForDataURL(params.base_url_for_data_url); |
entry->SetVirtualURL(params.virtual_url_for_data_url); |
@@ -786,6 +783,12 @@ void NavigationControllerImpl::LoadURLWithParams(const LoadURLParams& params) { |
break; |
}; |
+ if (params.method == "POST") { |
+ entry->SetHasPostData(true); |
+ entry->SetBrowserInitiatedPostData( |
+ params.browser_initiated_post_data.get()); |
+ } |
+ |
LoadEntry(std::move(entry)); |
} |