| Index: third_party/WebKit/Source/core/dom/URLSearchParams.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/URLSearchParams.cpp b/third_party/WebKit/Source/core/dom/URLSearchParams.cpp
|
| index 5e3493b5ef114cedc23267b86fd886a103b47a22..30d3a09d4f01ca234a0427fd1432e29303957527 100644
|
| --- a/third_party/WebKit/Source/core/dom/URLSearchParams.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/URLSearchParams.cpp
|
| @@ -7,7 +7,6 @@
|
| #include "core/dom/DOMURL.h"
|
| #include "platform/network/FormDataEncoder.h"
|
| #include "platform/weborigin/KURL.h"
|
| -#include "wtf/text/StringBuilder.h"
|
| #include "wtf/text/TextEncoding.h"
|
|
|
| namespace blink {
|
| @@ -124,22 +123,11 @@ void URLSearchParams::setInput(const String& queryString)
|
| runUpdateSteps();
|
| }
|
|
|
| -static String encodeString(const String& input)
|
| -{
|
| - return encodeWithURLEscapeSequences(input).replace("%20", "+");
|
| -}
|
| -
|
| String URLSearchParams::toString() const
|
| {
|
| - StringBuilder result;
|
| - for (size_t i = 0; i < m_params.size(); ++i) {
|
| - if (i)
|
| - result.append('&');
|
| - result.append(encodeString(m_params[i].first));
|
| - result.append('=');
|
| - result.append(encodeString(m_params[i].second));
|
| - }
|
| - return result.toString();
|
| + Vector<char> encodedData;
|
| + encodeAsFormData(encodedData);
|
| + return String(encodedData.data(), encodedData.size());
|
| }
|
|
|
| void URLSearchParams::append(const String& name, const String& value)
|
| @@ -212,11 +200,16 @@ void URLSearchParams::set(const String& name, const String& value)
|
| runUpdateSteps();
|
| }
|
|
|
| -PassRefPtr<EncodedFormData> URLSearchParams::encodeFormData() const
|
| +void URLSearchParams::encodeAsFormData(Vector<char>& encodedData) const
|
| {
|
| - Vector<char> encodedData;
|
| for (const auto& param : m_params)
|
| - FormDataEncoder::addKeyValuePairAsFormData(encodedData, param.first.utf8(), param.second.utf8(), EncodedFormData::FormURLEncoded);
|
| + FormDataEncoder::addKeyValuePairAsFormData(encodedData, param.first.utf8(), param.second.utf8(), EncodedFormData::FormURLEncoded, FormDataEncoder::DoNotNormalizeCRLF);
|
| +}
|
| +
|
| +PassRefPtr<EncodedFormData> URLSearchParams::toEncodedFormData() const
|
| +{
|
| + Vector<char> encodedData;
|
| + encodeAsFormData(encodedData);
|
| return EncodedFormData::create(encodedData.data(), encodedData.size());
|
| }
|
|
|
|
|