LibWeb: Make DOMStringMap a LegacyPlatformObject

Since it has a custom named getter, it should have been this all along.
This commit is contained in:
Andreas Kling 2022-10-08 12:58:56 +02:00
parent 2c37df6241
commit 3a675a024a
Notes: sideshowbarker 2024-07-17 06:03:43 +09:00
2 changed files with 13 additions and 6 deletions

View file

@ -19,7 +19,7 @@ JS::NonnullGCPtr<DOMStringMap> 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));
}
}

View file

@ -7,22 +7,20 @@
#pragma once
#include <LibWeb/Bindings/PlatformObject.h>
#include <LibWeb/Bindings/LegacyPlatformObject.h>
#include <LibWeb/Forward.h>
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<DOMStringMap> create(DOM::Element&);
virtual ~DOMStringMap() override;
Vector<String> supported_property_names() const;
String determine_value_of_named_property(String const&) const;
WebIDL::ExceptionOr<void> 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<String> supported_property_names() const override;
struct NameValuePair {
String name;
String value;