summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/url
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-09-03 13:32:17 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-01 14:31:55 +0200
commit21ba0c5d4bf8fba15dddd97cd693bad2358b77fd (patch)
tree91be119f694044dfc1ff9fdc054459e925de9df0 /chromium/third_party/blink/renderer/core/url
parent03c549e0392f92c02536d3f86d5e1d8dfa3435ac (diff)
downloadqtwebengine-chromium-21ba0c5d4bf8fba15dddd97cd693bad2358b77fd.tar.gz
BASELINE: Update Chromium to 92.0.4515.166
Change-Id: I42a050486714e9e54fc271f2a8939223a02ae364
Diffstat (limited to 'chromium/third_party/blink/renderer/core/url')
-rw-r--r--chromium/third_party/blink/renderer/core/url/url_search_params.cc24
-rw-r--r--chromium/third_party/blink/renderer/core/url/url_search_params.h14
2 files changed, 37 insertions, 1 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) {
diff --git a/chromium/third_party/blink/renderer/core/url/url_search_params.h b/chromium/third_party/blink/renderer/core/url/url_search_params.h
index 958c41b7a34..7a12e95feec 100644
--- a/chromium/third_party/blink/renderer/core/url/url_search_params.h
+++ b/chromium/third_party/blink/renderer/core/url/url_search_params.h
@@ -7,6 +7,7 @@
#include <utility>
+#include "base/dcheck_is_on.h"
#include "base/gtest_prod_util.h"
#include "third_party/blink/renderer/bindings/core/v8/iterable.h"
#include "third_party/blink/renderer/bindings/core/v8/usv_string_sequence_sequence_or_usv_string_usv_string_record_or_usv_string.h"
@@ -18,18 +19,29 @@
namespace blink {
-class ExceptionState;
class DOMURL;
+class ExceptionState;
+class V8UnionUSVStringOrUSVStringSequenceSequenceOrUSVStringUSVStringRecord;
+#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
+using URLSearchParamsInit =
+ V8UnionUSVStringOrUSVStringSequenceSequenceOrUSVStringUSVStringRecord;
+#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
typedef USVStringSequenceSequenceOrUSVStringUSVStringRecordOrUSVString
URLSearchParamsInit;
+#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
class CORE_EXPORT URLSearchParams final : public ScriptWrappable,
public PairIterable<String, String> {
DEFINE_WRAPPERTYPEINFO();
public:
+#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
+ static URLSearchParams* Create(const URLSearchParamsInit* init,
+ ExceptionState& exception_state);
+#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
static URLSearchParams* Create(const URLSearchParamsInit&, ExceptionState&);
+#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
static URLSearchParams* Create(const Vector<std::pair<String, String>>&,
ExceptionState&);
static URLSearchParams* Create(const Vector<Vector<String>>&,