LibJS+LibWeb: Add missing JS_DEFINE_ALLOCATOR() for a bunch of classes

This commit is contained in:
Andreas Kling 2023-12-23 15:15:27 +01:00
parent 11c968fa1f
commit f4fa37afd2
Notes: sideshowbarker 2024-07-17 17:06:59 +09:00
15 changed files with 25 additions and 3 deletions

View file

@ -2563,6 +2563,8 @@ static void generate_named_properties_object_definitions(IDL::Interface const& i
generator.append(R"~~~(
#include <LibWeb/WebIDL/AbstractOperations.h>
JS_DEFINE_ALLOCATOR(@named_properties_class@);
@named_properties_class@::@named_properties_class@(JS::Realm& realm)
: JS::Object(realm, nullptr, MayInterfereWithIndexedPropertyAccess::Yes)
, m_realm(realm)

View file

@ -14,7 +14,7 @@
namespace JS {
JS_DECLARE_ALLOCATOR(AsyncFromSyncIteratorPrototype);
JS_DEFINE_ALLOCATOR(AsyncFromSyncIteratorPrototype);
AsyncFromSyncIteratorPrototype::AsyncFromSyncIteratorPrototype(Realm& realm)
: PrototypeObject(realm.intrinsics().async_iterator_prototype())

View file

@ -10,6 +10,8 @@
namespace JS::Intl {
JS_DEFINE_ALLOCATOR(NumberFormatFunction);
// 15.5.2 Number Format Functions, https://tc39.es/ecma402/#sec-number-format-functions
NonnullGCPtr<NumberFormatFunction> NumberFormatFunction::create(Realm& realm, NumberFormat& number_format)
{

View file

@ -14,6 +14,7 @@ namespace JS::Intl {
class NumberFormatFunction final : public NativeFunction {
JS_OBJECT(NumberFormatFunction, NativeFunction);
JS_DECLARE_ALLOCATOR(NumberFormatFunction);
public:
static NonnullGCPtr<NumberFormatFunction> create(Realm&, NumberFormat&);

View file

@ -11,6 +11,8 @@
namespace JS {
JS_DEFINE_ALLOCATOR(Symbol);
Symbol::Symbol(Optional<String> description, bool is_global)
: m_description(move(description))
, m_is_global(is_global)

View file

@ -14,6 +14,8 @@
namespace JS::Temporal {
JS_DEFINE_ALLOCATOR(DurationConstructor);
// 7.1 The Temporal.Duration Constructor, https://tc39.es/proposal-temporal/#sec-temporal-duration-constructor
DurationConstructor::DurationConstructor(Realm& realm)
: NativeFunction(realm.vm().names.Duration.as_string(), realm.intrinsics().function_prototype())

View file

@ -9,6 +9,8 @@
namespace Web::Animations {
JS_DEFINE_ALLOCATOR(KeyframeEffect);
JS::NonnullGCPtr<KeyframeEffect> KeyframeEffect::create(JS::Realm& realm)
{
return realm.heap().allocate<KeyframeEffect>(realm, realm);

View file

@ -14,6 +14,8 @@
namespace Web::CSS {
JS_DEFINE_ALLOCATOR(CSSFontFaceRule);
JS::NonnullGCPtr<CSSFontFaceRule> CSSFontFaceRule::create(JS::Realm& realm, FontFace&& font_face)
{
return realm.heap().allocate<CSSFontFaceRule>(realm, realm, move(font_face));

View file

@ -11,6 +11,8 @@
namespace Web::FileAPI {
JS_DEFINE_ALLOCATOR(FileList);
JS::NonnullGCPtr<FileList> FileList::create(JS::Realm& realm, Vector<JS::NonnullGCPtr<File>>&& files)
{
return realm.heap().allocate<FileList>(realm, realm, move(files));

View file

@ -20,6 +20,7 @@
namespace Web::HTML {
JS_DEFINE_ALLOCATOR(CustomElementRegistry);
JS_DEFINE_ALLOCATOR(CustomElementDefinition);
CustomElementRegistry::CustomElementRegistry(JS::Realm& realm)

View file

@ -9,6 +9,8 @@
namespace Web::HTML {
JS_DEFINE_ALLOCATOR(HTMLDataListElement);
HTMLDataListElement::HTMLDataListElement(DOM::Document& document, DOM::QualifiedName qualified_name)
: HTMLElement(document, move(qualified_name))
{

View file

@ -8,7 +8,7 @@
namespace Web::HTML {
JS_DECLARE_ALLOCATOR(HTMLDocument);
JS_DEFINE_ALLOCATOR(HTMLDocument);
HTMLDocument::HTMLDocument(JS::Realm& realm, AK::URL const& url)
: Document(realm, url)

View file

@ -36,7 +36,7 @@
namespace Web::HTML {
JS_DECLARE_ALLOCATOR(HTMLElement);
JS_DEFINE_ALLOCATOR(HTMLElement);
HTMLElement::HTMLElement(DOM::Document& document, DOM::QualifiedName qualified_name)
: Element(document, move(qualified_name))

View file

@ -19,6 +19,8 @@
namespace Web::HTML {
JS_DEFINE_ALLOCATOR(HTMLTextAreaElement);
HTMLTextAreaElement::HTMLTextAreaElement(DOM::Document& document, DOM::QualifiedName qualified_name)
: HTMLElement(document, move(qualified_name))
{

View file

@ -10,6 +10,8 @@
namespace Web::HTML {
JS_DEFINE_ALLOCATOR(TrackEvent);
JS::NonnullGCPtr<TrackEvent> TrackEvent::create(JS::Realm& realm, FlyString const& event_name, TrackEventInit event_init)
{
return realm.heap().allocate<TrackEvent>(realm, realm, event_name, move(event_init));