From 3e2ceef8c3553ed1dc0fb528c6ea666273322e30 Mon Sep 17 00:00:00 2001 From: CanadaHonk Date: Thu, 23 Feb 2023 13:32:08 +0000 Subject: [PATCH] LibWeb: Add size to URLSearchParams Added new size parameter to URLSearchParams. Spec: https://url.spec.whatwg.org/#dom-urlsearchparams-size Co-Authored-By: Linus Groh --- Userland/Libraries/LibWeb/URL/URLSearchParams.cpp | 7 +++++++ Userland/Libraries/LibWeb/URL/URLSearchParams.h | 1 + Userland/Libraries/LibWeb/URL/URLSearchParams.idl | 2 ++ 3 files changed, 10 insertions(+) diff --git a/Userland/Libraries/LibWeb/URL/URLSearchParams.cpp b/Userland/Libraries/LibWeb/URL/URLSearchParams.cpp index 14ef8d01d6..73ab3dc379 100644 --- a/Userland/Libraries/LibWeb/URL/URLSearchParams.cpp +++ b/Userland/Libraries/LibWeb/URL/URLSearchParams.cpp @@ -149,6 +149,13 @@ WebIDL::ExceptionOr> URLSearchParams::construc return URLSearchParams::create(realm, url_decode(stripped_init)); } +// https://url.spec.whatwg.org/#dom-urlsearchparams-size +size_t URLSearchParams::size() const +{ + // The size getter steps are to return this’s list’s size. + return m_list.size(); +} + void URLSearchParams::append(DeprecatedString const& name, DeprecatedString const& value) { // 1. Append a new name-value pair whose name is name and value is value, to list. diff --git a/Userland/Libraries/LibWeb/URL/URLSearchParams.h b/Userland/Libraries/LibWeb/URL/URLSearchParams.h index 78b50826a5..bdc7755413 100644 --- a/Userland/Libraries/LibWeb/URL/URLSearchParams.h +++ b/Userland/Libraries/LibWeb/URL/URLSearchParams.h @@ -28,6 +28,7 @@ public: virtual ~URLSearchParams() override; + size_t size() const; void append(DeprecatedString const& name, DeprecatedString const& value); void delete_(DeprecatedString const& name); DeprecatedString get(DeprecatedString const& name); diff --git a/Userland/Libraries/LibWeb/URL/URLSearchParams.idl b/Userland/Libraries/LibWeb/URL/URLSearchParams.idl index 2ee96906b1..6269743ad8 100644 --- a/Userland/Libraries/LibWeb/URL/URLSearchParams.idl +++ b/Userland/Libraries/LibWeb/URL/URLSearchParams.idl @@ -4,6 +4,8 @@ interface URLSearchParams { constructor(optional (sequence> or record or USVString) init = ""); + readonly attribute unsigned long size; + undefined append(USVString name, USVString value); undefined delete(USVString name); USVString? get(USVString name);