diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp index 53c5c45137b..fb104c377a8 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp @@ -105,14 +105,14 @@ void HTMLFormElement::submit_form(RefPtr submitter, bool from_submi }); if (effective_method == "get") { - url.set_query(urlencode(parameters)); + url.set_query(urlencode(parameters, URL::PercentEncodeSet::ApplicationXWWWFormUrlencoded)); } LoadRequest request; request.set_url(url); if (effective_method == "post") { - auto body = urlencode(parameters).to_byte_buffer(); + auto body = urlencode(parameters, URL::PercentEncodeSet::ApplicationXWWWFormUrlencoded).to_byte_buffer(); request.set_method("POST"); request.set_header("Content-Type", "application/x-www-form-urlencoded"); request.set_header("Content-Length", String::number(body.size())); diff --git a/Userland/Libraries/LibWeb/URLEncoder.cpp b/Userland/Libraries/LibWeb/URLEncoder.cpp index bad252e2b50..ed4ece6b79b 100644 --- a/Userland/Libraries/LibWeb/URLEncoder.cpp +++ b/Userland/Libraries/LibWeb/URLEncoder.cpp @@ -10,13 +10,13 @@ namespace Web { -String urlencode(const Vector& pairs) +String urlencode(const Vector& pairs, URL::PercentEncodeSet percent_encode_set) { StringBuilder builder; for (size_t i = 0; i < pairs.size(); ++i) { - builder.append(URL::percent_encode(pairs[i].name)); + builder.append(URL::percent_encode(pairs[i].name, percent_encode_set)); builder.append('='); - builder.append(URL::percent_encode(pairs[i].value)); + builder.append(URL::percent_encode(pairs[i].value, percent_encode_set)); if (i != pairs.size() - 1) builder.append('&'); } diff --git a/Userland/Libraries/LibWeb/URLEncoder.h b/Userland/Libraries/LibWeb/URLEncoder.h index 5b6a2268a88..5bd004f560a 100644 --- a/Userland/Libraries/LibWeb/URLEncoder.h +++ b/Userland/Libraries/LibWeb/URLEncoder.h @@ -16,6 +16,6 @@ struct URLQueryParam { String value; }; -String urlencode(const Vector&); +String urlencode(const Vector&, URL::PercentEncodeSet); }