#include "third_party/blink/renderer/core/url/url_search_params.h"
#include <algorithm>
#include <utility>
#include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom-shared.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_usvstring_usvstringsequencesequence_usvstringusvstringrecord.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.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"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
#include "third_party/blink/renderer/platform/wtf/text/text_encoding.h"
namespace blink {
namespace {
class URLSearchParamsIterationSource final
: public PairSyncIterable<URLSearchParams>::IterationSource { … };
bool CompareParams(const std::pair<String, String>& a,
const std::pair<String, String>& b) { … }
}
URLSearchParams* URLSearchParams::Create(const URLSearchParamsInit* init,
ExceptionState& exception_state) { … }
URLSearchParams* URLSearchParams::Create(const Vector<Vector<String>>& init,
ExceptionState& exception_state) { … }
URLSearchParams::URLSearchParams(const String& query_string, DOMURL* url_object)
: … { … }
URLSearchParams* URLSearchParams::Create(
const Vector<std::pair<String, String>>& init,
ExceptionState& exception_state) { … }
URLSearchParams::~URLSearchParams() = default;
void URLSearchParams::Trace(Visitor* visitor) const { … }
#if DCHECK_IS_ON()
DOMURL* URLSearchParams::UrlObject() const { … }
#endif
void URLSearchParams::RunUpdateSteps() { … }
static String DecodeString(String input) { … }
void URLSearchParams::SetInputWithoutUpdate(const String& query_string) { … }
String URLSearchParams::toString() const { … }
uint32_t URLSearchParams::size() const { … }
void URLSearchParams::AppendWithoutUpdate(const String& name,
const String& value) { … }
void URLSearchParams::append(const String& name, const String& value) { … }
void URLSearchParams::deleteAllWithNameOrTuple(
ExecutionContext* execution_context,
const String& name) { … }
void URLSearchParams::deleteAllWithNameOrTuple(
ExecutionContext* execution_context,
const String& name,
const String& val) { … }
String URLSearchParams::get(const String& name) const { … }
Vector<String> URLSearchParams::getAll(const String& name) const { … }
bool URLSearchParams::has(ExecutionContext* execution_context,
const String& name) const { … }
bool URLSearchParams::has(ExecutionContext* execution_context,
const String& name,
const String& val) const { … }
void URLSearchParams::set(const String& name, const String& value) { … }
void URLSearchParams::sort() { … }
void URLSearchParams::EncodeAsFormData(Vector<char>& encoded_data) const { … }
scoped_refptr<EncodedFormData> URLSearchParams::ToEncodedFormData() const { … }
PairSyncIterable<URLSearchParams>::IterationSource*
URLSearchParams::CreateIterationSource(ScriptState*, ExceptionState&) { … }
}