summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/url/url_search_params.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/url/url_search_params.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/url/url_search_params.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/url/url_search_params.cc b/chromium/third_party/blink/renderer/core/url/url_search_params.cc
index 25d1cd3e31d..bb45d24aef0 100644
--- a/chromium/third_party/blink/renderer/core/url/url_search_params.cc
+++ b/chromium/third_party/blink/renderer/core/url/url_search_params.cc
@@ -7,6 +7,7 @@
#include <algorithm>
#include <utility>
+#include "third_party/blink/renderer/bindings/core/v8/v8_union_usvstring_usvstringsequencesequence_usvstringusvstringrecord.h"
#include "third_party/blink/renderer/core/url/dom_url.h"
#include "third_party/blink/renderer/platform/bindings/exception_messages.h"
#include "third_party/blink/renderer/platform/network/form_data_encoder.h"
@@ -53,6 +54,28 @@ bool CompareParams(const std::pair<String, String>& a,
} // namespace
+#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
+URLSearchParams* URLSearchParams::Create(const URLSearchParamsInit* init,
+ ExceptionState& exception_state) {
+ DCHECK(init);
+ switch (init->GetContentType()) {
+ case URLSearchParamsInit::ContentType::kUSVString: {
+ const String& query_string = init->GetAsUSVString();
+ if (query_string.StartsWith('?'))
+ return MakeGarbageCollected<URLSearchParams>(query_string.Substring(1));
+ return MakeGarbageCollected<URLSearchParams>(query_string);
+ }
+ case URLSearchParamsInit::ContentType::kUSVStringSequenceSequence:
+ return URLSearchParams::Create(init->GetAsUSVStringSequenceSequence(),
+ exception_state);
+ case URLSearchParamsInit::ContentType::kUSVStringUSVStringRecord:
+ return URLSearchParams::Create(init->GetAsUSVStringUSVStringRecord(),
+ exception_state);
+ }
+ NOTREACHED();
+ return nullptr;
+}
+#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
URLSearchParams* URLSearchParams::Create(const URLSearchParamsInit& init,
ExceptionState& exception_state) {
if (init.IsUSVString()) {
@@ -73,6 +96,7 @@ URLSearchParams* URLSearchParams::Create(const URLSearchParamsInit& init,
DCHECK(init.IsNull());
return MakeGarbageCollected<URLSearchParams>(String());
}
+#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
URLSearchParams* URLSearchParams::Create(const Vector<Vector<String>>& init,
ExceptionState& exception_state) {