summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/blink/renderer/core/loader/form_submission.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/loader/form_submission.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/loader/form_submission.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/core/loader/form_submission.cc b/chromium/third_party/blink/renderer/core/loader/form_submission.cc
index 901b1f60287..020052ff693 100644
--- a/chromium/third_party/blink/renderer/core/loader/form_submission.cc
+++ b/chromium/third_party/blink/renderer/core/loader/form_submission.cc
@@ -272,8 +272,10 @@ void FormSubmission::Trace(blink::Visitor* visitor) {
}
KURL FormSubmission::RequestURL() const {
- if (method_ == FormSubmission::kPostMethod)
+ if (method_ == FormSubmission::kPostMethod ||
+ action_.ProtocolIsJavaScript()) {
return action_;
+ }
KURL request_url(action_);
request_url.SetQuery(form_data_->FlattenToString());
@@ -287,9 +289,11 @@ FrameLoadRequest FormSubmission::CreateFrameLoadRequest(
if (!target_.IsEmpty())
frame_request.SetFrameName(target_);
+ ClientNavigationReason reason = ClientNavigationReason::kFormSubmissionGet;
if (method_ == FormSubmission::kPostMethod) {
- frame_request.GetResourceRequest().SetHTTPMethod(http_names::kPOST);
- frame_request.GetResourceRequest().SetHTTPBody(form_data_);
+ reason = ClientNavigationReason::kFormSubmissionPost;
+ frame_request.GetResourceRequest().SetHttpMethod(http_names::kPOST);
+ frame_request.GetResourceRequest().SetHttpBody(form_data_);
// construct some user headers if necessary
if (boundary_.IsEmpty()) {
@@ -299,8 +303,9 @@ FrameLoadRequest FormSubmission::CreateFrameLoadRequest(
content_type_ + "; boundary=" + boundary_);
}
}
+ frame_request.SetClientRedirectReason(reason);
- frame_request.GetResourceRequest().SetURL(RequestURL());
+ frame_request.GetResourceRequest().SetUrl(RequestURL());
frame_request.SetForm(form_);