From 3a675a024a0e3167c204263086e260d1e59e289b Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 8 Oct 2022 12:58:56 +0200 Subject: [PATCH] LibWeb: Make DOMStringMap a LegacyPlatformObject Since it has a custom named getter, it should have been this all along. --- Userland/Libraries/LibWeb/HTML/DOMStringMap.cpp | 7 ++++++- Userland/Libraries/LibWeb/HTML/DOMStringMap.h | 12 +++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Userland/Libraries/LibWeb/HTML/DOMStringMap.cpp b/Userland/Libraries/LibWeb/HTML/DOMStringMap.cpp index 900538a466..c3121c7ee2 100644 --- a/Userland/Libraries/LibWeb/HTML/DOMStringMap.cpp +++ b/Userland/Libraries/LibWeb/HTML/DOMStringMap.cpp @@ -19,7 +19,7 @@ JS::NonnullGCPtr DOMStringMap::create(DOM::Element& element) } DOMStringMap::DOMStringMap(DOM::Element& element) - : PlatformObject(Bindings::cached_web_prototype(element.realm(), "DOMStringMap")) + : LegacyPlatformObject(Bindings::cached_web_prototype(element.realm(), "DOMStringMap")) , m_associated_element(element) { } @@ -183,4 +183,9 @@ bool DOMStringMap::delete_existing_named_property(String const& name) return true; } +JS::Value DOMStringMap::named_item_value(FlyString const& name) const +{ + return js_string(vm(), determine_value_of_named_property(name)); +} + } diff --git a/Userland/Libraries/LibWeb/HTML/DOMStringMap.h b/Userland/Libraries/LibWeb/HTML/DOMStringMap.h index 2b98b53f23..617505657e 100644 --- a/Userland/Libraries/LibWeb/HTML/DOMStringMap.h +++ b/Userland/Libraries/LibWeb/HTML/DOMStringMap.h @@ -7,22 +7,20 @@ #pragma once -#include +#include #include namespace Web::HTML { // https://html.spec.whatwg.org/multipage/dom.html#domstringmap -class DOMStringMap final : public Bindings::PlatformObject { - WEB_PLATFORM_OBJECT(DOMStringMap, Bindings::PlatformObject); +class DOMStringMap final : public Bindings::LegacyPlatformObject { + WEB_PLATFORM_OBJECT(DOMStringMap, Bindings::LegacyPlatformObject); public: static JS::NonnullGCPtr create(DOM::Element&); virtual ~DOMStringMap() override; - Vector supported_property_names() const; - String determine_value_of_named_property(String const&) const; WebIDL::ExceptionOr set_value_of_new_named_property(String const&, String const&); @@ -35,6 +33,10 @@ private: virtual void visit_edges(Cell::Visitor&) override; + // ^LegacyPlatformObject + virtual JS::Value named_item_value(FlyString const&) const override; + virtual Vector supported_property_names() const override; + struct NameValuePair { String name; String value;