1
1
/*
2
2
* Copyright (c) 2021, Luke Wilde <lukew@serenityos.org>
3
+ * Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
3
4
*
4
5
* SPDX-License-Identifier: BSD-2-Clause
5
6
*/
6
7
7
8
#pragma once
8
9
9
- #include < AK/RefCounted.h>
10
- #include < AK/Weakable.h>
11
- #include < LibWeb/Bindings/Wrappable.h>
10
+ #include < LibWeb/Bindings/PlatformObject.h>
12
11
#include < LibWeb/Forward.h>
13
12
14
13
namespace Web ::HTML {
15
14
16
15
// https://html.spec.whatwg.org/multipage/dom.html#domstringmap
17
- class DOMStringMap final
18
- : public RefCounted<DOMStringMap>
19
- , public Weakable<DOMStringMap>
20
- , public Bindings::Wrappable {
21
- public:
22
- using WrapperType = Bindings::DOMStringMapWrapper;
16
+ class DOMStringMap final : public Bindings::PlatformObject {
17
+ JS_OBJECT (DOMStringMap, Bindings::PlatformObject);
23
18
24
- static NonnullRefPtr<DOMStringMap> create (DOM::Element& associated_element)
25
- {
26
- return adopt_ref (*new DOMStringMap (associated_element));
27
- }
19
+ public:
20
+ static DOMStringMap* create (DOM::Element&);
21
+ explicit DOMStringMap (DOM::Element&);
28
22
29
23
virtual ~DOMStringMap () override ;
30
24
25
+ DOMStringMap& impl () { return *this ; }
26
+
31
27
Vector<String> supported_property_names () const ;
32
28
33
29
String determine_value_of_named_property (String const &) const ;
@@ -38,8 +34,6 @@ class DOMStringMap final
38
34
bool delete_existing_named_property (String const &);
39
35
40
36
private:
41
- DOMStringMap (DOM::Element&);
42
-
43
37
struct NameValuePair {
44
38
String name;
45
39
String value;
@@ -52,3 +46,8 @@ class DOMStringMap final
52
46
};
53
47
54
48
}
49
+
50
+ namespace Web ::Bindings {
51
+ inline JS::Object* wrap (JS::Realm&, Web::HTML::DOMStringMap& object) { return &object; }
52
+ using DOMStringMapWrapper = Web::HTML::DOMStringMap;
53
+ }
0 commit comments