diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp index ed3cebf441..47af5b9eb5 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp @@ -2502,6 +2502,7 @@ static void generate_named_properties_object_declarations(IDL::Interface const& generator.append(R"~~~( class @named_properties_class@ : public JS::Object { JS_OBJECT(@named_properties_class@, JS::Object); + JS_DECLARE_ALLOCATOR(@named_properties_class@); public: explicit @named_properties_class@(JS::Realm&); virtual void initialize(JS::Realm&) override; @@ -3298,7 +3299,7 @@ namespace Web::Bindings { class @namespace_class@ final : public JS::Object { JS_OBJECT(@namespace_class@, JS::Object); - + JS_DECLARE_ALLOCATOR(@namespace_class@); public: explicit @namespace_class@(JS::Realm&); virtual void initialize(JS::Realm&) override; @@ -3395,6 +3396,8 @@ using namespace Web::WebIDL; namespace Web::Bindings { +JS_DEFINE_ALLOCATOR(@namespace_class@); + @namespace_class@::@namespace_class@(JS::Realm& realm) : Object(ConstructWithoutPrototypeTag::Tag, realm) { @@ -3467,6 +3470,7 @@ namespace Web::Bindings { class @constructor_class@ : public JS::NativeFunction { JS_OBJECT(@constructor_class@, JS::NativeFunction); + JS_DECLARE_ALLOCATOR(@constructor_class@); public: explicit @constructor_class@(JS::Realm&); virtual void initialize(JS::Realm&) override; @@ -3619,6 +3623,8 @@ using namespace Web::WebIDL; namespace Web::Bindings { +JS_DEFINE_ALLOCATOR(@constructor_class@); + @constructor_class@::@constructor_class@(JS::Realm& realm) : NativeFunction("@name@"sv, realm.intrinsics().function_prototype()) { @@ -3958,6 +3964,7 @@ namespace Web::Bindings { class @prototype_class@ : public JS::Object { JS_OBJECT(@prototype_class@, JS::Object); + JS_DECLARE_ALLOCATOR(@prototype_class@); public: explicit @prototype_class@(JS::Realm&); virtual void initialize(JS::Realm&) override; @@ -4096,6 +4103,8 @@ using namespace Web::WebIDL; namespace Web::Bindings { +JS_DEFINE_ALLOCATOR(@prototype_class@); + @prototype_class@::@prototype_class@([[maybe_unused]] JS::Realm& realm))~~~"); if (interface.name == "DOMException") { // https://webidl.spec.whatwg.org/#es-DOMException-specialness @@ -4168,6 +4177,7 @@ namespace Web::Bindings { class @prototype_class@ : public JS::Object { JS_OBJECT(@prototype_class@, JS::Object); + JS_DECLARE_ALLOCATOR(@prototype_class@); public: explicit @prototype_class@(JS::Realm&); virtual void initialize(JS::Realm&) override; @@ -4241,6 +4251,8 @@ using namespace Web::WebIDL; namespace Web::Bindings { +JS_DEFINE_ALLOCATOR(@prototype_class@); + @prototype_class@::@prototype_class@(JS::Realm& realm) : Object(ConstructWithPrototypeTag::Tag, realm.intrinsics().iterator_prototype()) { diff --git a/Userland/Libraries/LibWeb/Animations/Animation.cpp b/Userland/Libraries/LibWeb/Animations/Animation.cpp index e6b9867f37..76b179d4ee 100644 --- a/Userland/Libraries/LibWeb/Animations/Animation.cpp +++ b/Userland/Libraries/LibWeb/Animations/Animation.cpp @@ -17,6 +17,8 @@ namespace Web::Animations { +JS_DEFINE_ALLOCATOR(Animation); + // https://www.w3.org/TR/web-animations-1/#dom-animation-animation JS::NonnullGCPtr Animation::create(JS::Realm& realm, JS::GCPtr effect, JS::GCPtr timeline) { diff --git a/Userland/Libraries/LibWeb/Animations/Animation.h b/Userland/Libraries/LibWeb/Animations/Animation.h index 1611c999eb..12234acc3b 100644 --- a/Userland/Libraries/LibWeb/Animations/Animation.h +++ b/Userland/Libraries/LibWeb/Animations/Animation.h @@ -15,6 +15,7 @@ namespace Web::Animations { // https://www.w3.org/TR/web-animations-1/#the-animation-interface class Animation : public DOM::EventTarget { WEB_PLATFORM_OBJECT(Animation, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(Animation); public: static JS::NonnullGCPtr create(JS::Realm&, JS::GCPtr, JS::GCPtr); diff --git a/Userland/Libraries/LibWeb/Animations/AnimationEffect.cpp b/Userland/Libraries/LibWeb/Animations/AnimationEffect.cpp index 97e35352a7..2c9d67ee87 100644 --- a/Userland/Libraries/LibWeb/Animations/AnimationEffect.cpp +++ b/Userland/Libraries/LibWeb/Animations/AnimationEffect.cpp @@ -12,6 +12,8 @@ namespace Web::Animations { +JS_DEFINE_ALLOCATOR(AnimationEffect); + JS::NonnullGCPtr AnimationEffect::create(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/Animations/AnimationEffect.h b/Userland/Libraries/LibWeb/Animations/AnimationEffect.h index 075b8a8004..6ed78b1ef4 100644 --- a/Userland/Libraries/LibWeb/Animations/AnimationEffect.h +++ b/Userland/Libraries/LibWeb/Animations/AnimationEffect.h @@ -58,6 +58,7 @@ enum class AnimationDirection { // https://www.w3.org/TR/web-animations-1/#the-animationeffect-interface class AnimationEffect : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(AnimationEffect, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(AnimationEffect); public: static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/Animations/AnimationPlaybackEvent.cpp b/Userland/Libraries/LibWeb/Animations/AnimationPlaybackEvent.cpp index 21bb7420e2..938f3018d2 100644 --- a/Userland/Libraries/LibWeb/Animations/AnimationPlaybackEvent.cpp +++ b/Userland/Libraries/LibWeb/Animations/AnimationPlaybackEvent.cpp @@ -9,6 +9,8 @@ namespace Web::Animations { +JS_DEFINE_ALLOCATOR(AnimationPlaybackEvent); + JS::NonnullGCPtr AnimationPlaybackEvent::create(JS::Realm& realm, FlyString const& event_name, AnimationPlaybackEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/Animations/AnimationPlaybackEvent.h b/Userland/Libraries/LibWeb/Animations/AnimationPlaybackEvent.h index d9666f172a..08523c599e 100644 --- a/Userland/Libraries/LibWeb/Animations/AnimationPlaybackEvent.h +++ b/Userland/Libraries/LibWeb/Animations/AnimationPlaybackEvent.h @@ -20,6 +20,7 @@ struct AnimationPlaybackEventInit : public DOM::EventInit { // https://www.w3.org/TR/web-animations-1/#animationplaybackevent class AnimationPlaybackEvent : public DOM::Event { WEB_PLATFORM_OBJECT(AnimationPlaybackEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(AnimationPlaybackEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, AnimationPlaybackEventInit const& event_init = {}); diff --git a/Userland/Libraries/LibWeb/Animations/AnimationTimeline.cpp b/Userland/Libraries/LibWeb/Animations/AnimationTimeline.cpp index d794f07807..6626891f8b 100644 --- a/Userland/Libraries/LibWeb/Animations/AnimationTimeline.cpp +++ b/Userland/Libraries/LibWeb/Animations/AnimationTimeline.cpp @@ -10,6 +10,8 @@ namespace Web::Animations { +JS_DEFINE_ALLOCATOR(AnimationTimeline); + WebIDL::ExceptionOr AnimationTimeline::set_current_time(Optional value) { if (value == m_current_time) diff --git a/Userland/Libraries/LibWeb/Animations/AnimationTimeline.h b/Userland/Libraries/LibWeb/Animations/AnimationTimeline.h index 48a34a15c3..fc19243000 100644 --- a/Userland/Libraries/LibWeb/Animations/AnimationTimeline.h +++ b/Userland/Libraries/LibWeb/Animations/AnimationTimeline.h @@ -13,6 +13,7 @@ namespace Web::Animations { // https://www.w3.org/TR/web-animations-1/#animationtimeline class AnimationTimeline : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(AnimationTimeline, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(AnimationTimeline); public: Optional current_time() const { return m_current_time; } diff --git a/Userland/Libraries/LibWeb/Animations/DocumentTimeline.cpp b/Userland/Libraries/LibWeb/Animations/DocumentTimeline.cpp index 6484f792c0..6cd27f501d 100644 --- a/Userland/Libraries/LibWeb/Animations/DocumentTimeline.cpp +++ b/Userland/Libraries/LibWeb/Animations/DocumentTimeline.cpp @@ -13,6 +13,8 @@ namespace Web::Animations { +JS_DEFINE_ALLOCATOR(DocumentTimeline); + JS::NonnullGCPtr DocumentTimeline::create(JS::Realm& realm, DOM::Document& document, HighResolutionTime::DOMHighResTimeStamp origin_time) { return realm.heap().allocate(realm, realm, document, origin_time); diff --git a/Userland/Libraries/LibWeb/Animations/DocumentTimeline.h b/Userland/Libraries/LibWeb/Animations/DocumentTimeline.h index 617ac6efb7..7d03c1479c 100644 --- a/Userland/Libraries/LibWeb/Animations/DocumentTimeline.h +++ b/Userland/Libraries/LibWeb/Animations/DocumentTimeline.h @@ -20,6 +20,7 @@ struct DocumentTimelineOptions { // https://www.w3.org/TR/web-animations-1/#the-documenttimeline-interface class DocumentTimeline : public AnimationTimeline { WEB_PLATFORM_OBJECT(DocumentTimeline, AnimationTimeline); + JS_DECLARE_ALLOCATOR(DocumentTimeline); public: static JS::NonnullGCPtr create(JS::Realm&, DOM::Document&, HighResolutionTime::DOMHighResTimeStamp origin_time); diff --git a/Userland/Libraries/LibWeb/Animations/KeyframeEffect.h b/Userland/Libraries/LibWeb/Animations/KeyframeEffect.h index 3dd7b34787..a07b6eed43 100644 --- a/Userland/Libraries/LibWeb/Animations/KeyframeEffect.h +++ b/Userland/Libraries/LibWeb/Animations/KeyframeEffect.h @@ -39,6 +39,7 @@ struct BaseKeyframe { // https://www.w3.org/TR/web-animations-1/#the-keyframeeffect-interface class KeyframeEffect : public AnimationEffect { WEB_PLATFORM_OBJECT(KeyframeEffect, AnimationEffect); + JS_DECLARE_ALLOCATOR(KeyframeEffect); public: static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/Bindings/Intrinsics.cpp b/Userland/Libraries/LibWeb/Bindings/Intrinsics.cpp index 153cd50180..09cab361e3 100644 --- a/Userland/Libraries/LibWeb/Bindings/Intrinsics.cpp +++ b/Userland/Libraries/LibWeb/Bindings/Intrinsics.cpp @@ -12,6 +12,8 @@ namespace Web::Bindings { +JS_DEFINE_ALLOCATOR(Intrinsics); + void Intrinsics::visit_edges(JS::Cell::Visitor& visitor) { Base::visit_edges(visitor); diff --git a/Userland/Libraries/LibWeb/Bindings/Intrinsics.h b/Userland/Libraries/LibWeb/Bindings/Intrinsics.h index 896a143da5..34fa4a3016 100644 --- a/Userland/Libraries/LibWeb/Bindings/Intrinsics.h +++ b/Userland/Libraries/LibWeb/Bindings/Intrinsics.h @@ -18,6 +18,7 @@ namespace Web::Bindings { class Intrinsics final : public JS::Cell { JS_CELL(Intrinsics, JS::Cell); + JS_DECLARE_ALLOCATOR(Intrinsics); public: Intrinsics(JS::Realm& realm) diff --git a/Userland/Libraries/LibWeb/CSS/CSSFontFaceRule.h b/Userland/Libraries/LibWeb/CSS/CSSFontFaceRule.h index 6986b3ae99..543b4ed5c6 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSFontFaceRule.h +++ b/Userland/Libraries/LibWeb/CSS/CSSFontFaceRule.h @@ -14,6 +14,7 @@ namespace Web::CSS { class CSSFontFaceRule final : public CSSRule { WEB_PLATFORM_OBJECT(CSSFontFaceRule, CSSRule); + JS_DECLARE_ALLOCATOR(CSSFontFaceRule); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FontFace&&); diff --git a/Userland/Libraries/LibWeb/CSS/CSSImportRule.cpp b/Userland/Libraries/LibWeb/CSS/CSSImportRule.cpp index 568e2e623b..166605db25 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSImportRule.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSImportRule.cpp @@ -19,6 +19,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(CSSImportRule); + JS::NonnullGCPtr CSSImportRule::create(AK::URL url, DOM::Document& document) { auto& realm = document.realm(); diff --git a/Userland/Libraries/LibWeb/CSS/CSSImportRule.h b/Userland/Libraries/LibWeb/CSS/CSSImportRule.h index 9687ca070e..265f821228 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSImportRule.h +++ b/Userland/Libraries/LibWeb/CSS/CSSImportRule.h @@ -20,6 +20,7 @@ class CSSImportRule final : public CSSRule , public ResourceClient { WEB_PLATFORM_OBJECT(CSSImportRule, CSSRule); + JS_DECLARE_ALLOCATOR(CSSImportRule); public: [[nodiscard]] static JS::NonnullGCPtr create(AK::URL, DOM::Document&); diff --git a/Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.cpp b/Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.cpp index cbeb924583..9e62624a75 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.cpp @@ -11,6 +11,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(CSSKeyframeRule); + JS::NonnullGCPtr CSSKeyframeRule::create(JS::Realm& realm, CSS::Percentage key, Web::CSS::CSSStyleDeclaration& declarations) { return realm.heap().allocate(realm, realm, key, declarations); diff --git a/Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.h b/Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.h index 0d1abdff70..e7a007781d 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.h +++ b/Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.h @@ -18,6 +18,7 @@ namespace Web::CSS { // https://drafts.csswg.org/css-animations/#interface-csskeyframerule class CSSKeyframeRule final : public CSSRule { WEB_PLATFORM_OBJECT(CSSKeyframeRule, CSSRule); + JS_DECLARE_ALLOCATOR(CSSKeyframeRule); public: static JS::NonnullGCPtr create(JS::Realm&, CSS::Percentage key, CSSStyleDeclaration&); diff --git a/Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.cpp b/Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.cpp index be1485df17..aa27054132 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.cpp @@ -10,6 +10,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(CSSKeyframesRule); + JS::NonnullGCPtr CSSKeyframesRule::create(JS::Realm& realm, FlyString name, JS::MarkedVector> keyframes) { return realm.heap().allocate(realm, realm, move(name), move(keyframes)); diff --git a/Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.h b/Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.h index f4e80f7ec4..3ab4899759 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.h +++ b/Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.h @@ -19,6 +19,7 @@ namespace Web::CSS { // https://drafts.csswg.org/css-animations/#interface-csskeyframesrule class CSSKeyframesRule final : public CSSRule { WEB_PLATFORM_OBJECT(CSSKeyframesRule, CSSRule); + JS_DECLARE_ALLOCATOR(CSSKeyframesRule); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString name, JS::MarkedVector>); diff --git a/Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp b/Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp index 51511acea4..77f71256cf 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp @@ -12,6 +12,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(CSSMediaRule); + JS::NonnullGCPtr CSSMediaRule::create(JS::Realm& realm, MediaList& media_queries, CSSRuleList& rules) { return realm.heap().allocate(realm, realm, media_queries, rules); diff --git a/Userland/Libraries/LibWeb/CSS/CSSMediaRule.h b/Userland/Libraries/LibWeb/CSS/CSSMediaRule.h index 80e07fce75..3e110ffef8 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSMediaRule.h +++ b/Userland/Libraries/LibWeb/CSS/CSSMediaRule.h @@ -16,6 +16,7 @@ namespace Web::CSS { // https://www.w3.org/TR/css-conditional-3/#the-cssmediarule-interface class CSSMediaRule final : public CSSConditionRule { WEB_PLATFORM_OBJECT(CSSMediaRule, CSSConditionRule); + JS_DECLARE_ALLOCATOR(CSSMediaRule); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, MediaList& media_queries, CSSRuleList&); diff --git a/Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.cpp b/Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.cpp index 2eb38d5267..374e2e1957 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.cpp @@ -14,6 +14,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(CSSNamespaceRule); + CSSNamespaceRule::CSSNamespaceRule(JS::Realm& realm, Optional prefix, StringView namespace_uri) : CSSRule(realm) , m_namespace_uri(namespace_uri) diff --git a/Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.h b/Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.h index 42d6adcdb8..a667fc1af5 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.h +++ b/Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.h @@ -12,6 +12,7 @@ namespace Web::CSS { class CSSNamespaceRule final : public CSSRule { WEB_PLATFORM_OBJECT(CSSNamespaceRule, CSSRule); + JS_DECLARE_ALLOCATOR(CSSNamespaceRule); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, Optional prefix, StringView namespace_uri); diff --git a/Userland/Libraries/LibWeb/CSS/CSSRuleList.cpp b/Userland/Libraries/LibWeb/CSS/CSSRuleList.cpp index cf86402475..601ed4865f 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSRuleList.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSRuleList.cpp @@ -18,6 +18,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(CSSRuleList); + JS::NonnullGCPtr CSSRuleList::create(JS::Realm& realm, JS::MarkedVector const& rules) { auto rule_list = realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/CSS/CSSRuleList.h b/Userland/Libraries/LibWeb/CSS/CSSRuleList.h index 455a9de93c..0955008fe1 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSRuleList.h +++ b/Userland/Libraries/LibWeb/CSS/CSSRuleList.h @@ -21,6 +21,7 @@ namespace Web::CSS { // https://www.w3.org/TR/cssom/#the-cssrulelist-interface class CSSRuleList : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(CSSRuleList, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(CSSRuleList); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, JS::MarkedVector const&); diff --git a/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp b/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp index 6b2f075b24..6701378036 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp @@ -16,6 +16,10 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(CSSStyleDeclaration); +JS_DEFINE_ALLOCATOR(PropertyOwningCSSStyleDeclaration); +JS_DEFINE_ALLOCATOR(ElementInlineCSSStyleDeclaration); + CSSStyleDeclaration::CSSStyleDeclaration(JS::Realm& realm) : PlatformObject(realm) { diff --git a/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.h b/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.h index e03474272c..33423c0ce3 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.h +++ b/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.h @@ -16,6 +16,7 @@ namespace Web::CSS { class CSSStyleDeclaration : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(CSSStyleDeclaration, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(CSSStyleDeclaration); public: virtual ~CSSStyleDeclaration() = default; @@ -50,6 +51,8 @@ protected: class PropertyOwningCSSStyleDeclaration : public CSSStyleDeclaration { WEB_PLATFORM_OBJECT(PropertyOwningCSSStyleDeclaration, CSSStyleDeclaration); + JS_DECLARE_ALLOCATOR(PropertyOwningCSSStyleDeclaration); + friend class ElementInlineCSSStyleDeclaration; public: @@ -93,6 +96,7 @@ private: class ElementInlineCSSStyleDeclaration final : public PropertyOwningCSSStyleDeclaration { WEB_PLATFORM_OBJECT(ElementInlineCSSStyleDeclaration, PropertyOwningCSSStyleDeclaration); + JS_DECLARE_ALLOCATOR(ElementInlineCSSStyleDeclaration); public: [[nodiscard]] static JS::NonnullGCPtr create(DOM::Element&, Vector, HashMap custom_properties); diff --git a/Userland/Libraries/LibWeb/CSS/CSSStyleRule.cpp b/Userland/Libraries/LibWeb/CSS/CSSStyleRule.cpp index ca57886c8f..ef8a9a2f37 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSStyleRule.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSStyleRule.cpp @@ -12,6 +12,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(CSSStyleRule); + JS::NonnullGCPtr CSSStyleRule::create(JS::Realm& realm, Vector>&& selectors, CSSStyleDeclaration& declaration) { return realm.heap().allocate(realm, realm, move(selectors), declaration); diff --git a/Userland/Libraries/LibWeb/CSS/CSSStyleRule.h b/Userland/Libraries/LibWeb/CSS/CSSStyleRule.h index 0a9c57054a..76386bb719 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSStyleRule.h +++ b/Userland/Libraries/LibWeb/CSS/CSSStyleRule.h @@ -16,6 +16,7 @@ namespace Web::CSS { class CSSStyleRule final : public CSSRule { WEB_PLATFORM_OBJECT(CSSStyleRule, CSSRule); + JS_DECLARE_ALLOCATOR(CSSStyleRule); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, Vector>&&, CSSStyleDeclaration&); diff --git a/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.cpp b/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.cpp index c7eaec44f6..4da64b356c 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.cpp @@ -15,6 +15,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(CSSStyleSheet); + JS::NonnullGCPtr CSSStyleSheet::create(JS::Realm& realm, CSSRuleList& rules, MediaList& media, Optional location) { return realm.heap().allocate(realm, realm, rules, media, move(location)); diff --git a/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.h b/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.h index 9b30c87849..9c4cc71eed 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.h +++ b/Userland/Libraries/LibWeb/CSS/CSSStyleSheet.h @@ -21,6 +21,7 @@ class CSSStyleSheet final : public StyleSheet , public Weakable { WEB_PLATFORM_OBJECT(CSSStyleSheet, StyleSheet); + JS_DECLARE_ALLOCATOR(CSSStyleSheet); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, CSSRuleList&, MediaList&, Optional location); diff --git a/Userland/Libraries/LibWeb/CSS/CSSSupportsRule.cpp b/Userland/Libraries/LibWeb/CSS/CSSSupportsRule.cpp index 80b8ee9b07..3979118a26 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSSupportsRule.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSSupportsRule.cpp @@ -11,6 +11,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(CSSSupportsRule); + JS::NonnullGCPtr CSSSupportsRule::create(JS::Realm& realm, NonnullRefPtr&& supports, CSSRuleList& rules) { return realm.heap().allocate(realm, realm, move(supports), rules); diff --git a/Userland/Libraries/LibWeb/CSS/CSSSupportsRule.h b/Userland/Libraries/LibWeb/CSS/CSSSupportsRule.h index a5e195cb15..f3e59dd83a 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSSupportsRule.h +++ b/Userland/Libraries/LibWeb/CSS/CSSSupportsRule.h @@ -17,6 +17,7 @@ namespace Web::CSS { // https://www.w3.org/TR/css-conditional-3/#the-csssupportsrule-interface class CSSSupportsRule final : public CSSConditionRule { WEB_PLATFORM_OBJECT(CSSSupportsRule, CSSConditionRule); + JS_DECLARE_ALLOCATOR(CSSSupportsRule); public: static JS::NonnullGCPtr create(JS::Realm&, NonnullRefPtr&&, CSSRuleList&); diff --git a/Userland/Libraries/LibWeb/CSS/MediaList.cpp b/Userland/Libraries/LibWeb/CSS/MediaList.cpp index 7deb563cc9..acb2e9bd7c 100644 --- a/Userland/Libraries/LibWeb/CSS/MediaList.cpp +++ b/Userland/Libraries/LibWeb/CSS/MediaList.cpp @@ -13,6 +13,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(MediaList); + JS::NonnullGCPtr MediaList::create(JS::Realm& realm, Vector>&& media) { return realm.heap().allocate(realm, realm, move(media)); diff --git a/Userland/Libraries/LibWeb/CSS/MediaList.h b/Userland/Libraries/LibWeb/CSS/MediaList.h index d5f0a027c1..454304706d 100644 --- a/Userland/Libraries/LibWeb/CSS/MediaList.h +++ b/Userland/Libraries/LibWeb/CSS/MediaList.h @@ -18,6 +18,7 @@ namespace Web::CSS { // https://www.w3.org/TR/cssom-1/#the-medialist-interface class MediaList final : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(MediaList, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(MediaList); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, Vector>&&); diff --git a/Userland/Libraries/LibWeb/CSS/MediaQueryList.cpp b/Userland/Libraries/LibWeb/CSS/MediaQueryList.cpp index 0b3cf39c81..af67ba2745 100644 --- a/Userland/Libraries/LibWeb/CSS/MediaQueryList.cpp +++ b/Userland/Libraries/LibWeb/CSS/MediaQueryList.cpp @@ -15,6 +15,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(MediaQueryList); + JS::NonnullGCPtr MediaQueryList::create(DOM::Document& document, Vector>&& media) { return document.heap().allocate(document.realm(), document, move(media)); diff --git a/Userland/Libraries/LibWeb/CSS/MediaQueryList.h b/Userland/Libraries/LibWeb/CSS/MediaQueryList.h index d554adf31a..b82a471486 100644 --- a/Userland/Libraries/LibWeb/CSS/MediaQueryList.h +++ b/Userland/Libraries/LibWeb/CSS/MediaQueryList.h @@ -15,6 +15,7 @@ namespace Web::CSS { // 4.2. The MediaQueryList Interface, https://drafts.csswg.org/cssom-view/#the-mediaquerylist-interface class MediaQueryList final : public DOM::EventTarget { WEB_PLATFORM_OBJECT(MediaQueryList, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(MediaQueryList); public: [[nodiscard]] static JS::NonnullGCPtr create(DOM::Document&, Vector>&&); diff --git a/Userland/Libraries/LibWeb/CSS/MediaQueryListEvent.cpp b/Userland/Libraries/LibWeb/CSS/MediaQueryListEvent.cpp index 137092c4e5..36d618fd8a 100644 --- a/Userland/Libraries/LibWeb/CSS/MediaQueryListEvent.cpp +++ b/Userland/Libraries/LibWeb/CSS/MediaQueryListEvent.cpp @@ -10,6 +10,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(MediaQueryListEvent); + JS::NonnullGCPtr MediaQueryListEvent::construct_impl(JS::Realm& realm, FlyString const& event_name, MediaQueryListEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/CSS/MediaQueryListEvent.h b/Userland/Libraries/LibWeb/CSS/MediaQueryListEvent.h index 3dcb7ac41e..0898a62d2c 100644 --- a/Userland/Libraries/LibWeb/CSS/MediaQueryListEvent.h +++ b/Userland/Libraries/LibWeb/CSS/MediaQueryListEvent.h @@ -18,6 +18,7 @@ struct MediaQueryListEventInit : public DOM::EventInit { class MediaQueryListEvent final : public DOM::Event { WEB_PLATFORM_OBJECT(MediaQueryListEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(MediaQueryListEvent); public: [[nodiscard]] static JS::NonnullGCPtr construct_impl(JS::Realm&, FlyString const& event_name, MediaQueryListEventInit const& = {}); diff --git a/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp b/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp index fa5816286e..e6eb36754e 100644 --- a/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp +++ b/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp @@ -44,6 +44,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(ResolvedCSSStyleDeclaration); + JS::NonnullGCPtr ResolvedCSSStyleDeclaration::create(DOM::Element& element) { return element.realm().heap().allocate(element.realm(), element); diff --git a/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.h b/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.h index 6b3d8c5222..f736277a64 100644 --- a/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.h +++ b/Userland/Libraries/LibWeb/CSS/ResolvedCSSStyleDeclaration.h @@ -12,6 +12,7 @@ namespace Web::CSS { class ResolvedCSSStyleDeclaration final : public CSSStyleDeclaration { WEB_PLATFORM_OBJECT(ResolvedCSSStyleDeclaration, CSSStyleDeclaration); + JS_DECLARE_ALLOCATOR(ResolvedCSSStyleDeclaration); public: [[nodiscard]] static JS::NonnullGCPtr create(DOM::Element&); diff --git a/Userland/Libraries/LibWeb/CSS/Screen.cpp b/Userland/Libraries/LibWeb/CSS/Screen.cpp index 2797026faf..8c84ecacd2 100644 --- a/Userland/Libraries/LibWeb/CSS/Screen.cpp +++ b/Userland/Libraries/LibWeb/CSS/Screen.cpp @@ -13,6 +13,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(Screen); + JS::NonnullGCPtr Screen::create(HTML::Window& window) { return window.heap().allocate(window.realm(), window); diff --git a/Userland/Libraries/LibWeb/CSS/Screen.h b/Userland/Libraries/LibWeb/CSS/Screen.h index a416576e46..8fa0a8e0c1 100644 --- a/Userland/Libraries/LibWeb/CSS/Screen.h +++ b/Userland/Libraries/LibWeb/CSS/Screen.h @@ -15,6 +15,7 @@ namespace Web::CSS { class Screen final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Screen, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Screen); public: [[nodiscard]] static JS::NonnullGCPtr create(HTML::Window&); diff --git a/Userland/Libraries/LibWeb/CSS/StyleSheetList.cpp b/Userland/Libraries/LibWeb/CSS/StyleSheetList.cpp index d61807cdd8..33e711bed4 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleSheetList.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleSheetList.cpp @@ -13,6 +13,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(StyleSheetList); + void StyleSheetList::add_sheet(CSSStyleSheet& sheet) { sheet.set_style_sheet_list({}, this); diff --git a/Userland/Libraries/LibWeb/CSS/StyleSheetList.h b/Userland/Libraries/LibWeb/CSS/StyleSheetList.h index 5cdc22d7f7..a6ebfcce24 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleSheetList.h +++ b/Userland/Libraries/LibWeb/CSS/StyleSheetList.h @@ -12,8 +12,9 @@ namespace Web::CSS { -class StyleSheetList : public Bindings::LegacyPlatformObject { +class StyleSheetList final : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(StyleSheetList, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(StyleSheetList); public: [[nodiscard]] static JS::NonnullGCPtr create(DOM::Document&); diff --git a/Userland/Libraries/LibWeb/CSS/VisualViewport.cpp b/Userland/Libraries/LibWeb/CSS/VisualViewport.cpp index 7089f4055c..2001e79270 100644 --- a/Userland/Libraries/LibWeb/CSS/VisualViewport.cpp +++ b/Userland/Libraries/LibWeb/CSS/VisualViewport.cpp @@ -15,6 +15,8 @@ namespace Web::CSS { +JS_DEFINE_ALLOCATOR(VisualViewport); + JS::NonnullGCPtr VisualViewport::create(DOM::Document& document) { return document.heap().allocate(document.realm(), document); diff --git a/Userland/Libraries/LibWeb/CSS/VisualViewport.h b/Userland/Libraries/LibWeb/CSS/VisualViewport.h index c471bb7fe4..e22766cfe0 100644 --- a/Userland/Libraries/LibWeb/CSS/VisualViewport.h +++ b/Userland/Libraries/LibWeb/CSS/VisualViewport.h @@ -13,6 +13,7 @@ namespace Web::CSS { // https://drafts.csswg.org/cssom-view/#visualviewport class VisualViewport final : public DOM::EventTarget { WEB_PLATFORM_OBJECT(VisualViewport, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(VisualViewport); public: [[nodiscard]] static JS::NonnullGCPtr create(DOM::Document&); diff --git a/Userland/Libraries/LibWeb/Clipboard/Clipboard.cpp b/Userland/Libraries/LibWeb/Clipboard/Clipboard.cpp index 8a07fbeb4f..5c0c1b0879 100644 --- a/Userland/Libraries/LibWeb/Clipboard/Clipboard.cpp +++ b/Userland/Libraries/LibWeb/Clipboard/Clipboard.cpp @@ -19,6 +19,8 @@ namespace Web::Clipboard { +JS_DEFINE_ALLOCATOR(Clipboard); + WebIDL::ExceptionOr> Clipboard::construct_impl(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/Clipboard/Clipboard.h b/Userland/Libraries/LibWeb/Clipboard/Clipboard.h index 21553d61b3..761379e487 100644 --- a/Userland/Libraries/LibWeb/Clipboard/Clipboard.h +++ b/Userland/Libraries/LibWeb/Clipboard/Clipboard.h @@ -17,6 +17,7 @@ namespace Web::Clipboard { class Clipboard final : public DOM::EventTarget { WEB_PLATFORM_OBJECT(Clipboard, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(Clipboard); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/Crypto/Crypto.cpp b/Userland/Libraries/LibWeb/Crypto/Crypto.cpp index 43d7476dd8..0779adbdce 100644 --- a/Userland/Libraries/LibWeb/Crypto/Crypto.cpp +++ b/Userland/Libraries/LibWeb/Crypto/Crypto.cpp @@ -15,6 +15,8 @@ namespace Web::Crypto { +JS_DEFINE_ALLOCATOR(Crypto); + JS::NonnullGCPtr Crypto::create(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/Crypto/Crypto.h b/Userland/Libraries/LibWeb/Crypto/Crypto.h index bfb6fb3440..76b6eaad8a 100644 --- a/Userland/Libraries/LibWeb/Crypto/Crypto.h +++ b/Userland/Libraries/LibWeb/Crypto/Crypto.h @@ -14,6 +14,7 @@ namespace Web::Crypto { class Crypto : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Crypto, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Crypto); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp b/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp index 4eb7aa24f9..442e176afc 100644 --- a/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp +++ b/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp @@ -14,6 +14,8 @@ namespace Web::Crypto { +JS_DEFINE_ALLOCATOR(SubtleCrypto); + JS::NonnullGCPtr SubtleCrypto::create(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.h b/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.h index 42203505cc..886e9327e8 100644 --- a/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.h +++ b/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.h @@ -13,6 +13,7 @@ namespace Web::Crypto { class SubtleCrypto final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(SubtleCrypto, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(SubtleCrypto); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/DOM/AbortController.cpp b/Userland/Libraries/LibWeb/DOM/AbortController.cpp index b767dacabb..61b387dcd8 100644 --- a/Userland/Libraries/LibWeb/DOM/AbortController.cpp +++ b/Userland/Libraries/LibWeb/DOM/AbortController.cpp @@ -10,6 +10,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(AbortController); + WebIDL::ExceptionOr> AbortController::construct_impl(JS::Realm& realm) { auto signal = TRY(AbortSignal::construct_impl(realm)); diff --git a/Userland/Libraries/LibWeb/DOM/AbortController.h b/Userland/Libraries/LibWeb/DOM/AbortController.h index 9f1944fe43..76ffbadf8a 100644 --- a/Userland/Libraries/LibWeb/DOM/AbortController.h +++ b/Userland/Libraries/LibWeb/DOM/AbortController.h @@ -14,6 +14,7 @@ namespace Web::DOM { // https://dom.spec.whatwg.org/#abortcontroller class AbortController final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(AbortController, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(AbortController); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/DOM/AbortSignal.cpp b/Userland/Libraries/LibWeb/DOM/AbortSignal.cpp index ceb8fe88f0..009dc044f4 100644 --- a/Userland/Libraries/LibWeb/DOM/AbortSignal.cpp +++ b/Userland/Libraries/LibWeb/DOM/AbortSignal.cpp @@ -12,6 +12,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(AbortSignal); + WebIDL::ExceptionOr> AbortSignal::construct_impl(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/DOM/AbortSignal.h b/Userland/Libraries/LibWeb/DOM/AbortSignal.h index 79a40a2b2d..4abdb94a57 100644 --- a/Userland/Libraries/LibWeb/DOM/AbortSignal.h +++ b/Userland/Libraries/LibWeb/DOM/AbortSignal.h @@ -17,6 +17,7 @@ namespace Web::DOM { // https://dom.spec.whatwg.org/#abortsignal class AbortSignal final : public EventTarget { WEB_PLATFORM_OBJECT(AbortSignal, EventTarget); + JS_DECLARE_ALLOCATOR(AbortSignal); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/DOM/AccessibilityTreeNode.cpp b/Userland/Libraries/LibWeb/DOM/AccessibilityTreeNode.cpp index 1cef74149b..61cc30a36f 100644 --- a/Userland/Libraries/LibWeb/DOM/AccessibilityTreeNode.cpp +++ b/Userland/Libraries/LibWeb/DOM/AccessibilityTreeNode.cpp @@ -13,6 +13,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(AccessibilityTreeNode); + JS::NonnullGCPtr AccessibilityTreeNode::create(Document* document, DOM::Node const* value) { return document->heap().allocate(document->realm(), value); diff --git a/Userland/Libraries/LibWeb/DOM/AccessibilityTreeNode.h b/Userland/Libraries/LibWeb/DOM/AccessibilityTreeNode.h index 9b7301b3c8..123eadfbc8 100644 --- a/Userland/Libraries/LibWeb/DOM/AccessibilityTreeNode.h +++ b/Userland/Libraries/LibWeb/DOM/AccessibilityTreeNode.h @@ -9,13 +9,16 @@ #include #include #include +#include #include #include namespace Web::DOM { class AccessibilityTreeNode final : public JS::Cell { - JS_CELL(AccessibilityTreeNode, JS::Cell) + JS_CELL(AccessibilityTreeNode, JS::Cell); + JS_DECLARE_ALLOCATOR(AccessibilityTreeNode); + public: static JS::NonnullGCPtr create(Document*, DOM::Node const*); virtual ~AccessibilityTreeNode() override = default; diff --git a/Userland/Libraries/LibWeb/DOM/Attr.cpp b/Userland/Libraries/LibWeb/DOM/Attr.cpp index d9654e59b9..a9ae2e9bbd 100644 --- a/Userland/Libraries/LibWeb/DOM/Attr.cpp +++ b/Userland/Libraries/LibWeb/DOM/Attr.cpp @@ -15,6 +15,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(Attr); + JS::NonnullGCPtr Attr::create(Document& document, FlyString local_name, String value, Element* owner_element) { return document.heap().allocate(document.realm(), document, QualifiedName(move(local_name), Optional {}, Optional {}), move(value), owner_element); diff --git a/Userland/Libraries/LibWeb/DOM/Attr.h b/Userland/Libraries/LibWeb/DOM/Attr.h index 5375996de2..458ff29346 100644 --- a/Userland/Libraries/LibWeb/DOM/Attr.h +++ b/Userland/Libraries/LibWeb/DOM/Attr.h @@ -15,6 +15,7 @@ namespace Web::DOM { // https://dom.spec.whatwg.org/#attr class Attr final : public Node { WEB_PLATFORM_OBJECT(Attr, Node); + JS_DECLARE_ALLOCATOR(Attr); public: [[nodiscard]] static JS::NonnullGCPtr create(Document&, QualifiedName, String value = {}, Element* = nullptr); diff --git a/Userland/Libraries/LibWeb/DOM/CDATASection.cpp b/Userland/Libraries/LibWeb/DOM/CDATASection.cpp index f48255ae2d..d65f5ead0e 100644 --- a/Userland/Libraries/LibWeb/DOM/CDATASection.cpp +++ b/Userland/Libraries/LibWeb/DOM/CDATASection.cpp @@ -9,6 +9,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(CDATASection); + CDATASection::CDATASection(Document& document, String const& data) : Text(document, NodeType::CDATA_SECTION_NODE, data) { diff --git a/Userland/Libraries/LibWeb/DOM/CDATASection.h b/Userland/Libraries/LibWeb/DOM/CDATASection.h index b2d831344a..4279570f17 100644 --- a/Userland/Libraries/LibWeb/DOM/CDATASection.h +++ b/Userland/Libraries/LibWeb/DOM/CDATASection.h @@ -13,6 +13,7 @@ namespace Web::DOM { class CDATASection final : public Text { WEB_PLATFORM_OBJECT(CDATASection, Text); + JS_DECLARE_ALLOCATOR(CDATASection); public: virtual ~CDATASection() override; diff --git a/Userland/Libraries/LibWeb/DOM/CharacterData.cpp b/Userland/Libraries/LibWeb/DOM/CharacterData.cpp index 4c3ceeda61..050d3e365b 100644 --- a/Userland/Libraries/LibWeb/DOM/CharacterData.cpp +++ b/Userland/Libraries/LibWeb/DOM/CharacterData.cpp @@ -14,6 +14,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(CharacterData); + CharacterData::CharacterData(Document& document, NodeType type, String const& data) : Node(document, type) , m_data(data) diff --git a/Userland/Libraries/LibWeb/DOM/CharacterData.h b/Userland/Libraries/LibWeb/DOM/CharacterData.h index 491065e5d0..2897adeb2b 100644 --- a/Userland/Libraries/LibWeb/DOM/CharacterData.h +++ b/Userland/Libraries/LibWeb/DOM/CharacterData.h @@ -18,6 +18,7 @@ class CharacterData , public ChildNode , public NonDocumentTypeChildNode { WEB_PLATFORM_OBJECT(CharacterData, Node); + JS_DECLARE_ALLOCATOR(CharacterData); public: virtual ~CharacterData() override = default; diff --git a/Userland/Libraries/LibWeb/DOM/Comment.cpp b/Userland/Libraries/LibWeb/DOM/Comment.cpp index a0f36e965b..0e67656729 100644 --- a/Userland/Libraries/LibWeb/DOM/Comment.cpp +++ b/Userland/Libraries/LibWeb/DOM/Comment.cpp @@ -11,6 +11,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(Comment); + Comment::Comment(Document& document, String const& data) : CharacterData(document, NodeType::COMMENT_NODE, data) { diff --git a/Userland/Libraries/LibWeb/DOM/Comment.h b/Userland/Libraries/LibWeb/DOM/Comment.h index 9b0f97591f..7ee23b8c9b 100644 --- a/Userland/Libraries/LibWeb/DOM/Comment.h +++ b/Userland/Libraries/LibWeb/DOM/Comment.h @@ -12,6 +12,7 @@ namespace Web::DOM { class Comment final : public CharacterData { WEB_PLATFORM_OBJECT(Comment, CharacterData); + JS_DECLARE_ALLOCATOR(Comment); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, String const& data); diff --git a/Userland/Libraries/LibWeb/DOM/CustomEvent.cpp b/Userland/Libraries/LibWeb/DOM/CustomEvent.cpp index 5f9e2ec275..31122fc203 100644 --- a/Userland/Libraries/LibWeb/DOM/CustomEvent.cpp +++ b/Userland/Libraries/LibWeb/DOM/CustomEvent.cpp @@ -11,6 +11,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(CustomEvent); + JS::NonnullGCPtr CustomEvent::create(JS::Realm& realm, FlyString const& event_name, CustomEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/DOM/CustomEvent.h b/Userland/Libraries/LibWeb/DOM/CustomEvent.h index 9c92bfa4b9..a6723403dd 100644 --- a/Userland/Libraries/LibWeb/DOM/CustomEvent.h +++ b/Userland/Libraries/LibWeb/DOM/CustomEvent.h @@ -19,6 +19,7 @@ struct CustomEventInit : public EventInit { // https://dom.spec.whatwg.org/#customevent class CustomEvent : public Event { WEB_PLATFORM_OBJECT(CustomEvent, Event); + JS_DECLARE_ALLOCATOR(CustomEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, CustomEventInit const& = {}); diff --git a/Userland/Libraries/LibWeb/DOM/DOMEventListener.cpp b/Userland/Libraries/LibWeb/DOM/DOMEventListener.cpp index bdd3c988ac..64630eba75 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMEventListener.cpp +++ b/Userland/Libraries/LibWeb/DOM/DOMEventListener.cpp @@ -10,6 +10,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(DOMEventListener); + DOMEventListener::DOMEventListener() = default; DOMEventListener::~DOMEventListener() = default; diff --git a/Userland/Libraries/LibWeb/DOM/DOMEventListener.h b/Userland/Libraries/LibWeb/DOM/DOMEventListener.h index fa0f8bbec0..1afb54e05f 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMEventListener.h +++ b/Userland/Libraries/LibWeb/DOM/DOMEventListener.h @@ -17,6 +17,7 @@ namespace Web::DOM { // NOTE: The spec calls this "event listener", and it's *importantly* not the same as "EventListener" class DOMEventListener : public JS::Cell { JS_CELL(DOMEventListener, JS::Cell); + JS_DECLARE_ALLOCATOR(DOMEventListener); public: DOMEventListener(); diff --git a/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp b/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp index 6089b9bbef..4f53ce7b2f 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp +++ b/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp @@ -17,6 +17,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(DOMImplementation); + JS::NonnullGCPtr DOMImplementation::create(Document& document) { auto& realm = document.realm(); diff --git a/Userland/Libraries/LibWeb/DOM/DOMImplementation.h b/Userland/Libraries/LibWeb/DOM/DOMImplementation.h index ab23f25a6b..f9b777aa92 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMImplementation.h +++ b/Userland/Libraries/LibWeb/DOM/DOMImplementation.h @@ -15,6 +15,7 @@ namespace Web::DOM { class DOMImplementation final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(DOMImplementation, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(DOMImplementation); public: [[nodiscard]] static JS::NonnullGCPtr create(Document&); diff --git a/Userland/Libraries/LibWeb/DOM/DOMTokenList.cpp b/Userland/Libraries/LibWeb/DOM/DOMTokenList.cpp index e6d3303157..637598ecbb 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMTokenList.cpp +++ b/Userland/Libraries/LibWeb/DOM/DOMTokenList.cpp @@ -52,6 +52,8 @@ inline void replace_in_ordered_set(Vector& set, String const& item, Stri namespace Web::DOM { +JS_DEFINE_ALLOCATOR(DOMTokenList); + JS::NonnullGCPtr DOMTokenList::create(Element& associated_element, FlyString associated_attribute) { auto& realm = associated_element.realm(); diff --git a/Userland/Libraries/LibWeb/DOM/DOMTokenList.h b/Userland/Libraries/LibWeb/DOM/DOMTokenList.h index 5c0352d87d..b986dc808e 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMTokenList.h +++ b/Userland/Libraries/LibWeb/DOM/DOMTokenList.h @@ -22,6 +22,7 @@ namespace Web::DOM { // https://dom.spec.whatwg.org/#domtokenlist class DOMTokenList final : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(DOMTokenList, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(DOMTokenList); public: [[nodiscard]] static JS::NonnullGCPtr create(Element& associated_element, FlyString associated_attribute); diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp index 58a901f227..f4e55357ad 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.cpp +++ b/Userland/Libraries/LibWeb/DOM/Document.cpp @@ -106,6 +106,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(Document); + // https://html.spec.whatwg.org/multipage/origin.html#obtain-browsing-context-navigation static JS::NonnullGCPtr obtain_a_browsing_context_to_use_for_a_navigation_response( HTML::BrowsingContext& browsing_context, diff --git a/Userland/Libraries/LibWeb/DOM/Document.h b/Userland/Libraries/LibWeb/DOM/Document.h index b633b72e84..35ada02356 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.h +++ b/Userland/Libraries/LibWeb/DOM/Document.h @@ -81,6 +81,7 @@ class Document , public NonElementParentNode , public HTML::GlobalEventHandlers { WEB_PLATFORM_OBJECT(Document, ParentNode); + JS_DECLARE_ALLOCATOR(Document); public: enum class Type { diff --git a/Userland/Libraries/LibWeb/DOM/DocumentFragment.cpp b/Userland/Libraries/LibWeb/DOM/DocumentFragment.cpp index 890eeee8d0..4100968fd1 100644 --- a/Userland/Libraries/LibWeb/DOM/DocumentFragment.cpp +++ b/Userland/Libraries/LibWeb/DOM/DocumentFragment.cpp @@ -9,6 +9,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(DocumentFragment); + DocumentFragment::DocumentFragment(Document& document) : ParentNode(document, NodeType::DOCUMENT_FRAGMENT_NODE) { diff --git a/Userland/Libraries/LibWeb/DOM/DocumentFragment.h b/Userland/Libraries/LibWeb/DOM/DocumentFragment.h index e2db8eb523..89556b2e1e 100644 --- a/Userland/Libraries/LibWeb/DOM/DocumentFragment.h +++ b/Userland/Libraries/LibWeb/DOM/DocumentFragment.h @@ -16,6 +16,7 @@ class DocumentFragment : public ParentNode , public NonElementParentNode { WEB_PLATFORM_OBJECT(DocumentFragment, ParentNode); + JS_DECLARE_ALLOCATOR(DocumentFragment); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm& realm); diff --git a/Userland/Libraries/LibWeb/DOM/DocumentObserver.cpp b/Userland/Libraries/LibWeb/DOM/DocumentObserver.cpp index d1e1c19610..cae3266613 100644 --- a/Userland/Libraries/LibWeb/DOM/DocumentObserver.cpp +++ b/Userland/Libraries/LibWeb/DOM/DocumentObserver.cpp @@ -10,6 +10,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(DocumentObserver); + DocumentObserver::DocumentObserver(JS::Realm& realm, DOM::Document& document) : Bindings::PlatformObject(realm) , m_document(document) diff --git a/Userland/Libraries/LibWeb/DOM/DocumentObserver.h b/Userland/Libraries/LibWeb/DOM/DocumentObserver.h index d48152ae01..d62a602ff8 100644 --- a/Userland/Libraries/LibWeb/DOM/DocumentObserver.h +++ b/Userland/Libraries/LibWeb/DOM/DocumentObserver.h @@ -16,6 +16,7 @@ namespace Web::DOM { class DocumentObserver final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(DocumentObserver, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(DocumentObserver); public: [[nodiscard]] JS::GCPtr> document_became_inactive() const { return m_document_became_inactive; } diff --git a/Userland/Libraries/LibWeb/DOM/DocumentType.cpp b/Userland/Libraries/LibWeb/DOM/DocumentType.cpp index 567ff1eca0..aa53139c04 100644 --- a/Userland/Libraries/LibWeb/DOM/DocumentType.cpp +++ b/Userland/Libraries/LibWeb/DOM/DocumentType.cpp @@ -9,6 +9,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(DocumentType); + JS::NonnullGCPtr DocumentType::create(Document& document) { return document.heap().allocate(document.realm(), document); diff --git a/Userland/Libraries/LibWeb/DOM/DocumentType.h b/Userland/Libraries/LibWeb/DOM/DocumentType.h index 2acdc1d488..26bd59a51d 100644 --- a/Userland/Libraries/LibWeb/DOM/DocumentType.h +++ b/Userland/Libraries/LibWeb/DOM/DocumentType.h @@ -16,6 +16,7 @@ class DocumentType final : public Node , public ChildNode { WEB_PLATFORM_OBJECT(DocumentType, Node); + JS_DECLARE_ALLOCATOR(DocumentType); public: [[nodiscard]] static JS::NonnullGCPtr create(Document&); diff --git a/Userland/Libraries/LibWeb/DOM/Event.cpp b/Userland/Libraries/LibWeb/DOM/Event.cpp index 7491e54450..3a4fe8dc92 100644 --- a/Userland/Libraries/LibWeb/DOM/Event.cpp +++ b/Userland/Libraries/LibWeb/DOM/Event.cpp @@ -14,6 +14,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(Event); + JS::NonnullGCPtr Event::create(JS::Realm& realm, FlyString const& event_name, EventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/DOM/Event.h b/Userland/Libraries/LibWeb/DOM/Event.h index b6645130bb..3dd77c7eb4 100644 --- a/Userland/Libraries/LibWeb/DOM/Event.h +++ b/Userland/Libraries/LibWeb/DOM/Event.h @@ -20,6 +20,7 @@ struct EventInit { class Event : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Event, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Event); public: enum Phase : u16 { diff --git a/Userland/Libraries/LibWeb/DOM/HTMLCollection.cpp b/Userland/Libraries/LibWeb/DOM/HTMLCollection.cpp index 38ac0940ab..088ca3223b 100644 --- a/Userland/Libraries/LibWeb/DOM/HTMLCollection.cpp +++ b/Userland/Libraries/LibWeb/DOM/HTMLCollection.cpp @@ -13,6 +13,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(HTMLCollection); + JS::NonnullGCPtr HTMLCollection::create(ParentNode& root, Scope scope, Function filter) { return root.heap().allocate(root.realm(), root, scope, move(filter)); diff --git a/Userland/Libraries/LibWeb/DOM/HTMLCollection.h b/Userland/Libraries/LibWeb/DOM/HTMLCollection.h index c94724b1ba..3b28e7967d 100644 --- a/Userland/Libraries/LibWeb/DOM/HTMLCollection.h +++ b/Userland/Libraries/LibWeb/DOM/HTMLCollection.h @@ -27,6 +27,7 @@ namespace Web::DOM { class HTMLCollection : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(HTMLCollection, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(HTMLCollection); public: enum class Scope { diff --git a/Userland/Libraries/LibWeb/DOM/HTMLFormControlsCollection.cpp b/Userland/Libraries/LibWeb/DOM/HTMLFormControlsCollection.cpp index be5485f95b..ae3fafdb3c 100644 --- a/Userland/Libraries/LibWeb/DOM/HTMLFormControlsCollection.cpp +++ b/Userland/Libraries/LibWeb/DOM/HTMLFormControlsCollection.cpp @@ -12,6 +12,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(HTMLFormControlsCollection); + JS::NonnullGCPtr HTMLFormControlsCollection::create(ParentNode& root, Scope scope, Function filter) { return root.heap().allocate(root.realm(), root, scope, move(filter)); diff --git a/Userland/Libraries/LibWeb/DOM/HTMLFormControlsCollection.h b/Userland/Libraries/LibWeb/DOM/HTMLFormControlsCollection.h index 7fd1e36fac..aa20f0c540 100644 --- a/Userland/Libraries/LibWeb/DOM/HTMLFormControlsCollection.h +++ b/Userland/Libraries/LibWeb/DOM/HTMLFormControlsCollection.h @@ -13,6 +13,7 @@ namespace Web::DOM { class HTMLFormControlsCollection : public HTMLCollection { WEB_PLATFORM_OBJECT(HTMLFormControlsCollection, HTMLCollection); + JS_DECLARE_ALLOCATOR(HTMLFormControlsCollection); public: [[nodiscard]] static JS::NonnullGCPtr create(ParentNode& root, Scope, Function filter); diff --git a/Userland/Libraries/LibWeb/DOM/LiveNodeList.cpp b/Userland/Libraries/LibWeb/DOM/LiveNodeList.cpp index 2908cd740b..10b6169ab6 100644 --- a/Userland/Libraries/LibWeb/DOM/LiveNodeList.cpp +++ b/Userland/Libraries/LibWeb/DOM/LiveNodeList.cpp @@ -12,6 +12,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(LiveNodeList); + JS::NonnullGCPtr LiveNodeList::create(JS::Realm& realm, Node& root, Scope scope, Function filter) { return realm.heap().allocate(realm, realm, root, scope, move(filter)); diff --git a/Userland/Libraries/LibWeb/DOM/LiveNodeList.h b/Userland/Libraries/LibWeb/DOM/LiveNodeList.h index b99fcadde0..99de8533f4 100644 --- a/Userland/Libraries/LibWeb/DOM/LiveNodeList.h +++ b/Userland/Libraries/LibWeb/DOM/LiveNodeList.h @@ -16,6 +16,7 @@ namespace Web::DOM { class LiveNodeList : public NodeList { WEB_PLATFORM_OBJECT(LiveNodeList, NodeList); + JS_DECLARE_ALLOCATOR(LiveNodeList); public: enum class Scope { diff --git a/Userland/Libraries/LibWeb/DOM/MutationObserver.cpp b/Userland/Libraries/LibWeb/DOM/MutationObserver.cpp index 0be0af7e1d..d6cf1927a0 100644 --- a/Userland/Libraries/LibWeb/DOM/MutationObserver.cpp +++ b/Userland/Libraries/LibWeb/DOM/MutationObserver.cpp @@ -11,6 +11,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(MutationObserver); + WebIDL::ExceptionOr> MutationObserver::construct_impl(JS::Realm& realm, JS::GCPtr callback) { return realm.heap().allocate(realm, realm, callback); diff --git a/Userland/Libraries/LibWeb/DOM/MutationObserver.h b/Userland/Libraries/LibWeb/DOM/MutationObserver.h index 0428991814..dae9ba3d1e 100644 --- a/Userland/Libraries/LibWeb/DOM/MutationObserver.h +++ b/Userland/Libraries/LibWeb/DOM/MutationObserver.h @@ -29,6 +29,7 @@ struct MutationObserverInit { // https://dom.spec.whatwg.org/#mutationobserver class MutationObserver final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(MutationObserver, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(MutationObserver); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, JS::GCPtr); diff --git a/Userland/Libraries/LibWeb/DOM/MutationRecord.cpp b/Userland/Libraries/LibWeb/DOM/MutationRecord.cpp index f71a481de0..2d6ed58b1b 100644 --- a/Userland/Libraries/LibWeb/DOM/MutationRecord.cpp +++ b/Userland/Libraries/LibWeb/DOM/MutationRecord.cpp @@ -12,6 +12,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(MutationRecord); + JS::NonnullGCPtr MutationRecord::create(JS::Realm& realm, FlyString const& type, Node const& target, NodeList& added_nodes, NodeList& removed_nodes, Node* previous_sibling, Node* next_sibling, Optional const& attribute_name, Optional const& attribute_namespace, Optional const& old_value) { return realm.heap().allocate(realm, realm, type, target, added_nodes, removed_nodes, previous_sibling, next_sibling, attribute_name, attribute_namespace, old_value); diff --git a/Userland/Libraries/LibWeb/DOM/MutationRecord.h b/Userland/Libraries/LibWeb/DOM/MutationRecord.h index 6d89813aec..aba2333a56 100644 --- a/Userland/Libraries/LibWeb/DOM/MutationRecord.h +++ b/Userland/Libraries/LibWeb/DOM/MutationRecord.h @@ -14,6 +14,7 @@ namespace Web::DOM { // https://dom.spec.whatwg.org/#mutationrecord class MutationRecord : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(MutationRecord, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(MutationRecord); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& type, Node const& target, NodeList& added_nodes, NodeList& removed_nodes, Node* previous_sibling, Node* next_sibling, Optional const& attribute_name, Optional const& attribute_namespace, Optional const& old_value); diff --git a/Userland/Libraries/LibWeb/DOM/NamedNodeMap.cpp b/Userland/Libraries/LibWeb/DOM/NamedNodeMap.cpp index 912fd2b484..8e6c713b33 100644 --- a/Userland/Libraries/LibWeb/DOM/NamedNodeMap.cpp +++ b/Userland/Libraries/LibWeb/DOM/NamedNodeMap.cpp @@ -13,6 +13,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(NamedNodeMap); + JS::NonnullGCPtr NamedNodeMap::create(Element& element) { auto& realm = element.realm(); diff --git a/Userland/Libraries/LibWeb/DOM/NamedNodeMap.h b/Userland/Libraries/LibWeb/DOM/NamedNodeMap.h index 3c1591f97e..8dd2c19b0f 100644 --- a/Userland/Libraries/LibWeb/DOM/NamedNodeMap.h +++ b/Userland/Libraries/LibWeb/DOM/NamedNodeMap.h @@ -20,6 +20,7 @@ namespace Web::DOM { // https://dom.spec.whatwg.org/#interface-namednodemap class NamedNodeMap : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(NamedNodeMap, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(NamedNodeMap); public: [[nodiscard]] static JS::NonnullGCPtr create(Element&); diff --git a/Userland/Libraries/LibWeb/DOM/NodeFilter.cpp b/Userland/Libraries/LibWeb/DOM/NodeFilter.cpp index accc89fc19..59625ff414 100644 --- a/Userland/Libraries/LibWeb/DOM/NodeFilter.cpp +++ b/Userland/Libraries/LibWeb/DOM/NodeFilter.cpp @@ -10,6 +10,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(NodeFilter); + JS::NonnullGCPtr NodeFilter::create(JS::Realm& realm, WebIDL::CallbackType& callback) { return realm.heap().allocate(realm, realm, callback); diff --git a/Userland/Libraries/LibWeb/DOM/NodeFilter.h b/Userland/Libraries/LibWeb/DOM/NodeFilter.h index 387c01cbe1..1f41ce6915 100644 --- a/Userland/Libraries/LibWeb/DOM/NodeFilter.h +++ b/Userland/Libraries/LibWeb/DOM/NodeFilter.h @@ -13,6 +13,7 @@ namespace Web::DOM { class NodeFilter final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(NodeFilter, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(NodeFilter); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, WebIDL::CallbackType&); diff --git a/Userland/Libraries/LibWeb/DOM/NodeIterator.cpp b/Userland/Libraries/LibWeb/DOM/NodeIterator.cpp index 9b66cf0c85..44db2c7c66 100644 --- a/Userland/Libraries/LibWeb/DOM/NodeIterator.cpp +++ b/Userland/Libraries/LibWeb/DOM/NodeIterator.cpp @@ -11,6 +11,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(NodeIterator); + NodeIterator::NodeIterator(Node& root) : PlatformObject(root.realm()) , m_root(root) diff --git a/Userland/Libraries/LibWeb/DOM/NodeIterator.h b/Userland/Libraries/LibWeb/DOM/NodeIterator.h index d1c484a714..cc7ae7771e 100644 --- a/Userland/Libraries/LibWeb/DOM/NodeIterator.h +++ b/Userland/Libraries/LibWeb/DOM/NodeIterator.h @@ -14,6 +14,7 @@ namespace Web::DOM { // https://dom.spec.whatwg.org/#nodeiterator class NodeIterator final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(NodeIterator, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(NodeIterator); public: static WebIDL::ExceptionOr> create(Node& root, unsigned what_to_show, JS::GCPtr); diff --git a/Userland/Libraries/LibWeb/DOM/Position.cpp b/Userland/Libraries/LibWeb/DOM/Position.cpp index c66863946e..6d6b68370f 100644 --- a/Userland/Libraries/LibWeb/DOM/Position.cpp +++ b/Userland/Libraries/LibWeb/DOM/Position.cpp @@ -13,6 +13,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(Position); + Position::Position(JS::GCPtr node, unsigned offset) : m_node(node) , m_offset(offset) diff --git a/Userland/Libraries/LibWeb/DOM/Position.h b/Userland/Libraries/LibWeb/DOM/Position.h index aa92c49049..47e37cc87d 100644 --- a/Userland/Libraries/LibWeb/DOM/Position.h +++ b/Userland/Libraries/LibWeb/DOM/Position.h @@ -18,6 +18,7 @@ namespace Web::DOM { class Position final : public JS::Cell { JS_CELL(Position, JS::Cell); + JS_DECLARE_ALLOCATOR(Position); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm& realm, JS::NonnullGCPtr node, unsigned offset) diff --git a/Userland/Libraries/LibWeb/DOM/ProcessingInstruction.cpp b/Userland/Libraries/LibWeb/DOM/ProcessingInstruction.cpp index 3dd85d68de..60fb219769 100644 --- a/Userland/Libraries/LibWeb/DOM/ProcessingInstruction.cpp +++ b/Userland/Libraries/LibWeb/DOM/ProcessingInstruction.cpp @@ -11,6 +11,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(ProcessingInstruction); + ProcessingInstruction::ProcessingInstruction(Document& document, DeprecatedString const& data, DeprecatedString const& target) : CharacterData(document, NodeType::PROCESSING_INSTRUCTION_NODE, MUST(String::from_deprecated_string(data))) , m_target(target) diff --git a/Userland/Libraries/LibWeb/DOM/ProcessingInstruction.h b/Userland/Libraries/LibWeb/DOM/ProcessingInstruction.h index faa05a8f7b..859045c848 100644 --- a/Userland/Libraries/LibWeb/DOM/ProcessingInstruction.h +++ b/Userland/Libraries/LibWeb/DOM/ProcessingInstruction.h @@ -12,6 +12,7 @@ namespace Web::DOM { class ProcessingInstruction final : public CharacterData { WEB_PLATFORM_OBJECT(ProcessingInstruction, CharacterData); + JS_DECLARE_ALLOCATOR(ProcessingInstruction); public: virtual ~ProcessingInstruction() override = default; diff --git a/Userland/Libraries/LibWeb/DOM/RadioNodeList.cpp b/Userland/Libraries/LibWeb/DOM/RadioNodeList.cpp index f923cc1e52..a1d63f4f37 100644 --- a/Userland/Libraries/LibWeb/DOM/RadioNodeList.cpp +++ b/Userland/Libraries/LibWeb/DOM/RadioNodeList.cpp @@ -12,6 +12,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(RadioNodeList); + JS::NonnullGCPtr RadioNodeList::create(JS::Realm& realm, Node& root, Scope scope, Function filter) { return realm.heap().allocate(realm, realm, root, scope, move(filter)); diff --git a/Userland/Libraries/LibWeb/DOM/RadioNodeList.h b/Userland/Libraries/LibWeb/DOM/RadioNodeList.h index 8204ca7740..bcf1991b5f 100644 --- a/Userland/Libraries/LibWeb/DOM/RadioNodeList.h +++ b/Userland/Libraries/LibWeb/DOM/RadioNodeList.h @@ -13,6 +13,7 @@ namespace Web::DOM { // https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#radionodelist class RadioNodeList : public LiveNodeList { WEB_PLATFORM_OBJECT(RadioNodeList, LiveNodeList); + JS_DECLARE_ALLOCATOR(RadioNodeList); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm& realm, Node& root, Scope scope, Function filter); diff --git a/Userland/Libraries/LibWeb/DOM/Range.cpp b/Userland/Libraries/LibWeb/DOM/Range.cpp index 0e8ba573d6..d85e77076c 100644 --- a/Userland/Libraries/LibWeb/DOM/Range.cpp +++ b/Userland/Libraries/LibWeb/DOM/Range.cpp @@ -25,6 +25,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(Range); + HashTable& Range::live_ranges() { static HashTable ranges; diff --git a/Userland/Libraries/LibWeb/DOM/Range.h b/Userland/Libraries/LibWeb/DOM/Range.h index a855ec9081..146c08a5a7 100644 --- a/Userland/Libraries/LibWeb/DOM/Range.h +++ b/Userland/Libraries/LibWeb/DOM/Range.h @@ -24,6 +24,7 @@ RelativeBoundaryPointPosition position_of_boundary_point_relative_to_other_bound class Range final : public AbstractRange { WEB_PLATFORM_OBJECT(Range, AbstractRange); + JS_DECLARE_ALLOCATOR(Range); public: [[nodiscard]] static JS::NonnullGCPtr create(Document&); diff --git a/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp b/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp index 3e55aca37c..26deaba174 100644 --- a/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp +++ b/Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp @@ -12,6 +12,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(ShadowRoot); + ShadowRoot::ShadowRoot(Document& document, Element& host, Bindings::ShadowRootMode mode) : DocumentFragment(document) , m_mode(mode) diff --git a/Userland/Libraries/LibWeb/DOM/ShadowRoot.h b/Userland/Libraries/LibWeb/DOM/ShadowRoot.h index 1456fbb9f0..acdc8d98ac 100644 --- a/Userland/Libraries/LibWeb/DOM/ShadowRoot.h +++ b/Userland/Libraries/LibWeb/DOM/ShadowRoot.h @@ -13,6 +13,7 @@ namespace Web::DOM { class ShadowRoot final : public DocumentFragment { WEB_PLATFORM_OBJECT(ShadowRoot, DocumentFragment); + JS_DECLARE_ALLOCATOR(ShadowRoot); public: Bindings::ShadowRootMode mode() const { return m_mode; } diff --git a/Userland/Libraries/LibWeb/DOM/StaticNodeList.cpp b/Userland/Libraries/LibWeb/DOM/StaticNodeList.cpp index 591616e8c2..5d85412a1d 100644 --- a/Userland/Libraries/LibWeb/DOM/StaticNodeList.cpp +++ b/Userland/Libraries/LibWeb/DOM/StaticNodeList.cpp @@ -10,6 +10,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(StaticNodeList); + JS::NonnullGCPtr StaticNodeList::create(JS::Realm& realm, Vector> static_nodes) { return realm.heap().allocate(realm, realm, move(static_nodes)); diff --git a/Userland/Libraries/LibWeb/DOM/StaticNodeList.h b/Userland/Libraries/LibWeb/DOM/StaticNodeList.h index 86f6c15db9..5ed9b75e57 100644 --- a/Userland/Libraries/LibWeb/DOM/StaticNodeList.h +++ b/Userland/Libraries/LibWeb/DOM/StaticNodeList.h @@ -13,6 +13,7 @@ namespace Web::DOM { class StaticNodeList final : public NodeList { WEB_PLATFORM_OBJECT(StaticNodeList, NodeList); + JS_DECLARE_ALLOCATOR(StaticNodeList); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, Vector>); diff --git a/Userland/Libraries/LibWeb/DOM/StaticRange.cpp b/Userland/Libraries/LibWeb/DOM/StaticRange.cpp index 595665b3ac..161d3ea419 100644 --- a/Userland/Libraries/LibWeb/DOM/StaticRange.cpp +++ b/Userland/Libraries/LibWeb/DOM/StaticRange.cpp @@ -14,6 +14,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(StaticRange); + StaticRange::StaticRange(Node& start_container, u32 start_offset, Node& end_container, u32 end_offset) : AbstractRange(start_container, start_offset, end_container, end_offset) { diff --git a/Userland/Libraries/LibWeb/DOM/StaticRange.h b/Userland/Libraries/LibWeb/DOM/StaticRange.h index 8ec05fbb5d..0afca39abe 100644 --- a/Userland/Libraries/LibWeb/DOM/StaticRange.h +++ b/Userland/Libraries/LibWeb/DOM/StaticRange.h @@ -22,6 +22,7 @@ struct StaticRangeInit { class StaticRange final : public AbstractRange { WEB_PLATFORM_OBJECT(StaticRange, AbstractRange); + JS_DECLARE_ALLOCATOR(StaticRange); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, StaticRangeInit& init); diff --git a/Userland/Libraries/LibWeb/DOM/Text.cpp b/Userland/Libraries/LibWeb/DOM/Text.cpp index 8d5279c8c9..1118f63cd6 100644 --- a/Userland/Libraries/LibWeb/DOM/Text.cpp +++ b/Userland/Libraries/LibWeb/DOM/Text.cpp @@ -13,6 +13,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(Text); + Text::Text(Document& document, String const& data) : CharacterData(document, NodeType::TEXT_NODE, data) { diff --git a/Userland/Libraries/LibWeb/DOM/Text.h b/Userland/Libraries/LibWeb/DOM/Text.h index 66aacbc134..a7dae767f8 100644 --- a/Userland/Libraries/LibWeb/DOM/Text.h +++ b/Userland/Libraries/LibWeb/DOM/Text.h @@ -22,6 +22,7 @@ class Text : public CharacterData , public SlottableMixin { WEB_PLATFORM_OBJECT(Text, CharacterData); + JS_DECLARE_ALLOCATOR(Text); public: virtual ~Text() override = default; diff --git a/Userland/Libraries/LibWeb/DOM/TreeWalker.cpp b/Userland/Libraries/LibWeb/DOM/TreeWalker.cpp index 69ef86606f..519040f367 100644 --- a/Userland/Libraries/LibWeb/DOM/TreeWalker.cpp +++ b/Userland/Libraries/LibWeb/DOM/TreeWalker.cpp @@ -13,6 +13,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(TreeWalker); + TreeWalker::TreeWalker(Node& root) : PlatformObject(root.realm()) , m_root(root) diff --git a/Userland/Libraries/LibWeb/DOM/TreeWalker.h b/Userland/Libraries/LibWeb/DOM/TreeWalker.h index b6e182ff7d..b3e5ad9577 100644 --- a/Userland/Libraries/LibWeb/DOM/TreeWalker.h +++ b/Userland/Libraries/LibWeb/DOM/TreeWalker.h @@ -13,6 +13,7 @@ namespace Web::DOM { // https://dom.spec.whatwg.org/#treewalker class TreeWalker final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(TreeWalker, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(TreeWalker); public: [[nodiscard]] static JS::NonnullGCPtr create(Node& root, unsigned what_to_show, JS::GCPtr); diff --git a/Userland/Libraries/LibWeb/DOM/XMLDocument.cpp b/Userland/Libraries/LibWeb/DOM/XMLDocument.cpp index 28c824ba2d..255478ab80 100644 --- a/Userland/Libraries/LibWeb/DOM/XMLDocument.cpp +++ b/Userland/Libraries/LibWeb/DOM/XMLDocument.cpp @@ -9,6 +9,8 @@ namespace Web::DOM { +JS_DEFINE_ALLOCATOR(XMLDocument); + JS::NonnullGCPtr XMLDocument::create(JS::Realm& realm, AK::URL const& url) { return realm.heap().allocate(realm, realm, url); diff --git a/Userland/Libraries/LibWeb/DOM/XMLDocument.h b/Userland/Libraries/LibWeb/DOM/XMLDocument.h index 60a019e4be..2c2b7152e7 100644 --- a/Userland/Libraries/LibWeb/DOM/XMLDocument.h +++ b/Userland/Libraries/LibWeb/DOM/XMLDocument.h @@ -12,6 +12,7 @@ namespace Web::DOM { class XMLDocument final : public Document { WEB_PLATFORM_OBJECT(XMLDocument, Document); + JS_DECLARE_ALLOCATOR(XMLDocument); public: static JS::NonnullGCPtr create(JS::Realm&, AK::URL const&); diff --git a/Userland/Libraries/LibWeb/DOMParsing/XMLSerializer.cpp b/Userland/Libraries/LibWeb/DOMParsing/XMLSerializer.cpp index 79ee92e614..d0ad3aad6d 100644 --- a/Userland/Libraries/LibWeb/DOMParsing/XMLSerializer.cpp +++ b/Userland/Libraries/LibWeb/DOMParsing/XMLSerializer.cpp @@ -23,6 +23,8 @@ namespace Web::DOMParsing { +JS_DEFINE_ALLOCATOR(XMLSerializer); + WebIDL::ExceptionOr> XMLSerializer::construct_impl(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/DOMParsing/XMLSerializer.h b/Userland/Libraries/LibWeb/DOMParsing/XMLSerializer.h index b5ba350daf..7527b39b87 100644 --- a/Userland/Libraries/LibWeb/DOMParsing/XMLSerializer.h +++ b/Userland/Libraries/LibWeb/DOMParsing/XMLSerializer.h @@ -12,6 +12,7 @@ namespace Web::DOMParsing { class XMLSerializer final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(XMLSerializer, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(XMLSerializer); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/Encoding/TextDecoder.cpp b/Userland/Libraries/LibWeb/Encoding/TextDecoder.cpp index 1df868e2f5..50c9372511 100644 --- a/Userland/Libraries/LibWeb/Encoding/TextDecoder.cpp +++ b/Userland/Libraries/LibWeb/Encoding/TextDecoder.cpp @@ -12,6 +12,8 @@ namespace Web::Encoding { +JS_DEFINE_ALLOCATOR(TextDecoder); + WebIDL::ExceptionOr> TextDecoder::construct_impl(JS::Realm& realm, FlyString encoding, Optional const& options) { auto& vm = realm.vm(); diff --git a/Userland/Libraries/LibWeb/Encoding/TextDecoder.h b/Userland/Libraries/LibWeb/Encoding/TextDecoder.h index 8bd4e8265a..14cf851136 100644 --- a/Userland/Libraries/LibWeb/Encoding/TextDecoder.h +++ b/Userland/Libraries/LibWeb/Encoding/TextDecoder.h @@ -30,6 +30,7 @@ struct TextDecodeOptions { // https://encoding.spec.whatwg.org/#textdecoder class TextDecoder : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(TextDecoder, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(TextDecoder); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, FlyString encoding, Optional const& options = {}); diff --git a/Userland/Libraries/LibWeb/Encoding/TextEncoder.cpp b/Userland/Libraries/LibWeb/Encoding/TextEncoder.cpp index 560a804262..7f63234851 100644 --- a/Userland/Libraries/LibWeb/Encoding/TextEncoder.cpp +++ b/Userland/Libraries/LibWeb/Encoding/TextEncoder.cpp @@ -11,6 +11,8 @@ namespace Web::Encoding { +JS_DEFINE_ALLOCATOR(TextEncoder); + WebIDL::ExceptionOr> TextEncoder::construct_impl(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/Encoding/TextEncoder.h b/Userland/Libraries/LibWeb/Encoding/TextEncoder.h index 8ebf851448..044b05d7b1 100644 --- a/Userland/Libraries/LibWeb/Encoding/TextEncoder.h +++ b/Userland/Libraries/LibWeb/Encoding/TextEncoder.h @@ -24,6 +24,7 @@ struct TextEncoderEncodeIntoResult { // https://encoding.spec.whatwg.org/#textencoder class TextEncoder final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(TextEncoder, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(TextEncoder); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/Fetch/Fetching/PendingResponse.cpp b/Userland/Libraries/LibWeb/Fetch/Fetching/PendingResponse.cpp index b3305128f0..437d20b298 100644 --- a/Userland/Libraries/LibWeb/Fetch/Fetching/PendingResponse.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Fetching/PendingResponse.cpp @@ -12,6 +12,8 @@ namespace Web::Fetch::Fetching { +JS_DEFINE_ALLOCATOR(PendingResponse); + JS::NonnullGCPtr PendingResponse::create(JS::VM& vm, JS::NonnullGCPtr request) { return vm.heap().allocate_without_realm(request); diff --git a/Userland/Libraries/LibWeb/Fetch/Fetching/PendingResponse.h b/Userland/Libraries/LibWeb/Fetch/Fetching/PendingResponse.h index 3d07e02e05..e95d5d016f 100644 --- a/Userland/Libraries/LibWeb/Fetch/Fetching/PendingResponse.h +++ b/Userland/Libraries/LibWeb/Fetch/Fetching/PendingResponse.h @@ -20,6 +20,7 @@ namespace Web::Fetch::Fetching { // therefore we use callbacks to run portions of the spec that require waiting for an HTTP load. class PendingResponse : public JS::Cell { JS_CELL(PendingResponse, JS::Cell); + JS_DECLARE_ALLOCATOR(PendingResponse); public: using Callback = JS::SafeFunction)>; diff --git a/Userland/Libraries/LibWeb/Fetch/Headers.cpp b/Userland/Libraries/LibWeb/Fetch/Headers.cpp index 3c5a5e721d..153ae81704 100644 --- a/Userland/Libraries/LibWeb/Fetch/Headers.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Headers.cpp @@ -11,6 +11,8 @@ namespace Web::Fetch { +JS_DEFINE_ALLOCATOR(Headers); + // https://fetch.spec.whatwg.org/#dom-headers WebIDL::ExceptionOr> Headers::construct_impl(JS::Realm& realm, Optional const& init) { diff --git a/Userland/Libraries/LibWeb/Fetch/Headers.h b/Userland/Libraries/LibWeb/Fetch/Headers.h index 984e720ce2..4f4e9ff5e9 100644 --- a/Userland/Libraries/LibWeb/Fetch/Headers.h +++ b/Userland/Libraries/LibWeb/Fetch/Headers.h @@ -23,6 +23,7 @@ using HeadersInit = Variant>, OrderedHashMap( namespace Web::Fetch { +JS_DEFINE_ALLOCATOR(HeadersIterator); + JS::NonnullGCPtr HeadersIterator::create(Headers const& headers, JS::Object::PropertyKind iteration_kind) { return headers.heap().allocate(headers.realm(), headers, iteration_kind); diff --git a/Userland/Libraries/LibWeb/Fetch/HeadersIterator.h b/Userland/Libraries/LibWeb/Fetch/HeadersIterator.h index 575abf97ea..3ef3c5dafe 100644 --- a/Userland/Libraries/LibWeb/Fetch/HeadersIterator.h +++ b/Userland/Libraries/LibWeb/Fetch/HeadersIterator.h @@ -14,6 +14,7 @@ namespace Web::Fetch { class HeadersIterator final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(HeadersIterator, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(HeadersIterator); public: [[nodiscard]] static JS::NonnullGCPtr create(Headers const&, JS::Object::PropertyKind iteration_kind); diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/ConnectionTimingInfo.cpp b/Userland/Libraries/LibWeb/Fetch/Infrastructure/ConnectionTimingInfo.cpp index 9f4e968a74..b1773751a1 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/ConnectionTimingInfo.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/ConnectionTimingInfo.cpp @@ -10,6 +10,8 @@ namespace Web::Fetch::Infrastructure { +JS_DEFINE_ALLOCATOR(ConnectionTimingInfo); + ConnectionTimingInfo::ConnectionTimingInfo() = default; JS::NonnullGCPtr ConnectionTimingInfo::create(JS::VM& vm) diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/ConnectionTimingInfo.h b/Userland/Libraries/LibWeb/Fetch/Infrastructure/ConnectionTimingInfo.h index 52a81c8eff..1e544853d4 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/ConnectionTimingInfo.h +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/ConnectionTimingInfo.h @@ -16,6 +16,7 @@ namespace Web::Fetch::Infrastructure { // https://fetch.spec.whatwg.org/#connection-timing-info class ConnectionTimingInfo : public JS::Cell { JS_CELL(ConnectionTimingInfo, JS::Cell); + JS_DECLARE_ALLOCATOR(ConnectionTimingInfo); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::VM&); diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchAlgorithms.cpp b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchAlgorithms.cpp index 2fc7e5c758..64de30d724 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchAlgorithms.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchAlgorithms.cpp @@ -10,6 +10,8 @@ namespace Web::Fetch::Infrastructure { +JS_DEFINE_ALLOCATOR(FetchAlgorithms); + JS::NonnullGCPtr FetchAlgorithms::create(JS::VM& vm, Input input) { auto process_request_body_chunk_length = JS::create_heap_function(vm.heap(), move(input.process_request_body_chunk_length)); diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchAlgorithms.h b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchAlgorithms.h index b6eda21a28..421aa3eb07 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchAlgorithms.h +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchAlgorithms.h @@ -18,6 +18,7 @@ namespace Web::Fetch::Infrastructure { // https://fetch.spec.whatwg.org/#fetch-elsewhere-fetch class FetchAlgorithms : public JS::Cell { JS_CELL(FetchAlgorithms, JS::Cell); + JS_DECLARE_ALLOCATOR(FetchAlgorithms); public: struct ConsumeBodyFailureTag { }; diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchController.cpp b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchController.cpp index ff47328d77..b3805800d8 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchController.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchController.cpp @@ -13,6 +13,8 @@ namespace Web::Fetch::Infrastructure { +JS_DEFINE_ALLOCATOR(FetchController); + FetchController::FetchController() = default; JS::NonnullGCPtr FetchController::create(JS::VM& vm) diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchController.h b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchController.h index e519a97056..7828660d3c 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchController.h +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchController.h @@ -21,6 +21,7 @@ namespace Web::Fetch::Infrastructure { // https://fetch.spec.whatwg.org/#fetch-controller class FetchController : public JS::Cell { JS_CELL(FetchController, JS::Cell); + JS_DECLARE_ALLOCATOR(FetchController); public: enum class State { diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchParams.cpp b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchParams.cpp index cd0c64f48a..fd926fb408 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchParams.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchParams.cpp @@ -11,6 +11,8 @@ namespace Web::Fetch::Infrastructure { +JS_DEFINE_ALLOCATOR(FetchParams); + FetchParams::FetchParams(JS::NonnullGCPtr request, JS::NonnullGCPtr algorithms, JS::NonnullGCPtr controller, JS::NonnullGCPtr timing_info) : m_request(request) , m_algorithms(algorithms) diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchParams.h b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchParams.h index fc1e49aa77..31da8ba9b3 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchParams.h +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/FetchParams.h @@ -21,6 +21,7 @@ namespace Web::Fetch::Infrastructure { // https://fetch.spec.whatwg.org/#fetch-params class FetchParams : public JS::Cell { JS_CELL(FetchParams, JS::Cell); + JS_DECLARE_ALLOCATOR(FetchParams); public: struct PreloadedResponseCandidatePendingTag { }; diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Bodies.cpp b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Bodies.cpp index 3f868fe399..db13c8c7bd 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Bodies.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Bodies.cpp @@ -13,6 +13,8 @@ namespace Web::Fetch::Infrastructure { +JS_DEFINE_ALLOCATOR(Body); + JS::NonnullGCPtr Body::create(JS::VM& vm, JS::NonnullGCPtr stream) { return vm.heap().allocate_without_realm(stream); diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Bodies.h b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Bodies.h index 7923094d85..dac79909c3 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Bodies.h +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Bodies.h @@ -23,6 +23,7 @@ namespace Web::Fetch::Infrastructure { // https://fetch.spec.whatwg.org/#concept-body class Body final : public JS::Cell { JS_CELL(Body, JS::Cell); + JS_DECLARE_ALLOCATOR(Body); public: using SourceType = Variant>; diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Requests.cpp b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Requests.cpp index 7d1194f514..36bcb63349 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Requests.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Requests.cpp @@ -13,6 +13,8 @@ namespace Web::Fetch::Infrastructure { +JS_DEFINE_ALLOCATOR(Request); + Request::Request(JS::NonnullGCPtr header_list) : m_header_list(header_list) { diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Requests.h b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Requests.h index 1f04a5f490..bcc00bc778 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Requests.h +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Requests.h @@ -29,6 +29,7 @@ namespace Web::Fetch::Infrastructure { // https://fetch.spec.whatwg.org/#concept-request class Request final : public JS::Cell { JS_CELL(Request, JS::Cell); + JS_DECLARE_ALLOCATOR(Request); public: enum class CacheMode { diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Responses.cpp b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Responses.cpp index 64b5be1f70..f59c151827 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Responses.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Responses.cpp @@ -17,6 +17,12 @@ namespace Web::Fetch::Infrastructure { +JS_DEFINE_ALLOCATOR(Response); +JS_DEFINE_ALLOCATOR(BasicFilteredResponse); +JS_DEFINE_ALLOCATOR(CORSFilteredResponse); +JS_DEFINE_ALLOCATOR(OpaqueFilteredResponse); +JS_DEFINE_ALLOCATOR(OpaqueRedirectFilteredResponse); + Response::Response(JS::NonnullGCPtr header_list) : m_header_list(header_list) { diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Responses.h b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Responses.h index a31f077dce..4dae9240bc 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Responses.h +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Responses.h @@ -24,6 +24,7 @@ namespace Web::Fetch::Infrastructure { // https://fetch.spec.whatwg.org/#concept-response class Response : public JS::Cell { JS_CELL(Response, JS::Cell); + JS_DECLARE_ALLOCATOR(Response); public: enum class CacheState { @@ -223,6 +224,7 @@ private: // https://fetch.spec.whatwg.org/#concept-filtered-response-basic class BasicFilteredResponse final : public FilteredResponse { JS_CELL(OpaqueRedirectFilteredResponse, FilteredResponse); + JS_DECLARE_ALLOCATOR(BasicFilteredResponse); public: [[nodiscard]] static ErrorOr> create(JS::VM&, JS::NonnullGCPtr); @@ -241,6 +243,7 @@ private: // https://fetch.spec.whatwg.org/#concept-filtered-response-cors class CORSFilteredResponse final : public FilteredResponse { JS_CELL(CORSFilteredResponse, FilteredResponse); + JS_DECLARE_ALLOCATOR(CORSFilteredResponse); public: [[nodiscard]] static ErrorOr> create(JS::VM&, JS::NonnullGCPtr); @@ -259,6 +262,7 @@ private: // https://fetch.spec.whatwg.org/#concept-filtered-response-opaque class OpaqueFilteredResponse final : public FilteredResponse { JS_CELL(OpaqueFilteredResponse, FilteredResponse); + JS_DECLARE_ALLOCATOR(OpaqueFilteredResponse); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::VM&, JS::NonnullGCPtr); @@ -285,6 +289,7 @@ private: // https://fetch.spec.whatwg.org/#concept-filtered-response-opaque-redirect class OpaqueRedirectFilteredResponse final : public FilteredResponse { JS_CELL(OpaqueRedirectFilteredResponse, FilteredResponse); + JS_DECLARE_ALLOCATOR(OpaqueRedirectFilteredResponse); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::VM&, JS::NonnullGCPtr); diff --git a/Userland/Libraries/LibWeb/Fetch/Request.cpp b/Userland/Libraries/LibWeb/Fetch/Request.cpp index ad28e994e5..74c8414818 100644 --- a/Userland/Libraries/LibWeb/Fetch/Request.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Request.cpp @@ -21,6 +21,8 @@ namespace Web::Fetch { +JS_DEFINE_ALLOCATOR(Request); + Request::Request(JS::Realm& realm, JS::NonnullGCPtr request) : PlatformObject(realm) , m_request(request) diff --git a/Userland/Libraries/LibWeb/Fetch/Request.h b/Userland/Libraries/LibWeb/Fetch/Request.h index eccfe24e20..7eb53fa407 100644 --- a/Userland/Libraries/LibWeb/Fetch/Request.h +++ b/Userland/Libraries/LibWeb/Fetch/Request.h @@ -64,6 +64,7 @@ class Request final : public Bindings::PlatformObject , public BodyMixin { WEB_PLATFORM_OBJECT(Request, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Request); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, JS::NonnullGCPtr, Headers::Guard); diff --git a/Userland/Libraries/LibWeb/Fetch/Response.cpp b/Userland/Libraries/LibWeb/Fetch/Response.cpp index db0f0a031d..6f81ad9187 100644 --- a/Userland/Libraries/LibWeb/Fetch/Response.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Response.cpp @@ -18,6 +18,8 @@ namespace Web::Fetch { +JS_DEFINE_ALLOCATOR(Response); + Response::Response(JS::Realm& realm, JS::NonnullGCPtr response) : PlatformObject(realm) , m_response(response) diff --git a/Userland/Libraries/LibWeb/Fetch/Response.h b/Userland/Libraries/LibWeb/Fetch/Response.h index d06d4fb70e..bce68a53cf 100644 --- a/Userland/Libraries/LibWeb/Fetch/Response.h +++ b/Userland/Libraries/LibWeb/Fetch/Response.h @@ -31,6 +31,7 @@ class Response final : public Bindings::PlatformObject , public BodyMixin { WEB_PLATFORM_OBJECT(Response, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Response); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, JS::NonnullGCPtr, Headers::Guard); diff --git a/Userland/Libraries/LibWeb/FileAPI/Blob.cpp b/Userland/Libraries/LibWeb/FileAPI/Blob.cpp index cc8124b57b..aaddf967b9 100644 --- a/Userland/Libraries/LibWeb/FileAPI/Blob.cpp +++ b/Userland/Libraries/LibWeb/FileAPI/Blob.cpp @@ -22,6 +22,8 @@ namespace Web::FileAPI { +JS_DEFINE_ALLOCATOR(Blob); + JS::NonnullGCPtr Blob::create(JS::Realm& realm, ByteBuffer byte_buffer, String type) { return realm.heap().allocate(realm, realm, move(byte_buffer), move(type)); diff --git a/Userland/Libraries/LibWeb/FileAPI/Blob.h b/Userland/Libraries/LibWeb/FileAPI/Blob.h index 2f4658f440..8c9ee266b9 100644 --- a/Userland/Libraries/LibWeb/FileAPI/Blob.h +++ b/Userland/Libraries/LibWeb/FileAPI/Blob.h @@ -28,6 +28,7 @@ struct BlobPropertyBag { class Blob : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Blob, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Blob); public: virtual ~Blob() override; diff --git a/Userland/Libraries/LibWeb/FileAPI/File.cpp b/Userland/Libraries/LibWeb/FileAPI/File.cpp index 95a87c8ccf..2240d893fb 100644 --- a/Userland/Libraries/LibWeb/FileAPI/File.cpp +++ b/Userland/Libraries/LibWeb/FileAPI/File.cpp @@ -12,6 +12,8 @@ namespace Web::FileAPI { +JS_DEFINE_ALLOCATOR(File); + File::File(JS::Realm& realm, ByteBuffer byte_buffer, String file_name, String type, i64 last_modified) : Blob(realm, move(byte_buffer), move(type)) , m_name(move(file_name)) diff --git a/Userland/Libraries/LibWeb/FileAPI/File.h b/Userland/Libraries/LibWeb/FileAPI/File.h index 0e2b0d3e1a..3cfc9f88fc 100644 --- a/Userland/Libraries/LibWeb/FileAPI/File.h +++ b/Userland/Libraries/LibWeb/FileAPI/File.h @@ -16,6 +16,7 @@ struct FilePropertyBag : BlobPropertyBag { class File : public Blob { WEB_PLATFORM_OBJECT(File, Blob); + JS_DECLARE_ALLOCATOR(File); public: static WebIDL::ExceptionOr> create(JS::Realm&, Vector const& file_bits, String const& file_name, Optional const& options = {}); diff --git a/Userland/Libraries/LibWeb/FileAPI/FileList.h b/Userland/Libraries/LibWeb/FileAPI/FileList.h index fe44e10d9b..997aa50d65 100644 --- a/Userland/Libraries/LibWeb/FileAPI/FileList.h +++ b/Userland/Libraries/LibWeb/FileAPI/FileList.h @@ -16,6 +16,7 @@ namespace Web::FileAPI { class FileList : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(FileList, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(FileList); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, Vector>&&); diff --git a/Userland/Libraries/LibWeb/FileAPI/FileReader.cpp b/Userland/Libraries/LibWeb/FileAPI/FileReader.cpp index 2b8a2ec44f..0a4d7cc125 100644 --- a/Userland/Libraries/LibWeb/FileAPI/FileReader.cpp +++ b/Userland/Libraries/LibWeb/FileAPI/FileReader.cpp @@ -30,6 +30,8 @@ namespace Web::FileAPI { +JS_DEFINE_ALLOCATOR(FileReader); + FileReader::~FileReader() = default; FileReader::FileReader(JS::Realm& realm) diff --git a/Userland/Libraries/LibWeb/FileAPI/FileReader.h b/Userland/Libraries/LibWeb/FileAPI/FileReader.h index ed79f4474c..cf5b64e782 100644 --- a/Userland/Libraries/LibWeb/FileAPI/FileReader.h +++ b/Userland/Libraries/LibWeb/FileAPI/FileReader.h @@ -17,6 +17,7 @@ namespace Web::FileAPI { // https://w3c.github.io/FileAPI/#dfn-filereader class FileReader : public DOM::EventTarget { WEB_PLATFORM_OBJECT(FileReader, EventTarget); + JS_DECLARE_ALLOCATOR(FileReader); public: using Result = Variant>; diff --git a/Userland/Libraries/LibWeb/Geometry/DOMMatrix.cpp b/Userland/Libraries/LibWeb/Geometry/DOMMatrix.cpp index 7a0649945f..0ca5aba2f1 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMMatrix.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMMatrix.cpp @@ -12,6 +12,8 @@ namespace Web::Geometry { +JS_DEFINE_ALLOCATOR(DOMMatrix); + WebIDL::ExceptionOr> DOMMatrix::construct_impl(JS::Realm& realm, Optional>> const& init) { auto& vm = realm.vm(); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMMatrix.h b/Userland/Libraries/LibWeb/Geometry/DOMMatrix.h index ceb29264f6..72ce3378db 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMMatrix.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMMatrix.h @@ -14,6 +14,7 @@ namespace Web::Geometry { // https://drafts.fxtf.org/geometry/#dommatrix class DOMMatrix : public DOMMatrixReadOnly { WEB_PLATFORM_OBJECT(DOMMatrix, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(DOMMatrix); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, Optional>> const& init); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMPoint.cpp b/Userland/Libraries/LibWeb/Geometry/DOMPoint.cpp index cd2a160629..4b86e32c8a 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMPoint.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMPoint.cpp @@ -10,6 +10,8 @@ namespace Web::Geometry { +JS_DEFINE_ALLOCATOR(DOMPoint); + JS::NonnullGCPtr DOMPoint::construct_impl(JS::Realm& realm, double x, double y, double z, double w) { return realm.heap().allocate(realm, realm, x, y, z, w); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMPoint.h b/Userland/Libraries/LibWeb/Geometry/DOMPoint.h index 8d9bdc4c9e..57db6e154f 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMPoint.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMPoint.h @@ -14,6 +14,7 @@ namespace Web::Geometry { // https://drafts.fxtf.org/geometry/#DOMPoint class DOMPoint final : public DOMPointReadOnly { WEB_PLATFORM_OBJECT(DOMPoint, DOMPointReadOnly); + JS_DECLARE_ALLOCATOR(DOMPoint); public: static JS::NonnullGCPtr construct_impl(JS::Realm&, double x = 0, double y = 0, double z = 0, double w = 1); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.cpp b/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.cpp index 5274819dfc..6759a214eb 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.cpp @@ -12,6 +12,8 @@ namespace Web::Geometry { +JS_DEFINE_ALLOCATOR(DOMPointReadOnly); + JS::NonnullGCPtr DOMPointReadOnly::construct_impl(JS::Realm& realm, double x, double y, double z, double w) { return realm.heap().allocate(realm, realm, x, y, z, w); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.h b/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.h index c4f17e50d8..1630af8cfd 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.h @@ -23,6 +23,7 @@ struct DOMPointInit { // https://drafts.fxtf.org/geometry/#dompointreadonly class DOMPointReadOnly : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(DOMPointReadOnly, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(DOMPointReadOnly); public: static JS::NonnullGCPtr construct_impl(JS::Realm&, double x = 0, double y = 0, double z = 0, double w = 1); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMQuad.cpp b/Userland/Libraries/LibWeb/Geometry/DOMQuad.cpp index 2a6e878f93..a6b93d4717 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMQuad.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMQuad.cpp @@ -9,6 +9,8 @@ namespace Web::Geometry { +JS_DEFINE_ALLOCATOR(DOMQuad); + JS::NonnullGCPtr DOMQuad::construct_impl(JS::Realm& realm, DOMPointInit const& p1, DOMPointInit const& p2, DOMPointInit const& p3, DOMPointInit const& p4) { return realm.heap().allocate(realm, realm, p1, p2, p3, p4); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMQuad.h b/Userland/Libraries/LibWeb/Geometry/DOMQuad.h index 33df0bfae9..686b2f7fa2 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMQuad.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMQuad.h @@ -24,6 +24,7 @@ struct DOMQuadInit { // https://drafts.fxtf.org/geometry/#domquad class DOMQuad : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(DOMQuad, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(DOMQuad); public: static JS::NonnullGCPtr construct_impl(JS::Realm&, DOMPointInit const& p1, DOMPointInit const& p2, DOMPointInit const& p3, DOMPointInit const& p4); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMRect.cpp b/Userland/Libraries/LibWeb/Geometry/DOMRect.cpp index f11b6f1786..a0705f68e3 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMRect.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMRect.cpp @@ -10,6 +10,8 @@ namespace Web::Geometry { +JS_DEFINE_ALLOCATOR(DOMRect); + WebIDL::ExceptionOr> DOMRect::construct_impl(JS::Realm& realm, double x, double y, double width, double height) { return create(realm, Gfx::FloatRect { x, y, width, height }); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMRect.h b/Userland/Libraries/LibWeb/Geometry/DOMRect.h index 4c41c866c4..f76e3876f1 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMRect.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMRect.h @@ -13,6 +13,7 @@ namespace Web::Geometry { // https://drafts.fxtf.org/geometry/#DOMRect class DOMRect final : public DOMRectReadOnly { WEB_PLATFORM_OBJECT(DOMRect, DOMRectReadOnly); + JS_DECLARE_ALLOCATOR(DOMRect); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, double x = 0, double y = 0, double width = 0, double height = 0); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMRectList.cpp b/Userland/Libraries/LibWeb/Geometry/DOMRectList.cpp index 408ef10036..0fb23331a8 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMRectList.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMRectList.cpp @@ -12,6 +12,8 @@ namespace Web::Geometry { +JS_DEFINE_ALLOCATOR(DOMRectList); + JS::NonnullGCPtr DOMRectList::create(JS::Realm& realm, Vector> rect_handles) { Vector> rects; diff --git a/Userland/Libraries/LibWeb/Geometry/DOMRectList.h b/Userland/Libraries/LibWeb/Geometry/DOMRectList.h index 7138518091..5efd84718e 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMRectList.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMRectList.h @@ -16,6 +16,7 @@ namespace Web::Geometry { // https://drafts.fxtf.org/geometry-1/#DOMRectList class DOMRectList final : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(DOMRectList, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(DOMRectList); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, Vector>); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.cpp b/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.cpp index 2487f652ee..f4cd848c2c 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.cpp @@ -10,6 +10,8 @@ namespace Web::Geometry { +JS_DEFINE_ALLOCATOR(DOMRectReadOnly); + WebIDL::ExceptionOr> DOMRectReadOnly::construct_impl(JS::Realm& realm, double x, double y, double width, double height) { return realm.heap().allocate(realm, realm, x, y, width, height); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.h b/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.h index 5c36caa0da..8d2a02cc61 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.h @@ -23,6 +23,7 @@ struct DOMRectInit { // https://drafts.fxtf.org/geometry/#domrectreadonly class DOMRectReadOnly : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(DOMRectReadOnly, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(DOMRectReadOnly); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, double x = 0, double y = 0, double width = 0, double height = 0); diff --git a/Userland/Libraries/LibWeb/HTML/AudioTrack.cpp b/Userland/Libraries/LibWeb/HTML/AudioTrack.cpp index 6a972a89a9..da8fe292ac 100644 --- a/Userland/Libraries/LibWeb/HTML/AudioTrack.cpp +++ b/Userland/Libraries/LibWeb/HTML/AudioTrack.cpp @@ -20,6 +20,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(AudioTrack); + static IDAllocator s_audio_track_id_allocator; AudioTrack::AudioTrack(JS::Realm& realm, JS::NonnullGCPtr media_element, NonnullRefPtr loader) diff --git a/Userland/Libraries/LibWeb/HTML/AudioTrack.h b/Userland/Libraries/LibWeb/HTML/AudioTrack.h index 5ef35dd198..47823091e4 100644 --- a/Userland/Libraries/LibWeb/HTML/AudioTrack.h +++ b/Userland/Libraries/LibWeb/HTML/AudioTrack.h @@ -15,6 +15,7 @@ namespace Web::HTML { class AudioTrack final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(AudioTrack, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(AudioTrack); public: virtual ~AudioTrack() override; diff --git a/Userland/Libraries/LibWeb/HTML/AudioTrackList.cpp b/Userland/Libraries/LibWeb/HTML/AudioTrackList.cpp index 1c1124339d..62c014d768 100644 --- a/Userland/Libraries/LibWeb/HTML/AudioTrackList.cpp +++ b/Userland/Libraries/LibWeb/HTML/AudioTrackList.cpp @@ -13,6 +13,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(AudioTrackList); + AudioTrackList::AudioTrackList(JS::Realm& realm) : DOM::EventTarget(realm, MayInterfereWithIndexedPropertyAccess::Yes) , m_audio_tracks(realm.heap()) diff --git a/Userland/Libraries/LibWeb/HTML/AudioTrackList.h b/Userland/Libraries/LibWeb/HTML/AudioTrackList.h index f52c8d53ff..1d69724c08 100644 --- a/Userland/Libraries/LibWeb/HTML/AudioTrackList.h +++ b/Userland/Libraries/LibWeb/HTML/AudioTrackList.h @@ -16,6 +16,7 @@ namespace Web::HTML { class AudioTrackList final : public DOM::EventTarget { WEB_PLATFORM_OBJECT(AudioTrackList, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(AudioTrackList); public: ErrorOr add_track(Badge, JS::NonnullGCPtr); diff --git a/Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp b/Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp index 640697520b..8dd14cffbd 100644 --- a/Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp +++ b/Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp @@ -37,6 +37,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(BrowsingContext); + // https://html.spec.whatwg.org/multipage/urls-and-fetching.html#matches-about:blank bool url_matches_about_blank(AK::URL const& url) { diff --git a/Userland/Libraries/LibWeb/HTML/BrowsingContext.h b/Userland/Libraries/LibWeb/HTML/BrowsingContext.h index cf1fc7871e..e960072815 100644 --- a/Userland/Libraries/LibWeb/HTML/BrowsingContext.h +++ b/Userland/Libraries/LibWeb/HTML/BrowsingContext.h @@ -35,6 +35,7 @@ class BrowsingContext final : public AbstractBrowsingContext , public Weakable { JS_CELL(BrowsingContext, AbstractBrowsingContext); + JS_DECLARE_ALLOCATOR(BrowsingContext); public: struct BrowsingContextAndDocument { diff --git a/Userland/Libraries/LibWeb/HTML/BrowsingContextGroup.cpp b/Userland/Libraries/LibWeb/HTML/BrowsingContextGroup.cpp index 63f10ec0c0..3987370b75 100644 --- a/Userland/Libraries/LibWeb/HTML/BrowsingContextGroup.cpp +++ b/Userland/Libraries/LibWeb/HTML/BrowsingContextGroup.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(BrowsingContextGroup); + // https://html.spec.whatwg.org/multipage/browsers.html#browsing-context-group-set static HashTable>& user_agent_browsing_context_group_set() { diff --git a/Userland/Libraries/LibWeb/HTML/BrowsingContextGroup.h b/Userland/Libraries/LibWeb/HTML/BrowsingContextGroup.h index 7de8ddd588..0922be999a 100644 --- a/Userland/Libraries/LibWeb/HTML/BrowsingContextGroup.h +++ b/Userland/Libraries/LibWeb/HTML/BrowsingContextGroup.h @@ -16,6 +16,7 @@ namespace Web::HTML { class BrowsingContextGroup final : public JS::Cell { JS_CELL(BrowsingContextGroup, JS::Cell); + JS_DECLARE_ALLOCATOR(BrowsingContextGroup); public: struct BrowsingContextGroupAndDocument { diff --git a/Userland/Libraries/LibWeb/HTML/CanvasGradient.cpp b/Userland/Libraries/LibWeb/HTML/CanvasGradient.cpp index 274276b1c6..28fd11d9ee 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasGradient.cpp +++ b/Userland/Libraries/LibWeb/HTML/CanvasGradient.cpp @@ -12,6 +12,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(CanvasGradient); + // https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-createradialgradient WebIDL::ExceptionOr> CanvasGradient::create_radial(JS::Realm& realm, double x0, double y0, double r0, double x1, double y1, double r1) { diff --git a/Userland/Libraries/LibWeb/HTML/CanvasGradient.h b/Userland/Libraries/LibWeb/HTML/CanvasGradient.h index 1329b19297..10e0ea4508 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasGradient.h +++ b/Userland/Libraries/LibWeb/HTML/CanvasGradient.h @@ -14,6 +14,7 @@ namespace Web::HTML { class CanvasGradient final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(CanvasGradient, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(CanvasGradient); public: static WebIDL::ExceptionOr> create_radial(JS::Realm&, double x0, double y0, double r0, double x1, double y1, double r1); diff --git a/Userland/Libraries/LibWeb/HTML/CanvasPattern.cpp b/Userland/Libraries/LibWeb/HTML/CanvasPattern.cpp index 455b6db9a3..71be47be17 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasPattern.cpp +++ b/Userland/Libraries/LibWeb/HTML/CanvasPattern.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(CanvasPattern); + void CanvasPatternPaintStyle::paint(Gfx::IntRect physical_bounding_box, PaintFunction paint) const { // 1. Create an infinite transparent black bitmap. diff --git a/Userland/Libraries/LibWeb/HTML/CanvasPattern.h b/Userland/Libraries/LibWeb/HTML/CanvasPattern.h index a3a33288a0..592a619cf5 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasPattern.h +++ b/Userland/Libraries/LibWeb/HTML/CanvasPattern.h @@ -41,6 +41,7 @@ private: class CanvasPattern final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(CanvasPattern, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(CanvasPattern); public: static WebIDL::ExceptionOr> create(JS::Realm&, CanvasImageSource const& image, StringView repetition); diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp index f097fee535..eb042a1584 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp @@ -26,6 +26,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(CanvasRenderingContext2D); + JS::NonnullGCPtr CanvasRenderingContext2D::create(JS::Realm& realm, HTMLCanvasElement& element) { return realm.heap().allocate(realm, realm, element); diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h index 7402c2c68e..bbffcf841c 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h @@ -58,6 +58,7 @@ class CanvasRenderingContext2D , public CanvasTextDrawingStyles { WEB_PLATFORM_OBJECT(CanvasRenderingContext2D, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(CanvasRenderingContext2D); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, HTMLCanvasElement&); diff --git a/Userland/Libraries/LibWeb/HTML/CloseEvent.cpp b/Userland/Libraries/LibWeb/HTML/CloseEvent.cpp index a839c14f54..681032b477 100644 --- a/Userland/Libraries/LibWeb/HTML/CloseEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/CloseEvent.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(CloseEvent); + JS::NonnullGCPtr CloseEvent::create(JS::Realm& realm, FlyString const& event_name, CloseEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/HTML/CloseEvent.h b/Userland/Libraries/LibWeb/HTML/CloseEvent.h index d73ee04561..066a822136 100644 --- a/Userland/Libraries/LibWeb/HTML/CloseEvent.h +++ b/Userland/Libraries/LibWeb/HTML/CloseEvent.h @@ -20,6 +20,7 @@ struct CloseEventInit : public DOM::EventInit { class CloseEvent : public DOM::Event { WEB_PLATFORM_OBJECT(CloseEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(CloseEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, CloseEventInit const& event_init = {}); diff --git a/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementDefinition.h b/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementDefinition.h index c12230f555..83fcb46a77 100644 --- a/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementDefinition.h +++ b/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementDefinition.h @@ -18,6 +18,7 @@ struct AlreadyConstructedCustomElementMarker { // https://html.spec.whatwg.org/multipage/custom-elements.html#custom-element-definition class CustomElementDefinition : public JS::Cell { JS_CELL(CustomElementDefinition, JS::Cell); + JS_DECLARE_ALLOCATOR(CustomElementDefinition); using LifecycleCallbacksStorage = OrderedHashMap>; using ConstructionStackStorage = Vector, AlreadyConstructedCustomElementMarker>>; diff --git a/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementRegistry.cpp b/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementRegistry.cpp index b13a100345..f8d363f6a7 100644 --- a/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementRegistry.cpp +++ b/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementRegistry.cpp @@ -20,6 +20,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(CustomElementDefinition); + CustomElementRegistry::CustomElementRegistry(JS::Realm& realm) : Bindings::PlatformObject(realm) { diff --git a/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementRegistry.h b/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementRegistry.h index 98fd373c88..2107e14a14 100644 --- a/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementRegistry.h +++ b/Userland/Libraries/LibWeb/HTML/CustomElements/CustomElementRegistry.h @@ -19,6 +19,7 @@ struct ElementDefinitionOptions { // https://html.spec.whatwg.org/multipage/custom-elements.html#customelementregistry class CustomElementRegistry : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(CustomElementRegistry, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(CustomElementRegistry); public: virtual ~CustomElementRegistry() override; diff --git a/Userland/Libraries/LibWeb/HTML/DOMParser.cpp b/Userland/Libraries/LibWeb/HTML/DOMParser.cpp index 57c446fb99..768f85105a 100644 --- a/Userland/Libraries/LibWeb/HTML/DOMParser.cpp +++ b/Userland/Libraries/LibWeb/HTML/DOMParser.cpp @@ -15,6 +15,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(DOMParser); + WebIDL::ExceptionOr> DOMParser::construct_impl(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/HTML/DOMParser.h b/Userland/Libraries/LibWeb/HTML/DOMParser.h index ca0775d7bb..7bd2dc69db 100644 --- a/Userland/Libraries/LibWeb/HTML/DOMParser.h +++ b/Userland/Libraries/LibWeb/HTML/DOMParser.h @@ -17,6 +17,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparser class DOMParser final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(DOMParser, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(DOMParser); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/HTML/DOMStringMap.cpp b/Userland/Libraries/LibWeb/HTML/DOMStringMap.cpp index 96758c65fb..051fbcbd9b 100644 --- a/Userland/Libraries/LibWeb/HTML/DOMStringMap.cpp +++ b/Userland/Libraries/LibWeb/HTML/DOMStringMap.cpp @@ -12,6 +12,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(DOMStringMap); + JS::NonnullGCPtr DOMStringMap::create(DOM::Element& element) { auto& realm = element.realm(); diff --git a/Userland/Libraries/LibWeb/HTML/DOMStringMap.h b/Userland/Libraries/LibWeb/HTML/DOMStringMap.h index b28a245340..8f37a44aa0 100644 --- a/Userland/Libraries/LibWeb/HTML/DOMStringMap.h +++ b/Userland/Libraries/LibWeb/HTML/DOMStringMap.h @@ -15,6 +15,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/dom.html#domstringmap class DOMStringMap final : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(DOMStringMap, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(DOMStringMap); public: [[nodiscard]] static JS::NonnullGCPtr create(DOM::Element&); diff --git a/Userland/Libraries/LibWeb/HTML/DocumentState.cpp b/Userland/Libraries/LibWeb/HTML/DocumentState.cpp index 0bc1c586f4..8c360081c4 100644 --- a/Userland/Libraries/LibWeb/HTML/DocumentState.cpp +++ b/Userland/Libraries/LibWeb/HTML/DocumentState.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(DocumentState); + DocumentState::DocumentState() = default; DocumentState::~DocumentState() = default; diff --git a/Userland/Libraries/LibWeb/HTML/DocumentState.h b/Userland/Libraries/LibWeb/HTML/DocumentState.h index 854a0bad64..275e2dbd0d 100644 --- a/Userland/Libraries/LibWeb/HTML/DocumentState.h +++ b/Userland/Libraries/LibWeb/HTML/DocumentState.h @@ -21,6 +21,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/browsing-the-web.html#document-state-2 class DocumentState final : public JS::Cell { JS_CELL(DocumentState, JS::Cell); + JS_DECLARE_ALLOCATOR(DocumentState); public: struct NestedHistory { diff --git a/Userland/Libraries/LibWeb/HTML/ErrorEvent.cpp b/Userland/Libraries/LibWeb/HTML/ErrorEvent.cpp index bc244491b7..ff6507c55d 100644 --- a/Userland/Libraries/LibWeb/HTML/ErrorEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/ErrorEvent.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(ErrorEvent); + JS::NonnullGCPtr ErrorEvent::create(JS::Realm& realm, FlyString const& event_name, ErrorEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/HTML/ErrorEvent.h b/Userland/Libraries/LibWeb/HTML/ErrorEvent.h index cb4208ed60..d5d7642c10 100644 --- a/Userland/Libraries/LibWeb/HTML/ErrorEvent.h +++ b/Userland/Libraries/LibWeb/HTML/ErrorEvent.h @@ -23,6 +23,7 @@ struct ErrorEventInit : public DOM::EventInit { // https://html.spec.whatwg.org/multipage/webappapis.html#errorevent class ErrorEvent final : public DOM::Event { WEB_PLATFORM_OBJECT(ErrorEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(ErrorEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, ErrorEventInit const& = {}); diff --git a/Userland/Libraries/LibWeb/HTML/EventHandler.cpp b/Userland/Libraries/LibWeb/HTML/EventHandler.cpp index e6d5b26b7f..bcc31d6cce 100644 --- a/Userland/Libraries/LibWeb/HTML/EventHandler.cpp +++ b/Userland/Libraries/LibWeb/HTML/EventHandler.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(EventHandler); + EventHandler::EventHandler(DeprecatedString s) : value(move(s)) { diff --git a/Userland/Libraries/LibWeb/HTML/EventHandler.h b/Userland/Libraries/LibWeb/HTML/EventHandler.h index 2af98558fb..9e7374386e 100644 --- a/Userland/Libraries/LibWeb/HTML/EventHandler.h +++ b/Userland/Libraries/LibWeb/HTML/EventHandler.h @@ -9,12 +9,14 @@ #include #include #include +#include #include namespace Web::HTML { class EventHandler final : public JS::Cell { JS_CELL(EventHandler, JS::Cell); + JS_DECLARE_ALLOCATOR(EventHandler); public: explicit EventHandler(DeprecatedString); diff --git a/Userland/Libraries/LibWeb/HTML/FormDataEvent.cpp b/Userland/Libraries/LibWeb/HTML/FormDataEvent.cpp index 8504a4abe5..f1740aabb6 100644 --- a/Userland/Libraries/LibWeb/HTML/FormDataEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/FormDataEvent.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(FormDataEvent); + WebIDL::ExceptionOr> FormDataEvent::construct_impl(JS::Realm& realm, FlyString const& event_name, FormDataEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/HTML/FormDataEvent.h b/Userland/Libraries/LibWeb/HTML/FormDataEvent.h index e983278d69..da526f2554 100644 --- a/Userland/Libraries/LibWeb/HTML/FormDataEvent.h +++ b/Userland/Libraries/LibWeb/HTML/FormDataEvent.h @@ -17,6 +17,7 @@ struct FormDataEventInit : public DOM::EventInit { class FormDataEvent final : public DOM::Event { WEB_PLATFORM_OBJECT(FormDataEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(FormDataEvent); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, FlyString const& event_name, FormDataEventInit const& event_init); diff --git a/Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.cpp index cf9f59fbdf..ce0dfc0cc4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLAnchorElement); + HTMLAnchorElement::HTMLAnchorElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.h b/Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.h index ac541012ef..da49e6fc2d 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.h @@ -15,6 +15,7 @@ class HTMLAnchorElement final : public HTMLElement , public HTMLHyperlinkElementUtils { WEB_PLATFORM_OBJECT(HTMLAnchorElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLAnchorElement); public: virtual ~HTMLAnchorElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.cpp index d5da4e8549..c11ca5fb17 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLAreaElement); + HTMLAreaElement::HTMLAreaElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.h b/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.h index 4a3835adda..55a4335ccd 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.h @@ -16,6 +16,7 @@ class HTMLAreaElement final : public HTMLElement , public HTMLHyperlinkElementUtils { WEB_PLATFORM_OBJECT(HTMLAreaElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLAreaElement); public: virtual ~HTMLAreaElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLAudioElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLAudioElement.cpp index a67faf89b8..237c9e29f1 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLAudioElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLAudioElement.cpp @@ -12,6 +12,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLAudioElement); + HTMLAudioElement::HTMLAudioElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLMediaElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLAudioElement.h b/Userland/Libraries/LibWeb/HTML/HTMLAudioElement.h index 5ed8065100..b171e0d506 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLAudioElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLAudioElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLAudioElement final : public HTMLMediaElement { WEB_PLATFORM_OBJECT(HTMLAudioElement, HTMLMediaElement); + JS_DECLARE_ALLOCATOR(HTMLAudioElement); public: virtual ~HTMLAudioElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLBRElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLBRElement.cpp index a13ae96957..1271fb40f4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLBRElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLBRElement.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLBRElement); + HTMLBRElement::HTMLBRElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLBRElement.h b/Userland/Libraries/LibWeb/HTML/HTMLBRElement.h index 221474262f..c432f3a5d5 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLBRElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLBRElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLBRElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLBRElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLBRElement); public: virtual ~HTMLBRElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLBaseElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLBaseElement.cpp index 400d5ffd23..9b9232162d 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLBaseElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLBaseElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLBaseElement); + HTMLBaseElement::HTMLBaseElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLBaseElement.h b/Userland/Libraries/LibWeb/HTML/HTMLBaseElement.h index 2fb6ea056c..9186008ad3 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLBaseElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLBaseElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLBaseElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLBaseElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLBaseElement); public: virtual ~HTMLBaseElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.cpp index 2395c0a753..4702a99e13 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.cpp @@ -15,6 +15,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLBodyElement); + HTMLBodyElement::HTMLBodyElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.h b/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.h index 9931128eed..870a5aa41c 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.h @@ -16,6 +16,7 @@ class HTMLBodyElement final : public HTMLElement , public WindowEventHandlers { WEB_PLATFORM_OBJECT(HTMLBodyElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLBodyElement); public: virtual ~HTMLBodyElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLButtonElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLButtonElement.cpp index 6f4828c7d2..04bfe8bdfb 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLButtonElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLButtonElement.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLButtonElement); + HTMLButtonElement::HTMLButtonElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLButtonElement.h b/Userland/Libraries/LibWeb/HTML/HTMLButtonElement.h index 94327c49bd..7c27b8cc6f 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLButtonElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLButtonElement.h @@ -21,6 +21,7 @@ class HTMLButtonElement final : public HTMLElement , public FormAssociatedElement { WEB_PLATFORM_OBJECT(HTMLButtonElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLButtonElement); FORM_ASSOCIATED_ELEMENT(HTMLElement, HTMLButtonElement) public: diff --git a/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp index ee1ccf2b13..1044f9fe2e 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.cpp @@ -26,6 +26,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLCanvasElement); + static constexpr auto max_canvas_area = 16384 * 16384; HTMLCanvasElement::HTMLCanvasElement(DOM::Document& document, DOM::QualifiedName qualified_name) diff --git a/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.h b/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.h index a46629bd31..e8a9ab75b5 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.h @@ -15,6 +15,7 @@ namespace Web::HTML { class HTMLCanvasElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLCanvasElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLCanvasElement); public: using RenderingContext = Variant, JS::Handle, Empty>; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDListElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLDListElement.cpp index eed2efc709..2bb0033777 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDListElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLDListElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLDListElement); + HTMLDListElement::HTMLDListElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDListElement.h b/Userland/Libraries/LibWeb/HTML/HTMLDListElement.h index d0c1dbdd8e..3047149bdf 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDListElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLDListElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLDListElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLDListElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLDListElement); public: virtual ~HTMLDListElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDataElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLDataElement.cpp index 0ec6a42b80..265817ee54 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDataElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLDataElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLDataElement); + HTMLDataElement::HTMLDataElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDataElement.h b/Userland/Libraries/LibWeb/HTML/HTMLDataElement.h index a00a29c11c..5d5b65cbe9 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDataElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLDataElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLDataElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLDataElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLDataElement); public: virtual ~HTMLDataElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDataListElement.h b/Userland/Libraries/LibWeb/HTML/HTMLDataListElement.h index dc30ea2e46..f910c707a0 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDataListElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLDataListElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLDataListElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLDataListElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLDataListElement); public: virtual ~HTMLDataListElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.cpp index 1943a9ddba..b411502d7f 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.cpp @@ -19,6 +19,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLDetailsElement); + HTMLDetailsElement::HTMLDetailsElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.h b/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.h index 74b4dddcb0..0f18522475 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.h @@ -17,6 +17,7 @@ namespace Web::HTML { class HTMLDetailsElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLDetailsElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLDetailsElement); public: virtual ~HTMLDetailsElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDialogElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLDialogElement.cpp index 9c154d2e12..e3c352a700 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDialogElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLDialogElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLDialogElement); + HTMLDialogElement::HTMLDialogElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDialogElement.h b/Userland/Libraries/LibWeb/HTML/HTMLDialogElement.h index 0553db3f6d..1780e3a604 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDialogElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLDialogElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLDialogElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLDialogElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLDialogElement); public: virtual ~HTMLDialogElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDirectoryElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLDirectoryElement.cpp index 7e76c9ee3c..8764cd34f7 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDirectoryElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLDirectoryElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLDirectoryElement); + HTMLDirectoryElement::HTMLDirectoryElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDirectoryElement.h b/Userland/Libraries/LibWeb/HTML/HTMLDirectoryElement.h index fd53d1dc37..936915856d 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDirectoryElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLDirectoryElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { // NOTE: This element is marked as obsolete, but is still listed as required by the specification. class HTMLDirectoryElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLDirectoryElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLDirectoryElement); public: virtual ~HTMLDirectoryElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDivElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLDivElement.cpp index eee88d7693..5267db7eac 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDivElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLDivElement.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLDivElement); + HTMLDivElement::HTMLDivElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDivElement.h b/Userland/Libraries/LibWeb/HTML/HTMLDivElement.h index 4d63f4f754..c28a8afe06 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDivElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLDivElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLDivElement : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLDivElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLDivElement); public: virtual ~HTMLDivElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDocument.cpp b/Userland/Libraries/LibWeb/HTML/HTMLDocument.cpp index 76288d2779..8ead3df8d1 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDocument.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLDocument.cpp @@ -8,6 +8,8 @@ namespace Web::HTML { +JS_DECLARE_ALLOCATOR(HTMLDocument); + HTMLDocument::HTMLDocument(JS::Realm& realm, AK::URL const& url) : Document(realm, url) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDocument.h b/Userland/Libraries/LibWeb/HTML/HTMLDocument.h index 32d65a3ab4..465f931ae2 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDocument.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLDocument.h @@ -16,6 +16,7 @@ namespace Web::HTML { // https://github.com/whatwg/dom/issues/221 class HTMLDocument final : public DOM::Document { JS_CELL(HTMLDocument, DOM::Document); + JS_DECLARE_ALLOCATOR(HTMLDocument); public: virtual ~HTMLDocument() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp index 90395257a7..3993f1de23 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp @@ -36,6 +36,8 @@ namespace Web::HTML { +JS_DECLARE_ALLOCATOR(HTMLElement); + HTMLElement::HTMLElement(DOM::Document& document, DOM::QualifiedName qualified_name) : Element(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLElement.h b/Userland/Libraries/LibWeb/HTML/HTMLElement.h index d8ea326332..5a734947f4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLElement.h @@ -23,6 +23,7 @@ class HTMLElement : public DOM::Element , public HTML::GlobalEventHandlers { WEB_PLATFORM_OBJECT(HTMLElement, DOM::Element); + JS_DECLARE_ALLOCATOR(HTMLElement); public: virtual ~HTMLElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.cpp index 7ba220f5c1..06d7b5e0b6 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLEmbedElement); + HTMLEmbedElement::HTMLEmbedElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.h b/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.h index 311ad16d3a..bc0f540629 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLEmbedElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLEmbedElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLEmbedElement); public: virtual ~HTMLEmbedElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFieldSetElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLFieldSetElement.cpp index 59297ca6cc..36bff7c53c 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFieldSetElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLFieldSetElement.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLFieldSetElement); + HTMLFieldSetElement::HTMLFieldSetElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFieldSetElement.h b/Userland/Libraries/LibWeb/HTML/HTMLFieldSetElement.h index f69b9a77c4..bcdde471d4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFieldSetElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLFieldSetElement.h @@ -16,6 +16,7 @@ class HTMLFieldSetElement final : public HTMLElement , public FormAssociatedElement { WEB_PLATFORM_OBJECT(HTMLFieldSetElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLFieldSetElement); FORM_ASSOCIATED_ELEMENT(HTMLElement, HTMLFieldSetElement) public: diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFontElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLFontElement.cpp index a104339c04..7ca976c4f3 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFontElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLFontElement.cpp @@ -12,6 +12,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLFontElement); + HTMLFontElement::HTMLFontElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFontElement.h b/Userland/Libraries/LibWeb/HTML/HTMLFontElement.h index 89a3b0783d..aec3676d89 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFontElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLFontElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLFontElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLFontElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLFontElement); public: virtual ~HTMLFontElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp index f417c07c4f..5c594dc75a 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp @@ -31,6 +31,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLFormElement); + HTMLFormElement::HTMLFormElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.h b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.h index 4bb4aa0006..346cdd5ec8 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.h @@ -30,6 +30,7 @@ namespace Web::HTML { class HTMLFormElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLFormElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLFormElement); public: virtual ~HTMLFormElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.cpp index 3256104e30..30b0383c61 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLFrameElement); + HTMLFrameElement::HTMLFrameElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.h b/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.h index ab36507102..5e236c8dbc 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { // NOTE: This element is marked as obsolete, but is still listed as required by the specification. class HTMLFrameElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLFrameElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLFrameElement); public: virtual ~HTMLFrameElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFrameSetElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLFrameSetElement.cpp index 1250398a24..e88c8c9ad0 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFrameSetElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLFrameSetElement.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLFrameSetElement); + HTMLFrameSetElement::HTMLFrameSetElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFrameSetElement.h b/Userland/Libraries/LibWeb/HTML/HTMLFrameSetElement.h index 6f7d8fda89..2afcf99b62 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFrameSetElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLFrameSetElement.h @@ -16,6 +16,7 @@ class HTMLFrameSetElement final : public HTMLElement , public WindowEventHandlers { WEB_PLATFORM_OBJECT(HTMLFrameSetElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLFrameSetElement); public: virtual ~HTMLFrameSetElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHRElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLHRElement.cpp index f97a7814f8..98b8e6acce 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHRElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLHRElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLHRElement); + HTMLHRElement::HTMLHRElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHRElement.h b/Userland/Libraries/LibWeb/HTML/HTMLHRElement.h index d907b83673..17b8f9da4a 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHRElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLHRElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLHRElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLHRElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLHRElement); public: virtual ~HTMLHRElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHeadElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLHeadElement.cpp index ff17191036..4bebe15d54 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHeadElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLHeadElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLHeadElement); + HTMLHeadElement::HTMLHeadElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHeadElement.h b/Userland/Libraries/LibWeb/HTML/HTMLHeadElement.h index 6d88ab8034..6383da1d70 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHeadElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLHeadElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLHeadElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLHeadElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLHeadElement); public: virtual ~HTMLHeadElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.cpp index 8d6d1ab858..f9928287f5 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLHeadingElement); + HTMLHeadingElement::HTMLHeadingElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.h b/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.h index f2b9ec905f..8827a05b80 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLHeadingElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLHeadingElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLHeadingElement); public: virtual ~HTMLHeadingElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.cpp index a9f97601cc..2e9b67e2f7 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLHtmlElement); + HTMLHtmlElement::HTMLHtmlElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.h b/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.h index 0ab5bd2cf6..677f294800 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLHtmlElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLHtmlElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLHtmlElement); public: virtual ~HTMLHtmlElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.cpp index 2dff0eebd9..0f43e7c6fc 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.cpp @@ -15,6 +15,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLIFrameElement); + HTMLIFrameElement::HTMLIFrameElement(DOM::Document& document, DOM::QualifiedName qualified_name) : NavigableContainer(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.h b/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.h index 662c502544..d15e9bbfdc 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLIFrameElement final : public NavigableContainer { WEB_PLATFORM_OBJECT(HTMLIFrameElement, NavigableContainer); + JS_DECLARE_ALLOCATOR(HTMLIFrameElement); public: virtual ~HTMLIFrameElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp index c6babd1fcb..3c042ab81f 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp @@ -33,6 +33,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLImageElement); + HTMLImageElement::HTMLImageElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.h b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.h index f682e14474..e60aedd32b 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.h @@ -27,6 +27,7 @@ class HTMLImageElement final , public Layout::ImageProvider , public DOM::Document::ViewportClient { WEB_PLATFORM_OBJECT(HTMLImageElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLImageElement); FORM_ASSOCIATED_ELEMENT(HTMLElement, HTMLImageElement) public: diff --git a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp index c2bab657b5..4d3996903a 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp @@ -32,6 +32,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLInputElement); + HTMLInputElement::HTMLInputElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) , m_value(DeprecatedString::empty()) @@ -499,6 +501,7 @@ Optional HTMLInputElement::placeholder_value() const class PlaceholderElement final : public HTMLDivElement { JS_CELL(PlaceholderElement, HTMLDivElement); + JS_DECLARE_ALLOCATOR(PlaceholderElement); public: PlaceholderElement(DOM::Document& document) @@ -508,6 +511,8 @@ public: virtual Optional pseudo_element() const override { return CSS::Selector::PseudoElement::Placeholder; } }; +JS_DEFINE_ALLOCATOR(PlaceholderElement); + void HTMLInputElement::create_shadow_tree_if_needed() { if (shadow_root_internal()) diff --git a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.h b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.h index 9d1c1797fd..ac38766eb7 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.h @@ -45,6 +45,7 @@ class HTMLInputElement final , public FormAssociatedElement , public DOM::EditableTextNodeOwner { WEB_PLATFORM_OBJECT(HTMLInputElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLInputElement); FORM_ASSOCIATED_ELEMENT(HTMLElement, HTMLInputElement) public: diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLIElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLLIElement.cpp index 41cf0533e6..bfdaffd7c1 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLIElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLLIElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLLIElement); + HTMLLIElement::HTMLLIElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLIElement.h b/Userland/Libraries/LibWeb/HTML/HTMLLIElement.h index d7a5a00c26..a18db4aa56 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLIElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLLIElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLLIElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLLIElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLLIElement); public: virtual ~HTMLLIElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.cpp index 6d8372bf23..e73966fae5 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLLabelElement); + HTMLLabelElement::HTMLLabelElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.h b/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.h index 41e018d311..5b47a9cda8 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLLabelElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLLabelElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLLabelElement); public: virtual ~HTMLLabelElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLegendElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLLegendElement.cpp index dd004bc08d..99f383d781 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLegendElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLLegendElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLLegendElement); + HTMLLegendElement::HTMLLegendElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLegendElement.h b/Userland/Libraries/LibWeb/HTML/HTMLLegendElement.h index dc10820eda..a54a833920 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLegendElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLLegendElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLLegendElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLLegendElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLLegendElement); public: virtual ~HTMLLegendElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp index cd50ca2da2..54c1149dc5 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp @@ -30,6 +30,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLLinkElement); + HTMLLinkElement::HTMLLinkElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.h b/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.h index cb3b02e1ee..20f824c185 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.h @@ -22,6 +22,7 @@ class HTMLLinkElement final : public HTMLElement , public ResourceClient { WEB_PLATFORM_OBJECT(HTMLLinkElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLLinkElement); public: virtual ~HTMLLinkElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMapElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLMapElement.cpp index ebcfa407b3..7cc0e41aa7 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMapElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLMapElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLMapElement); + HTMLMapElement::HTMLMapElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMapElement.h b/Userland/Libraries/LibWeb/HTML/HTMLMapElement.h index c862ba7cc1..088b63da28 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMapElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLMapElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLMapElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLMapElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLMapElement); public: virtual ~HTMLMapElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.cpp index 73e63b01c7..9c0b2c4984 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.cpp @@ -12,6 +12,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLMarqueeElement); + HTMLMarqueeElement::HTMLMarqueeElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.h b/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.h index 3c85d41bc2..343f5e1621 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { // NOTE: This element is marked as obsolete, but is still listed as required by the specification. class HTMLMarqueeElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLMarqueeElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLMarqueeElement); public: virtual ~HTMLMarqueeElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp index c1dc519054..c9d599ea55 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp @@ -553,6 +553,7 @@ enum class SelectMode { class SourceElementSelector final : public JS::Cell { JS_CELL(SourceElementSelector, JS::Cell); + JS_DECLARE_ALLOCATOR(SourceElementSelector); public: SourceElementSelector(JS::NonnullGCPtr media_element, JS::NonnullGCPtr candidate) @@ -727,6 +728,8 @@ private: JS::GCPtr m_previously_failed_candidate; }; +JS_DEFINE_ALLOCATOR(SourceElementSelector); + void HTMLMediaElement::children_changed() { if (m_source_element_selector) diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.cpp index b4b7575005..0d90bc01c2 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLMenuElement); + HTMLMenuElement::HTMLMenuElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.h b/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.h index 90e0e612ee..0d10ab3b17 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLMenuElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLMenuElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLMenuElement); public: virtual ~HTMLMenuElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.cpp index 12bd3c2a0a..aa7c8ff5da 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.cpp @@ -17,6 +17,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLMetaElement); + HTMLMetaElement::HTMLMetaElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.h b/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.h index 2f8492e715..eb017170c4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.h @@ -23,6 +23,7 @@ namespace Web::HTML { class HTMLMetaElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLMetaElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLMetaElement); public: virtual ~HTMLMetaElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp index 6f8ce5e8fa..b51ab80f8a 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLMeterElement); + HTMLMeterElement::HTMLMeterElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.h b/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.h index d8bf2a74f6..6bc108ff18 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLMeterElement.h @@ -14,6 +14,7 @@ namespace Web::HTML { class HTMLMeterElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLMeterElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLMeterElement); public: virtual ~HTMLMeterElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLModElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLModElement.cpp index e41f8e1163..d8c5e01b5c 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLModElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLModElement.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLModElement); + HTMLModElement::HTMLModElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLModElement.h b/Userland/Libraries/LibWeb/HTML/HTMLModElement.h index 956ab1bc89..fbc513013e 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLModElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLModElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLModElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLModElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLModElement); public: virtual ~HTMLModElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOListElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLOListElement.cpp index 74de79aa2b..31a2b4c1cb 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOListElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLOListElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLOListElement); + HTMLOListElement::HTMLOListElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOListElement.h b/Userland/Libraries/LibWeb/HTML/HTMLOListElement.h index b09347beb7..7f1bb32b3a 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOListElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLOListElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLOListElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLOListElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLOListElement); public: virtual ~HTMLOListElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.cpp index cb7de1f1d5..123f8abd48 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.cpp @@ -19,6 +19,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLObjectElement); + HTMLObjectElement::HTMLObjectElement(DOM::Document& document, DOM::QualifiedName qualified_name) : NavigableContainer(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.h b/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.h index 6ed05588bd..dbc7eabb26 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.h @@ -22,6 +22,7 @@ class HTMLObjectElement final , public ResourceClient , public Layout::ImageProvider { WEB_PLATFORM_OBJECT(HTMLObjectElement, NavigableContainer) + JS_DECLARE_ALLOCATOR(HTMLObjectElement); FORM_ASSOCIATED_ELEMENT(NavigableContainer, HTMLObjectElement) enum class Representation { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOptGroupElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLOptGroupElement.cpp index 77c433c961..3685f195a0 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOptGroupElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLOptGroupElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLOptGroupElement); + HTMLOptGroupElement::HTMLOptGroupElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOptGroupElement.h b/Userland/Libraries/LibWeb/HTML/HTMLOptGroupElement.h index d982df677a..4149e0dbd0 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOptGroupElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLOptGroupElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLOptGroupElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLOptGroupElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLOptGroupElement); public: virtual ~HTMLOptGroupElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.cpp index f72898bdc5..b0bc40be5a 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.cpp @@ -18,6 +18,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLOptionElement); + HTMLOptionElement::HTMLOptionElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.h b/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.h index 2f85bff6a5..5f85725707 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLOptionElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLOptionElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLOptionElement); public: virtual ~HTMLOptionElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOptionsCollection.cpp b/Userland/Libraries/LibWeb/HTML/HTMLOptionsCollection.cpp index 43270097d4..079009ac32 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOptionsCollection.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLOptionsCollection.cpp @@ -13,6 +13,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLOptionsCollection); + JS::NonnullGCPtr HTMLOptionsCollection::create(DOM::ParentNode& root, Function filter) { return root.heap().allocate(root.realm(), root, move(filter)); diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOptionsCollection.h b/Userland/Libraries/LibWeb/HTML/HTMLOptionsCollection.h index f990acb2b0..f871902aaa 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOptionsCollection.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLOptionsCollection.h @@ -17,6 +17,7 @@ using HTMLElementOrElementIndex = Variant, i32>; class HTMLOptionsCollection final : public DOM::HTMLCollection { WEB_PLATFORM_OBJECT(HTMLOptionsCollection, DOM::HTMLCollection); + JS_DECLARE_ALLOCATOR(HTMLOptionsCollection); public: [[nodiscard]] static JS::NonnullGCPtr create(DOM::ParentNode& root, Function filter); diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOutputElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLOutputElement.cpp index 99a9d89ba9..52caee575d 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOutputElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLOutputElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLOutputElement); + HTMLOutputElement::HTMLOutputElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOutputElement.h b/Userland/Libraries/LibWeb/HTML/HTMLOutputElement.h index f6b582a08f..ba0bbefa70 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOutputElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLOutputElement.h @@ -17,6 +17,7 @@ class HTMLOutputElement final : public HTMLElement , public FormAssociatedElement { WEB_PLATFORM_OBJECT(HTMLOutputElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLOutputElement); FORM_ASSOCIATED_ELEMENT(HTMLElement, HTMLOutputElement) public: diff --git a/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.cpp index 3b560b656a..834a56065a 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLParagraphElement); + HTMLParagraphElement::HTMLParagraphElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.h b/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.h index 3ca8789dcf..9dcc51a7aa 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLParagraphElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLParagraphElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLParagraphElement); public: virtual ~HTMLParagraphElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLParamElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLParamElement.cpp index b71bdbaed9..3e0986b787 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLParamElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLParamElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLParamElement); + HTMLParamElement::HTMLParamElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLParamElement.h b/Userland/Libraries/LibWeb/HTML/HTMLParamElement.h index 8ae224061a..0cc46ad388 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLParamElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLParamElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLParamElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLParamElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLParamElement); public: virtual ~HTMLParamElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLPictureElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLPictureElement.cpp index d9e4bb99a5..9a59392ad5 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLPictureElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLPictureElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLPictureElement); + HTMLPictureElement::HTMLPictureElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLPictureElement.h b/Userland/Libraries/LibWeb/HTML/HTMLPictureElement.h index c27e99ee34..125d8c21cb 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLPictureElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLPictureElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLPictureElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLPictureElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLPictureElement); public: virtual ~HTMLPictureElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLPreElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLPreElement.cpp index f24a94c110..1ad31eab81 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLPreElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLPreElement.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLPreElement); + HTMLPreElement::HTMLPreElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLPreElement.h b/Userland/Libraries/LibWeb/HTML/HTMLPreElement.h index 2d1c5fdce9..97ae40f888 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLPreElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLPreElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLPreElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLPreElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLPreElement); public: virtual ~HTMLPreElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.cpp index e1164f5e0a..deb499fcf4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.cpp @@ -14,6 +14,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLProgressElement); + HTMLProgressElement::HTMLProgressElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.h b/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.h index 418e904d81..6d68acf8e5 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLProgressElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLProgressElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLProgressElement); public: virtual ~HTMLProgressElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLQuoteElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLQuoteElement.cpp index 2d0995df83..5bd1f219cd 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLQuoteElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLQuoteElement.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLQuoteElement); + HTMLQuoteElement::HTMLQuoteElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLQuoteElement.h b/Userland/Libraries/LibWeb/HTML/HTMLQuoteElement.h index 2941e06213..a7cd188eaf 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLQuoteElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLQuoteElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLQuoteElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLQuoteElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLQuoteElement); public: virtual ~HTMLQuoteElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.cpp index 95b599eaf4..a75313cbe1 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.cpp @@ -23,6 +23,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLScriptElement); + HTMLScriptElement::HTMLScriptElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.h b/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.h index efc79312d3..edbb324b25 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.h @@ -17,6 +17,7 @@ namespace Web::HTML { class HTMLScriptElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLScriptElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLScriptElement); public: virtual ~HTMLScriptElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLSelectElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLSelectElement.cpp index 1ac80c500e..35d37b2c80 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLSelectElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLSelectElement.cpp @@ -13,6 +13,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLSelectElement); + HTMLSelectElement::HTMLSelectElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLSelectElement.h b/Userland/Libraries/LibWeb/HTML/HTMLSelectElement.h index e670bfe241..a12d02d852 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLSelectElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLSelectElement.h @@ -18,6 +18,7 @@ class HTMLSelectElement final : public HTMLElement , public FormAssociatedElement { WEB_PLATFORM_OBJECT(HTMLSelectElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLSelectElement); FORM_ASSOCIATED_ELEMENT(HTMLElement, HTMLSelectElement) public: diff --git a/Userland/Libraries/LibWeb/HTML/HTMLSlotElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLSlotElement.cpp index c1928b9de2..a0bf9d1434 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLSlotElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLSlotElement.cpp @@ -12,6 +12,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLSlotElement); + HTMLSlotElement::HTMLSlotElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLSlotElement.h b/Userland/Libraries/LibWeb/HTML/HTMLSlotElement.h index d468c86a67..a540a025fc 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLSlotElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLSlotElement.h @@ -24,6 +24,7 @@ class HTMLSlotElement final : public HTMLElement , public DOM::Slot { WEB_PLATFORM_OBJECT(HTMLSlotElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLSlotElement); public: virtual ~HTMLSlotElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLSourceElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLSourceElement.cpp index 76f994aced..88a61d44b2 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLSourceElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLSourceElement.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLSourceElement); + HTMLSourceElement::HTMLSourceElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLSourceElement.h b/Userland/Libraries/LibWeb/HTML/HTMLSourceElement.h index bc8d1b7374..a57d29cc6c 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLSourceElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLSourceElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLSourceElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLSourceElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLSourceElement); public: virtual ~HTMLSourceElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLSpanElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLSpanElement.cpp index dd5559e20c..4cf8baba26 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLSpanElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLSpanElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLSpanElement); + HTMLSpanElement::HTMLSpanElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLSpanElement.h b/Userland/Libraries/LibWeb/HTML/HTMLSpanElement.h index 0b7eacb2da..27f60d4d84 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLSpanElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLSpanElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLSpanElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLSpanElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLSpanElement); public: virtual ~HTMLSpanElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLStyleElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLStyleElement.cpp index 020ac97c92..e6376884a4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLStyleElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLStyleElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLStyleElement); + HTMLStyleElement::HTMLStyleElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLStyleElement.h b/Userland/Libraries/LibWeb/HTML/HTMLStyleElement.h index 21e6f6e313..69d6e17503 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLStyleElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLStyleElement.h @@ -14,6 +14,7 @@ namespace Web::HTML { class HTMLStyleElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLStyleElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLStyleElement); public: virtual ~HTMLStyleElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLSummaryElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLSummaryElement.cpp index f0d0b710e9..6e72fe544e 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLSummaryElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLSummaryElement.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLSummaryElement); + HTMLSummaryElement::HTMLSummaryElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLSummaryElement.h b/Userland/Libraries/LibWeb/HTML/HTMLSummaryElement.h index 7676d86e44..991ed728bc 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLSummaryElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLSummaryElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLSummaryElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLSummaryElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLSummaryElement); public: virtual ~HTMLSummaryElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.cpp index 2d9f245abb..9ff0567baf 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLTableCaptionElement); + HTMLTableCaptionElement::HTMLTableCaptionElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.h index 1d954a7176..aece874c29 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLTableCaptionElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLTableCaptionElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTableCaptionElement); public: virtual ~HTMLTableCaptionElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.cpp index 9c7f8d6e41..973f8a8bf7 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.cpp @@ -19,6 +19,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLTableCellElement); + HTMLTableCellElement::HTMLTableCellElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.h index f389070a2d..64fa43eb61 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLTableCellElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLTableCellElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTableCellElement); public: virtual ~HTMLTableCellElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.cpp index 06e94dd8b6..11c331d1e4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLTableColElement); + HTMLTableColElement::HTMLTableColElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.h index 6b4a0f1da9..589d03849e 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLTableColElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLTableColElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTableColElement); public: virtual ~HTMLTableColElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTableElement.cpp index be2e88718f..0be2befb8b 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableElement.cpp @@ -21,6 +21,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLTableElement); + HTMLTableElement::HTMLTableElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTableElement.h index e13736ea5a..36888a78fa 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableElement.h @@ -16,6 +16,7 @@ namespace Web::HTML { class HTMLTableElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLTableElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTableElement); public: virtual ~HTMLTableElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.cpp index f07f16aa0c..2c1bfc68c8 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.cpp @@ -20,6 +20,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLTableRowElement); + HTMLTableRowElement::HTMLTableRowElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.h index a9888e5db7..9d7ad96389 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLTableRowElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLTableRowElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTableRowElement); public: virtual ~HTMLTableRowElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.cpp index 7a39e25366..8821a72d5c 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.cpp @@ -14,6 +14,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLTableSectionElement); + HTMLTableSectionElement::HTMLTableSectionElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.h index 7fd1c651f0..1cc3569f42 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.h @@ -14,6 +14,7 @@ namespace Web::HTML { class HTMLTableSectionElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLTableSectionElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTableSectionElement); public: virtual ~HTMLTableSectionElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTemplateElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTemplateElement.cpp index d5fd2b15b8..72a73520a1 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTemplateElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTemplateElement.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLTemplateElement); + HTMLTemplateElement::HTMLTemplateElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTemplateElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTemplateElement.h index 2c22e19480..8bb39991fa 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTemplateElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTemplateElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLTemplateElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLTemplateElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTemplateElement); public: virtual ~HTMLTemplateElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTextAreaElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTextAreaElement.h index 96b4f11ebc..aba64f05c4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTextAreaElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTextAreaElement.h @@ -19,6 +19,7 @@ class HTMLTextAreaElement final , public FormAssociatedElement , public DOM::EditableTextNodeOwner { WEB_PLATFORM_OBJECT(HTMLTextAreaElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTextAreaElement); FORM_ASSOCIATED_ELEMENT(HTMLElement, HTMLTextAreaElement) public: diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTimeElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTimeElement.cpp index 77692b083d..519fab1368 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTimeElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTimeElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLTimeElement); + HTMLTimeElement::HTMLTimeElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTimeElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTimeElement.h index 21ed86e2e3..d94199c2ad 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTimeElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTimeElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLTimeElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLTimeElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTimeElement); public: virtual ~HTMLTimeElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.cpp index 89a8e2b633..e588f61052 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLTitleElement); + HTMLTitleElement::HTMLTitleElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.h index 545b24b6f3..b0c4dc42dc 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLTitleElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLTitleElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTitleElement); public: virtual ~HTMLTitleElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.cpp index 286d94b73a..f7714540df 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLTrackElement); + HTMLTrackElement::HTMLTrackElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.h b/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.h index 17be218974..de203d1a13 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLTrackElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLTrackElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLTrackElement); public: virtual ~HTMLTrackElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLUListElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLUListElement.cpp index 04e1fd451c..436edf2f42 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLUListElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLUListElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLUListElement); + HTMLUListElement::HTMLUListElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLUListElement.h b/Userland/Libraries/LibWeb/HTML/HTMLUListElement.h index bf36a3621d..7dd426212b 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLUListElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLUListElement.h @@ -13,6 +13,7 @@ namespace Web::HTML { class HTMLUListElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLUListElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLUListElement); public: virtual ~HTMLUListElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLUnknownElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLUnknownElement.cpp index ae683a1b35..cc7bedbb42 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLUnknownElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLUnknownElement.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLUnknownElement); + HTMLUnknownElement::HTMLUnknownElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLUnknownElement.h b/Userland/Libraries/LibWeb/HTML/HTMLUnknownElement.h index 9e46892771..6dd1e692a6 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLUnknownElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLUnknownElement.h @@ -12,6 +12,7 @@ namespace Web::HTML { class HTMLUnknownElement final : public HTMLElement { WEB_PLATFORM_OBJECT(HTMLUnknownElement, HTMLElement); + JS_DECLARE_ALLOCATOR(HTMLUnknownElement); public: virtual ~HTMLUnknownElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.cpp index 71e6eaa453..16e9ba0a0a 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.cpp @@ -20,6 +20,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLVideoElement); + HTMLVideoElement::HTMLVideoElement(DOM::Document& document, DOM::QualifiedName qualified_name) : HTMLMediaElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.h b/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.h index 4856ea319d..9c707cb5fa 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.h @@ -22,6 +22,7 @@ struct VideoFrame { class HTMLVideoElement final : public HTMLMediaElement { WEB_PLATFORM_OBJECT(HTMLVideoElement, HTMLMediaElement); + JS_DECLARE_ALLOCATOR(HTMLVideoElement); public: virtual ~HTMLVideoElement() override; diff --git a/Userland/Libraries/LibWeb/HTML/History.cpp b/Userland/Libraries/LibWeb/HTML/History.cpp index 6b6c11c2ab..383c27f845 100644 --- a/Userland/Libraries/LibWeb/HTML/History.cpp +++ b/Userland/Libraries/LibWeb/HTML/History.cpp @@ -13,6 +13,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(History); + JS::NonnullGCPtr History::create(JS::Realm& realm, DOM::Document& document) { return realm.heap().allocate(realm, realm, document); diff --git a/Userland/Libraries/LibWeb/HTML/History.h b/Userland/Libraries/LibWeb/HTML/History.h index 699f64e4ec..90b3897c5a 100644 --- a/Userland/Libraries/LibWeb/HTML/History.h +++ b/Userland/Libraries/LibWeb/HTML/History.h @@ -15,6 +15,7 @@ namespace Web::HTML { class History final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(History, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(History); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, DOM::Document&); diff --git a/Userland/Libraries/LibWeb/HTML/ImageData.cpp b/Userland/Libraries/LibWeb/HTML/ImageData.cpp index c2ed6887b2..cf898df419 100644 --- a/Userland/Libraries/LibWeb/HTML/ImageData.cpp +++ b/Userland/Libraries/LibWeb/HTML/ImageData.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(ImageData); + JS::GCPtr ImageData::create_with_size(JS::Realm& realm, int width, int height) { diff --git a/Userland/Libraries/LibWeb/HTML/ImageData.h b/Userland/Libraries/LibWeb/HTML/ImageData.h index 86c25ce578..6fb3837898 100644 --- a/Userland/Libraries/LibWeb/HTML/ImageData.h +++ b/Userland/Libraries/LibWeb/HTML/ImageData.h @@ -13,6 +13,7 @@ namespace Web::HTML { class ImageData final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(ImageData, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(ImageData); public: static JS::GCPtr create_with_size(JS::Realm&, int width, int height); diff --git a/Userland/Libraries/LibWeb/HTML/ImageRequest.cpp b/Userland/Libraries/LibWeb/HTML/ImageRequest.cpp index 7763009ce7..36614186c6 100644 --- a/Userland/Libraries/LibWeb/HTML/ImageRequest.cpp +++ b/Userland/Libraries/LibWeb/HTML/ImageRequest.cpp @@ -19,6 +19,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(ImageRequest); + JS::NonnullGCPtr ImageRequest::create(JS::Realm& realm, Page& page) { return realm.heap().allocate(realm, page); diff --git a/Userland/Libraries/LibWeb/HTML/ImageRequest.h b/Userland/Libraries/LibWeb/HTML/ImageRequest.h index bdb28e5a37..1406a0ce67 100644 --- a/Userland/Libraries/LibWeb/HTML/ImageRequest.h +++ b/Userland/Libraries/LibWeb/HTML/ImageRequest.h @@ -19,6 +19,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/images.html#image-request class ImageRequest final : public JS::Cell { JS_CELL(ImageRequest, JS::Cell); + JS_DECLARE_ALLOCATOR(ImageRequest); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, Page&); diff --git a/Userland/Libraries/LibWeb/HTML/Location.cpp b/Userland/Libraries/LibWeb/HTML/Location.cpp index 927ded2612..29cbcdaa4c 100644 --- a/Userland/Libraries/LibWeb/HTML/Location.cpp +++ b/Userland/Libraries/LibWeb/HTML/Location.cpp @@ -22,6 +22,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Location); + // https://html.spec.whatwg.org/multipage/history.html#the-location-interface Location::Location(JS::Realm& realm) : PlatformObject(realm, MayInterfereWithIndexedPropertyAccess::Yes) diff --git a/Userland/Libraries/LibWeb/HTML/Location.h b/Userland/Libraries/LibWeb/HTML/Location.h index 19667aba6e..814be11a76 100644 --- a/Userland/Libraries/LibWeb/HTML/Location.h +++ b/Userland/Libraries/LibWeb/HTML/Location.h @@ -19,6 +19,7 @@ namespace Web::HTML { class Location final : public Bindings::PlatformObject { JS_OBJECT(Location, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Location); public: virtual ~Location() override; diff --git a/Userland/Libraries/LibWeb/HTML/MediaError.cpp b/Userland/Libraries/LibWeb/HTML/MediaError.cpp index d65888d3d5..be133741d7 100644 --- a/Userland/Libraries/LibWeb/HTML/MediaError.cpp +++ b/Userland/Libraries/LibWeb/HTML/MediaError.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(MediaError); + MediaError::MediaError(JS::Realm& realm, Code code, String message) : Base(realm) , m_code(code) diff --git a/Userland/Libraries/LibWeb/HTML/MediaError.h b/Userland/Libraries/LibWeb/HTML/MediaError.h index 388ea74598..c8f16f17d2 100644 --- a/Userland/Libraries/LibWeb/HTML/MediaError.h +++ b/Userland/Libraries/LibWeb/HTML/MediaError.h @@ -14,6 +14,7 @@ namespace Web::HTML { class MediaError final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(MediaError, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(MediaError); public: enum class Code : u16 { diff --git a/Userland/Libraries/LibWeb/HTML/MessageChannel.cpp b/Userland/Libraries/LibWeb/HTML/MessageChannel.cpp index 3f2a689863..7a838c5686 100644 --- a/Userland/Libraries/LibWeb/HTML/MessageChannel.cpp +++ b/Userland/Libraries/LibWeb/HTML/MessageChannel.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(MessageChannel); + WebIDL::ExceptionOr> MessageChannel::construct_impl(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/HTML/MessageChannel.h b/Userland/Libraries/LibWeb/HTML/MessageChannel.h index b347bee3ee..2a1c086b3c 100644 --- a/Userland/Libraries/LibWeb/HTML/MessageChannel.h +++ b/Userland/Libraries/LibWeb/HTML/MessageChannel.h @@ -14,6 +14,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/web-messaging.html#message-channels class MessageChannel final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(MessageChannel, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(MessageChannel); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/HTML/MessageEvent.cpp b/Userland/Libraries/LibWeb/HTML/MessageEvent.cpp index f34d27fe59..f0ab0d5c5e 100644 --- a/Userland/Libraries/LibWeb/HTML/MessageEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/MessageEvent.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(MessageEvent); + JS::NonnullGCPtr MessageEvent::create(JS::Realm& realm, FlyString const& event_name, MessageEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/HTML/MessageEvent.h b/Userland/Libraries/LibWeb/HTML/MessageEvent.h index f6bd432baf..d4077ee9ff 100644 --- a/Userland/Libraries/LibWeb/HTML/MessageEvent.h +++ b/Userland/Libraries/LibWeb/HTML/MessageEvent.h @@ -24,6 +24,7 @@ struct MessageEventInit : public DOM::EventInit { class MessageEvent : public DOM::Event { WEB_PLATFORM_OBJECT(MessageEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(MessageEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, MessageEventInit const& = {}); diff --git a/Userland/Libraries/LibWeb/HTML/MessagePort.cpp b/Userland/Libraries/LibWeb/HTML/MessagePort.cpp index 790a8c5858..db659c15ad 100644 --- a/Userland/Libraries/LibWeb/HTML/MessagePort.cpp +++ b/Userland/Libraries/LibWeb/HTML/MessagePort.cpp @@ -14,6 +14,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(MessagePort); + JS::NonnullGCPtr MessagePort::create(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/HTML/MessagePort.h b/Userland/Libraries/LibWeb/HTML/MessagePort.h index 7d5784d340..b079ea08f2 100644 --- a/Userland/Libraries/LibWeb/HTML/MessagePort.h +++ b/Userland/Libraries/LibWeb/HTML/MessagePort.h @@ -25,6 +25,7 @@ struct StructuredSerializeOptions { // https://html.spec.whatwg.org/multipage/web-messaging.html#message-ports class MessagePort final : public DOM::EventTarget { WEB_PLATFORM_OBJECT(MessagePort, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(MessagePort); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/HTML/MimeType.cpp b/Userland/Libraries/LibWeb/HTML/MimeType.cpp index 725307078f..c61b1badeb 100644 --- a/Userland/Libraries/LibWeb/HTML/MimeType.cpp +++ b/Userland/Libraries/LibWeb/HTML/MimeType.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(MimeType); + MimeType::MimeType(JS::Realm& realm, String type) : Bindings::PlatformObject(realm) , m_type(move(type)) diff --git a/Userland/Libraries/LibWeb/HTML/MimeType.h b/Userland/Libraries/LibWeb/HTML/MimeType.h index ab507a3a3c..059dad5a18 100644 --- a/Userland/Libraries/LibWeb/HTML/MimeType.h +++ b/Userland/Libraries/LibWeb/HTML/MimeType.h @@ -13,6 +13,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/system-state.html#mimetype class MimeType : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(MimeType, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(MimeType); public: virtual ~MimeType() override; diff --git a/Userland/Libraries/LibWeb/HTML/MimeTypeArray.cpp b/Userland/Libraries/LibWeb/HTML/MimeTypeArray.cpp index 7800119769..30a998925c 100644 --- a/Userland/Libraries/LibWeb/HTML/MimeTypeArray.cpp +++ b/Userland/Libraries/LibWeb/HTML/MimeTypeArray.cpp @@ -12,6 +12,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(MimeTypeArray); + MimeTypeArray::MimeTypeArray(JS::Realm& realm) : Bindings::LegacyPlatformObject(realm) { diff --git a/Userland/Libraries/LibWeb/HTML/MimeTypeArray.h b/Userland/Libraries/LibWeb/HTML/MimeTypeArray.h index 58ab56c1a2..c5fc228cc6 100644 --- a/Userland/Libraries/LibWeb/HTML/MimeTypeArray.h +++ b/Userland/Libraries/LibWeb/HTML/MimeTypeArray.h @@ -13,6 +13,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/system-state.html#mimetypearray class MimeTypeArray : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(MimeTypeArray, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(MimeTypeArray); public: virtual ~MimeTypeArray() override; diff --git a/Userland/Libraries/LibWeb/HTML/Navigable.cpp b/Userland/Libraries/LibWeb/HTML/Navigable.cpp index c7484ee06d..10986354fe 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigable.cpp +++ b/Userland/Libraries/LibWeb/HTML/Navigable.cpp @@ -35,8 +35,11 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Navigable); + class ResponseHolder : public JS::Cell { JS_CELL(ResponseHolder, JS::Cell); + JS_DECLARE_ALLOCATOR(ResponseHolder); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::VM& vm) @@ -56,6 +59,8 @@ private: JS::GCPtr m_response; }; +JS_DEFINE_ALLOCATOR(ResponseHolder); + HashTable& all_navigables() { static HashTable set; diff --git a/Userland/Libraries/LibWeb/HTML/Navigable.h b/Userland/Libraries/LibWeb/HTML/Navigable.h index 3541ca862d..0f4ab7a852 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigable.h +++ b/Userland/Libraries/LibWeb/HTML/Navigable.h @@ -46,6 +46,7 @@ struct TargetSnapshotParams { // https://html.spec.whatwg.org/multipage/document-sequences.html#navigable class Navigable : public JS::Cell { JS_CELL(Navigable, JS::Cell); + JS_DECLARE_ALLOCATOR(Navigable); public: virtual ~Navigable() override; diff --git a/Userland/Libraries/LibWeb/HTML/NavigateEvent.cpp b/Userland/Libraries/LibWeb/HTML/NavigateEvent.cpp index 22126fd4bf..6948c54a23 100644 --- a/Userland/Libraries/LibWeb/HTML/NavigateEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/NavigateEvent.cpp @@ -23,6 +23,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(NavigateEvent); + JS::NonnullGCPtr NavigateEvent::construct_impl(JS::Realm& realm, FlyString const& event_name, NavigateEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/HTML/NavigateEvent.h b/Userland/Libraries/LibWeb/HTML/NavigateEvent.h index 4749b3e0ab..0f8fcee078 100644 --- a/Userland/Libraries/LibWeb/HTML/NavigateEvent.h +++ b/Userland/Libraries/LibWeb/HTML/NavigateEvent.h @@ -40,6 +40,7 @@ struct NavigationInterceptOptions { // https://html.spec.whatwg.org/multipage/nav-history-apis.html#navigateevent class NavigateEvent : public DOM::Event { WEB_PLATFORM_OBJECT(NavigateEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(NavigateEvent); public: // https://html.spec.whatwg.org/multipage/nav-history-apis.html#concept-navigateevent-interception-state diff --git a/Userland/Libraries/LibWeb/HTML/Navigation.cpp b/Userland/Libraries/LibWeb/HTML/Navigation.cpp index 121354475b..70cc62db67 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigation.cpp +++ b/Userland/Libraries/LibWeb/HTML/Navigation.cpp @@ -29,6 +29,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Navigation); + static NavigationResult navigation_api_method_tracker_derived_result(JS::NonnullGCPtr api_method_tracker); NavigationAPIMethodTracker::NavigationAPIMethodTracker(JS::NonnullGCPtr navigation, diff --git a/Userland/Libraries/LibWeb/HTML/Navigation.h b/Userland/Libraries/LibWeb/HTML/Navigation.h index 3952256ee8..bdcb6a6418 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigation.h +++ b/Userland/Libraries/LibWeb/HTML/Navigation.h @@ -70,6 +70,7 @@ struct NavigationAPIMethodTracker final : public JS::Cell { // https://html.spec.whatwg.org/multipage/nav-history-apis.html#navigation-interface class Navigation : public DOM::EventTarget { WEB_PLATFORM_OBJECT(Navigation, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(Navigation); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/HTML/NavigationCurrentEntryChangeEvent.cpp b/Userland/Libraries/LibWeb/HTML/NavigationCurrentEntryChangeEvent.cpp index 1f478a06f9..e7a2cf19f5 100644 --- a/Userland/Libraries/LibWeb/HTML/NavigationCurrentEntryChangeEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/NavigationCurrentEntryChangeEvent.cpp @@ -13,6 +13,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(NavigationCurrentEntryChangeEvent); + JS::NonnullGCPtr NavigationCurrentEntryChangeEvent::construct_impl(JS::Realm& realm, FlyString const& event_name, NavigationCurrentEntryChangeEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/HTML/NavigationCurrentEntryChangeEvent.h b/Userland/Libraries/LibWeb/HTML/NavigationCurrentEntryChangeEvent.h index 530c4d9d5a..8351a26c79 100644 --- a/Userland/Libraries/LibWeb/HTML/NavigationCurrentEntryChangeEvent.h +++ b/Userland/Libraries/LibWeb/HTML/NavigationCurrentEntryChangeEvent.h @@ -18,6 +18,7 @@ struct NavigationCurrentEntryChangeEventInit : public DOM::EventInit { class NavigationCurrentEntryChangeEvent final : public DOM::Event { WEB_PLATFORM_OBJECT(NavigationCurrentEntryChangeEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(NavigationCurrentEntryChangeEvent); public: [[nodiscard]] static JS::NonnullGCPtr construct_impl(JS::Realm&, FlyString const& event_name, NavigationCurrentEntryChangeEventInit const&); diff --git a/Userland/Libraries/LibWeb/HTML/NavigationDestination.cpp b/Userland/Libraries/LibWeb/HTML/NavigationDestination.cpp index 8f25d67edb..b6059bf098 100644 --- a/Userland/Libraries/LibWeb/HTML/NavigationDestination.cpp +++ b/Userland/Libraries/LibWeb/HTML/NavigationDestination.cpp @@ -13,6 +13,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(NavigationDestination); + JS::NonnullGCPtr NavigationDestination::create(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/HTML/NavigationDestination.h b/Userland/Libraries/LibWeb/HTML/NavigationDestination.h index af3e436f91..e01b17b812 100644 --- a/Userland/Libraries/LibWeb/HTML/NavigationDestination.h +++ b/Userland/Libraries/LibWeb/HTML/NavigationDestination.h @@ -15,6 +15,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/nav-history-apis.html#navigationdestination class NavigationDestination : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(NavigationDestination, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(NavigationDestination); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/HTML/NavigationHistoryEntry.cpp b/Userland/Libraries/LibWeb/HTML/NavigationHistoryEntry.cpp index 40838e5c52..1b29a8ff93 100644 --- a/Userland/Libraries/LibWeb/HTML/NavigationHistoryEntry.cpp +++ b/Userland/Libraries/LibWeb/HTML/NavigationHistoryEntry.cpp @@ -16,6 +16,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(NavigationHistoryEntry); + JS::NonnullGCPtr NavigationHistoryEntry::create(JS::Realm& realm, JS::NonnullGCPtr she) { return realm.heap().allocate(realm, realm, she); diff --git a/Userland/Libraries/LibWeb/HTML/NavigationHistoryEntry.h b/Userland/Libraries/LibWeb/HTML/NavigationHistoryEntry.h index 2297bb1881..5651e423ce 100644 --- a/Userland/Libraries/LibWeb/HTML/NavigationHistoryEntry.h +++ b/Userland/Libraries/LibWeb/HTML/NavigationHistoryEntry.h @@ -13,6 +13,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/nav-history-apis.html#navigationhistoryentry class NavigationHistoryEntry : public DOM::EventTarget { WEB_PLATFORM_OBJECT(NavigationHistoryEntry, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(NavigationHistoryEntry); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, JS::NonnullGCPtr); diff --git a/Userland/Libraries/LibWeb/HTML/NavigationTransition.cpp b/Userland/Libraries/LibWeb/HTML/NavigationTransition.cpp index f7173a5148..e574fd09eb 100644 --- a/Userland/Libraries/LibWeb/HTML/NavigationTransition.cpp +++ b/Userland/Libraries/LibWeb/HTML/NavigationTransition.cpp @@ -14,6 +14,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(NavigationTransition); + JS::NonnullGCPtr NavigationTransition::create(JS::Realm& realm, Bindings::NavigationType navigation_type, JS::NonnullGCPtr from_entry, JS::GCPtr finished_promise) { return realm.heap().allocate(realm, realm, navigation_type, from_entry, finished_promise); diff --git a/Userland/Libraries/LibWeb/HTML/NavigationTransition.h b/Userland/Libraries/LibWeb/HTML/NavigationTransition.h index ae7f7575d9..b049b8b838 100644 --- a/Userland/Libraries/LibWeb/HTML/NavigationTransition.h +++ b/Userland/Libraries/LibWeb/HTML/NavigationTransition.h @@ -14,6 +14,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/nav-history-apis.html#navigationtransition class NavigationTransition : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(NavigationTransition, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(NavigationTransition); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, Bindings::NavigationType, JS::NonnullGCPtr, JS::GCPtr); diff --git a/Userland/Libraries/LibWeb/HTML/Navigator.cpp b/Userland/Libraries/LibWeb/HTML/Navigator.cpp index 5c5029a854..9c19f1a3dd 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigator.cpp +++ b/Userland/Libraries/LibWeb/HTML/Navigator.cpp @@ -16,6 +16,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Navigator); + JS::NonnullGCPtr Navigator::create(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/HTML/Navigator.h b/Userland/Libraries/LibWeb/HTML/Navigator.h index a89539d068..d25d11b683 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigator.h +++ b/Userland/Libraries/LibWeb/HTML/Navigator.h @@ -24,6 +24,7 @@ class Navigator : public Bindings::PlatformObject , public NavigatorLanguageMixin , public NavigatorOnLineMixin { WEB_PLATFORM_OBJECT(Navigator, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Navigator); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/HTML/PageTransitionEvent.cpp b/Userland/Libraries/LibWeb/HTML/PageTransitionEvent.cpp index c035476171..c042754b21 100644 --- a/Userland/Libraries/LibWeb/HTML/PageTransitionEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/PageTransitionEvent.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(PageTransitionEvent); + JS::NonnullGCPtr PageTransitionEvent::create(JS::Realm& realm, FlyString const& event_name, PageTransitionEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/HTML/PageTransitionEvent.h b/Userland/Libraries/LibWeb/HTML/PageTransitionEvent.h index a8f5634c73..514d4f54f7 100644 --- a/Userland/Libraries/LibWeb/HTML/PageTransitionEvent.h +++ b/Userland/Libraries/LibWeb/HTML/PageTransitionEvent.h @@ -17,6 +17,7 @@ struct PageTransitionEventInit : public DOM::EventInit { class PageTransitionEvent final : public DOM::Event { WEB_PLATFORM_OBJECT(PageTransitionEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(PageTransitionEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, PageTransitionEventInit const&); diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp b/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp index 9e43f1b29e..299576b908 100644 --- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp +++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp @@ -44,6 +44,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(HTMLParser); + static inline void log_parse_error(SourceLocation const& location = SourceLocation::current()) { dbgln_if(HTML_PARSER_DEBUG, "Parse error! {}", location); diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.h b/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.h index 50e1ff6883..9f9c3e2e5f 100644 --- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.h +++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.h @@ -42,6 +42,7 @@ namespace Web::HTML { class HTMLParser final : public JS::Cell { JS_CELL(HTMLParser, JS::Cell); + JS_DECLARE_ALLOCATOR(HTMLParser); friend class HTMLTokenizer; diff --git a/Userland/Libraries/LibWeb/HTML/Path2D.cpp b/Userland/Libraries/LibWeb/HTML/Path2D.cpp index f36c716da8..44988cb331 100644 --- a/Userland/Libraries/LibWeb/HTML/Path2D.cpp +++ b/Userland/Libraries/LibWeb/HTML/Path2D.cpp @@ -14,6 +14,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Path2D); + WebIDL::ExceptionOr> Path2D::construct_impl(JS::Realm& realm, Optional, String>> const& path) { return realm.heap().allocate(realm, realm, path); diff --git a/Userland/Libraries/LibWeb/HTML/Path2D.h b/Userland/Libraries/LibWeb/HTML/Path2D.h index 1ec158a101..e944bcf874 100644 --- a/Userland/Libraries/LibWeb/HTML/Path2D.h +++ b/Userland/Libraries/LibWeb/HTML/Path2D.h @@ -20,6 +20,7 @@ class Path2D final , public CanvasPath { WEB_PLATFORM_OBJECT(Path2D, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Path2D); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, Optional, String>> const& path); diff --git a/Userland/Libraries/LibWeb/HTML/Plugin.cpp b/Userland/Libraries/LibWeb/HTML/Plugin.cpp index a774ce26ce..49c5996a1d 100644 --- a/Userland/Libraries/LibWeb/HTML/Plugin.cpp +++ b/Userland/Libraries/LibWeb/HTML/Plugin.cpp @@ -12,6 +12,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Plugin); + Plugin::Plugin(JS::Realm& realm, String name) : Bindings::LegacyPlatformObject(realm) , m_name(move(name)) diff --git a/Userland/Libraries/LibWeb/HTML/Plugin.h b/Userland/Libraries/LibWeb/HTML/Plugin.h index 64df6de112..c4e58e8c57 100644 --- a/Userland/Libraries/LibWeb/HTML/Plugin.h +++ b/Userland/Libraries/LibWeb/HTML/Plugin.h @@ -13,6 +13,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/system-state.html#dom-plugin class Plugin : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(Plugin, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(Plugin); public: virtual ~Plugin() override; diff --git a/Userland/Libraries/LibWeb/HTML/PluginArray.cpp b/Userland/Libraries/LibWeb/HTML/PluginArray.cpp index 92c1478ecf..7633ee3b3f 100644 --- a/Userland/Libraries/LibWeb/HTML/PluginArray.cpp +++ b/Userland/Libraries/LibWeb/HTML/PluginArray.cpp @@ -12,6 +12,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(PluginArray); + PluginArray::PluginArray(JS::Realm& realm) : Bindings::LegacyPlatformObject(realm) { diff --git a/Userland/Libraries/LibWeb/HTML/PluginArray.h b/Userland/Libraries/LibWeb/HTML/PluginArray.h index d1f1afb9a7..4ebeed1beb 100644 --- a/Userland/Libraries/LibWeb/HTML/PluginArray.h +++ b/Userland/Libraries/LibWeb/HTML/PluginArray.h @@ -13,6 +13,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/system-state.html#pluginarray class PluginArray : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(PluginArray, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(PluginArray); public: virtual ~PluginArray() override; diff --git a/Userland/Libraries/LibWeb/HTML/PromiseRejectionEvent.cpp b/Userland/Libraries/LibWeb/HTML/PromiseRejectionEvent.cpp index bbe4f7bcd1..1f6c124593 100644 --- a/Userland/Libraries/LibWeb/HTML/PromiseRejectionEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/PromiseRejectionEvent.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(PromiseRejectionEvent); + JS::NonnullGCPtr PromiseRejectionEvent::create(JS::Realm& realm, FlyString const& event_name, PromiseRejectionEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/HTML/PromiseRejectionEvent.h b/Userland/Libraries/LibWeb/HTML/PromiseRejectionEvent.h index 2edcae286d..f77a62a42e 100644 --- a/Userland/Libraries/LibWeb/HTML/PromiseRejectionEvent.h +++ b/Userland/Libraries/LibWeb/HTML/PromiseRejectionEvent.h @@ -22,6 +22,7 @@ struct PromiseRejectionEventInit : public DOM::EventInit { class PromiseRejectionEvent final : public DOM::Event { WEB_PLATFORM_OBJECT(PromiseRejectionEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(PromiseRejectionEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, PromiseRejectionEventInit const& = {}); diff --git a/Userland/Libraries/LibWeb/HTML/RemoteBrowsingContext.cpp b/Userland/Libraries/LibWeb/HTML/RemoteBrowsingContext.cpp index 44956a1912..fc9058124c 100644 --- a/Userland/Libraries/LibWeb/HTML/RemoteBrowsingContext.cpp +++ b/Userland/Libraries/LibWeb/HTML/RemoteBrowsingContext.cpp @@ -8,6 +8,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(RemoteBrowsingContext); + JS::NonnullGCPtr RemoteBrowsingContext::create_a_new_remote_browsing_context(String handle) { auto browsing_context = Bindings::main_thread_vm().heap().allocate_without_realm(handle); diff --git a/Userland/Libraries/LibWeb/HTML/RemoteBrowsingContext.h b/Userland/Libraries/LibWeb/HTML/RemoteBrowsingContext.h index 4d980b0ae6..f1872fe912 100644 --- a/Userland/Libraries/LibWeb/HTML/RemoteBrowsingContext.h +++ b/Userland/Libraries/LibWeb/HTML/RemoteBrowsingContext.h @@ -15,6 +15,7 @@ class RemoteBrowsingContext final : public AbstractBrowsingContext , public Weakable { JS_CELL(RemoteBrowsingContext, AbstractBrowsingContext); + JS_DECLARE_ALLOCATOR(RemoteBrowsingContext); public: static JS::NonnullGCPtr create_a_new_remote_browsing_context(String handle); diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.cpp b/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.cpp index 44916f0227..2f498a10ad 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.cpp +++ b/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.cpp @@ -15,6 +15,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(ClassicScript); + // https://html.spec.whatwg.org/multipage/webappapis.html#creating-a-classic-script JS::NonnullGCPtr ClassicScript::create(DeprecatedString filename, StringView source, EnvironmentSettingsObject& environment_settings_object, AK::URL base_url, size_t source_line_number, MutedErrors muted_errors) { diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.h b/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.h index d45800db02..8935baece9 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.h +++ b/Userland/Libraries/LibWeb/HTML/Scripting/ClassicScript.h @@ -15,6 +15,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/webappapis.html#classic-script class ClassicScript final : public Script { JS_CELL(ClassicScript, Script); + JS_DECLARE_ALLOCATOR(ClassicScript); public: virtual ~ClassicScript() override; diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/ModuleMap.cpp b/Userland/Libraries/LibWeb/HTML/Scripting/ModuleMap.cpp index a2f7c549b7..ccf28f998d 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/ModuleMap.cpp +++ b/Userland/Libraries/LibWeb/HTML/Scripting/ModuleMap.cpp @@ -8,6 +8,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(ModuleMap); + void ModuleMap::visit_edges(Visitor& visitor) { Base::visit_edges(visitor); diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/ModuleMap.h b/Userland/Libraries/LibWeb/HTML/Scripting/ModuleMap.h index 366c66d830..7cf5e53dd5 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/ModuleMap.h +++ b/Userland/Libraries/LibWeb/HTML/Scripting/ModuleMap.h @@ -37,6 +37,7 @@ private: // https://html.spec.whatwg.org/multipage/webappapis.html#module-map class ModuleMap final : public JS::Cell { JS_CELL(ModuleMap, Cell); + JS_DECLARE_ALLOCATOR(ModuleMap); public: ModuleMap() = default; diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/ModuleScript.cpp b/Userland/Libraries/LibWeb/HTML/Scripting/ModuleScript.cpp index 70b1310529..ec1de5b116 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/ModuleScript.cpp +++ b/Userland/Libraries/LibWeb/HTML/Scripting/ModuleScript.cpp @@ -13,6 +13,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(JavaScriptModuleScript); + ModuleScript::~ModuleScript() = default; ModuleScript::ModuleScript(AK::URL base_url, DeprecatedString filename, EnvironmentSettingsObject& environment_settings_object) diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/ModuleScript.h b/Userland/Libraries/LibWeb/HTML/Scripting/ModuleScript.h index 543a232b51..b2a42373e2 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/ModuleScript.h +++ b/Userland/Libraries/LibWeb/HTML/Scripting/ModuleScript.h @@ -24,6 +24,7 @@ protected: class JavaScriptModuleScript final : public ModuleScript { JS_CELL(JavaScriptModuleScript, ModuleScript); + JS_DECLARE_ALLOCATOR(JavaScriptModuleScript); public: virtual ~JavaScriptModuleScript() override; diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/Script.cpp b/Userland/Libraries/LibWeb/HTML/Scripting/Script.cpp index 65c0d56de2..4f1fae97bc 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/Script.cpp +++ b/Userland/Libraries/LibWeb/HTML/Scripting/Script.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Script); + Script::Script(AK::URL base_url, DeprecatedString filename, EnvironmentSettingsObject& environment_settings_object) : m_base_url(move(base_url)) , m_filename(move(filename)) diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/Script.h b/Userland/Libraries/LibWeb/HTML/Scripting/Script.h index 7ebec520dc..dd8a042bc2 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/Script.h +++ b/Userland/Libraries/LibWeb/HTML/Scripting/Script.h @@ -18,6 +18,7 @@ class Script : public JS::Cell , public JS::Script::HostDefined { JS_CELL(Script, JS::Cell); + JS_DECLARE_ALLOCATOR(Script); public: virtual ~Script() override; diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp b/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp index dae9498b5c..e05e71e460 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp +++ b/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp @@ -12,6 +12,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(WindowEnvironmentSettingsObject); + WindowEnvironmentSettingsObject::WindowEnvironmentSettingsObject(Window& window, NonnullOwnPtr execution_context) : EnvironmentSettingsObject(move(execution_context)) , m_window(window) diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.h b/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.h index da0ae20905..2217ec0388 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.h +++ b/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.h @@ -13,6 +13,7 @@ namespace Web::HTML { class WindowEnvironmentSettingsObject final : public EnvironmentSettingsObject { JS_CELL(WindowEnvironmentSettingsObject, EnvironmentSettingsObject); + JS_DECLARE_ALLOCATOR(WindowEnvironmentSettingsObject); public: static void setup(AK::URL const& creation_url, NonnullOwnPtr, Optional, AK::URL top_level_creation_url, Origin top_level_origin); diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.cpp b/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.cpp index b73b3b2550..78e6e9e738 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.cpp +++ b/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(WorkerEnvironmentSettingsObject); + JS::NonnullGCPtr WorkerEnvironmentSettingsObject::setup(NonnullOwnPtr execution_context /* FIXME: null or an environment reservedEnvironment, a URL topLevelCreationURL, and an origin topLevelOrigin */) { auto realm = execution_context->realm; diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h b/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h index 245009ce40..ba7d9f6d84 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h +++ b/Userland/Libraries/LibWeb/HTML/Scripting/WorkerEnvironmentSettingsObject.h @@ -15,6 +15,7 @@ namespace Web::HTML { class WorkerEnvironmentSettingsObject final : public EnvironmentSettingsObject { JS_CELL(WindowEnvironmentSettingsObject, EnvironmentSettingsObject); + JS_DECLARE_ALLOCATOR(WorkerEnvironmentSettingsObject); public: WorkerEnvironmentSettingsObject(NonnullOwnPtr execution_context, JS::NonnullGCPtr global_scope) diff --git a/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.cpp b/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.cpp index f5b4fc9440..eafaa5c9b6 100644 --- a/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.cpp +++ b/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(SessionHistoryEntry); + void SessionHistoryEntry::visit_edges(Cell::Visitor& visitor) { Base::visit_edges(visitor); diff --git a/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.h b/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.h index 1a859e1377..0c9feb4f3d 100644 --- a/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.h +++ b/Userland/Libraries/LibWeb/HTML/SessionHistoryEntry.h @@ -30,6 +30,7 @@ enum class ScrollRestorationMode { // https://html.spec.whatwg.org/multipage/history.html#session-history-entry struct SessionHistoryEntry final : public JS::Cell { JS_CELL(SessionHistoryEntry, JS::Cell); + JS_DECLARE_ALLOCATOR(SessionHistoryEntry); SessionHistoryEntry(); diff --git a/Userland/Libraries/LibWeb/HTML/SharedImageRequest.cpp b/Userland/Libraries/LibWeb/HTML/SharedImageRequest.cpp index 3e47ba3e9c..97aef9dff9 100644 --- a/Userland/Libraries/LibWeb/HTML/SharedImageRequest.cpp +++ b/Userland/Libraries/LibWeb/HTML/SharedImageRequest.cpp @@ -18,6 +18,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(SharedImageRequest); + JS::NonnullGCPtr SharedImageRequest::get_or_create(JS::Realm& realm, Page& page, AK::URL const& url) { auto document = Bindings::host_defined_environment_settings_object(realm).responsible_document(); diff --git a/Userland/Libraries/LibWeb/HTML/SharedImageRequest.h b/Userland/Libraries/LibWeb/HTML/SharedImageRequest.h index 39af3b17d8..f66f4a04fb 100644 --- a/Userland/Libraries/LibWeb/HTML/SharedImageRequest.h +++ b/Userland/Libraries/LibWeb/HTML/SharedImageRequest.h @@ -19,6 +19,7 @@ namespace Web::HTML { class SharedImageRequest : public JS::Cell { JS_CELL(ImageRequest, JS::Cell); + JS_DECLARE_ALLOCATOR(SharedImageRequest); public: [[nodiscard]] static JS::NonnullGCPtr get_or_create(JS::Realm&, Page&, AK::URL const&); diff --git a/Userland/Libraries/LibWeb/HTML/Storage.cpp b/Userland/Libraries/LibWeb/HTML/Storage.cpp index e681043d84..fb37675c77 100644 --- a/Userland/Libraries/LibWeb/HTML/Storage.cpp +++ b/Userland/Libraries/LibWeb/HTML/Storage.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Storage); + JS::NonnullGCPtr Storage::create(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/HTML/Storage.h b/Userland/Libraries/LibWeb/HTML/Storage.h index 382953c908..b9a961767b 100644 --- a/Userland/Libraries/LibWeb/HTML/Storage.h +++ b/Userland/Libraries/LibWeb/HTML/Storage.h @@ -15,6 +15,7 @@ namespace Web::HTML { class Storage : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(Storage, Bindings::LegacyPlatformObject); + JS_DECLARE_ALLOCATOR(Storage); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/HTML/SubmitEvent.cpp b/Userland/Libraries/LibWeb/HTML/SubmitEvent.cpp index 74f591dbda..08907a66df 100644 --- a/Userland/Libraries/LibWeb/HTML/SubmitEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/SubmitEvent.cpp @@ -9,6 +9,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(SubmitEvent); + JS::NonnullGCPtr SubmitEvent::create(JS::Realm& realm, FlyString const& event_name, SubmitEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/HTML/SubmitEvent.h b/Userland/Libraries/LibWeb/HTML/SubmitEvent.h index a37775a560..ff4db0a5d0 100644 --- a/Userland/Libraries/LibWeb/HTML/SubmitEvent.h +++ b/Userland/Libraries/LibWeb/HTML/SubmitEvent.h @@ -17,6 +17,7 @@ struct SubmitEventInit : public DOM::EventInit { class SubmitEvent final : public DOM::Event { WEB_PLATFORM_OBJECT(SubmitEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(SubmitEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, SubmitEventInit const& event_init); diff --git a/Userland/Libraries/LibWeb/HTML/TextMetrics.cpp b/Userland/Libraries/LibWeb/HTML/TextMetrics.cpp index e520a0c01e..0ae748109f 100644 --- a/Userland/Libraries/LibWeb/HTML/TextMetrics.cpp +++ b/Userland/Libraries/LibWeb/HTML/TextMetrics.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(TextMetrics); + JS::NonnullGCPtr TextMetrics::create(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/HTML/TextMetrics.h b/Userland/Libraries/LibWeb/HTML/TextMetrics.h index fe4b96d05e..4c392e701a 100644 --- a/Userland/Libraries/LibWeb/HTML/TextMetrics.h +++ b/Userland/Libraries/LibWeb/HTML/TextMetrics.h @@ -12,6 +12,7 @@ namespace Web::HTML { class TextMetrics : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(TextMetrics, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(TextMetrics); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/HTML/TimeRanges.cpp b/Userland/Libraries/LibWeb/HTML/TimeRanges.cpp index 37d7217c3d..52aa9fcf5a 100644 --- a/Userland/Libraries/LibWeb/HTML/TimeRanges.cpp +++ b/Userland/Libraries/LibWeb/HTML/TimeRanges.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(TimeRanges); + TimeRanges::TimeRanges(JS::Realm& realm) : Base(realm) { diff --git a/Userland/Libraries/LibWeb/HTML/TimeRanges.h b/Userland/Libraries/LibWeb/HTML/TimeRanges.h index 01714b36a2..bf4e3d4bbe 100644 --- a/Userland/Libraries/LibWeb/HTML/TimeRanges.h +++ b/Userland/Libraries/LibWeb/HTML/TimeRanges.h @@ -13,6 +13,7 @@ namespace Web::HTML { class TimeRanges final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(TimeRanges, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(TimeRanges); public: size_t length() const; diff --git a/Userland/Libraries/LibWeb/HTML/Timer.cpp b/Userland/Libraries/LibWeb/HTML/Timer.cpp index 2edf3869c2..d2e79ec64d 100644 --- a/Userland/Libraries/LibWeb/HTML/Timer.cpp +++ b/Userland/Libraries/LibWeb/HTML/Timer.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Timer); + JS::NonnullGCPtr Timer::create(JS::Object& window_or_worker_global_scope, i32 milliseconds, Function callback, i32 id) { auto heap_function_callback = JS::create_heap_function(window_or_worker_global_scope.heap(), move(callback)); diff --git a/Userland/Libraries/LibWeb/HTML/Timer.h b/Userland/Libraries/LibWeb/HTML/Timer.h index 5ea7fe3e4d..c507349149 100644 --- a/Userland/Libraries/LibWeb/HTML/Timer.h +++ b/Userland/Libraries/LibWeb/HTML/Timer.h @@ -19,6 +19,7 @@ namespace Web::HTML { class Timer final : public JS::Cell { JS_CELL(Timer, JS::Cell); + JS_DECLARE_ALLOCATOR(Timer); public: static JS::NonnullGCPtr create(JS::Object&, i32 milliseconds, Function callback, i32 id); diff --git a/Userland/Libraries/LibWeb/HTML/ToggleEvent.cpp b/Userland/Libraries/LibWeb/HTML/ToggleEvent.cpp index 79662d8924..55e52b831b 100644 --- a/Userland/Libraries/LibWeb/HTML/ToggleEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/ToggleEvent.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(ToggleEvent); + JS::NonnullGCPtr ToggleEvent::create(JS::Realm& realm, FlyString const& event_name, ToggleEventInit event_init) { return realm.heap().allocate(realm, realm, event_name, move(event_init)); diff --git a/Userland/Libraries/LibWeb/HTML/ToggleEvent.h b/Userland/Libraries/LibWeb/HTML/ToggleEvent.h index 45061991f6..f70882e6a9 100644 --- a/Userland/Libraries/LibWeb/HTML/ToggleEvent.h +++ b/Userland/Libraries/LibWeb/HTML/ToggleEvent.h @@ -19,6 +19,7 @@ struct ToggleEventInit : public DOM::EventInit { class ToggleEvent : public DOM::Event { WEB_PLATFORM_OBJECT(ToggleEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(ToggleEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, ToggleEventInit = {}); diff --git a/Userland/Libraries/LibWeb/HTML/TrackEvent.h b/Userland/Libraries/LibWeb/HTML/TrackEvent.h index 5e03d7456c..8b2b05d31a 100644 --- a/Userland/Libraries/LibWeb/HTML/TrackEvent.h +++ b/Userland/Libraries/LibWeb/HTML/TrackEvent.h @@ -21,6 +21,7 @@ struct TrackEventInit : public DOM::EventInit { class TrackEvent : public DOM::Event { WEB_PLATFORM_OBJECT(TrackEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(TrackEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, TrackEventInit = {}); diff --git a/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp b/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp index cfdec1ed13..dc1624602c 100644 --- a/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp +++ b/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp @@ -18,6 +18,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(TraversableNavigable); + TraversableNavigable::TraversableNavigable(Page& page) : m_page(page) { diff --git a/Userland/Libraries/LibWeb/HTML/TraversableNavigable.h b/Userland/Libraries/LibWeb/HTML/TraversableNavigable.h index f835192448..4915930cc9 100644 --- a/Userland/Libraries/LibWeb/HTML/TraversableNavigable.h +++ b/Userland/Libraries/LibWeb/HTML/TraversableNavigable.h @@ -16,6 +16,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/document-sequences.html#traversable-navigable class TraversableNavigable final : public Navigable { JS_CELL(TraversableNavigable, Navigable); + JS_DECLARE_ALLOCATOR(TraversableNavigable); public: static WebIDL::ExceptionOr> create_a_new_top_level_traversable(Page&, JS::GCPtr opener, String target_name); diff --git a/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp b/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp index 4e5f3bf05f..6ba37eafac 100644 --- a/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp +++ b/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp @@ -22,6 +22,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(VideoTrack); + static IDAllocator s_video_track_id_allocator; VideoTrack::VideoTrack(JS::Realm& realm, JS::NonnullGCPtr media_element, NonnullOwnPtr playback_manager) diff --git a/Userland/Libraries/LibWeb/HTML/VideoTrack.h b/Userland/Libraries/LibWeb/HTML/VideoTrack.h index 558010907d..ad6f48ab26 100644 --- a/Userland/Libraries/LibWeb/HTML/VideoTrack.h +++ b/Userland/Libraries/LibWeb/HTML/VideoTrack.h @@ -16,6 +16,7 @@ namespace Web::HTML { class VideoTrack final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(VideoTrack, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(VideoTrack); public: virtual ~VideoTrack() override; diff --git a/Userland/Libraries/LibWeb/HTML/VideoTrackList.cpp b/Userland/Libraries/LibWeb/HTML/VideoTrackList.cpp index c75b0f6730..8f0deb290d 100644 --- a/Userland/Libraries/LibWeb/HTML/VideoTrackList.cpp +++ b/Userland/Libraries/LibWeb/HTML/VideoTrackList.cpp @@ -13,6 +13,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(VideoTrackList); + VideoTrackList::VideoTrackList(JS::Realm& realm) : DOM::EventTarget(realm, MayInterfereWithIndexedPropertyAccess::Yes) , m_video_tracks(realm.heap()) diff --git a/Userland/Libraries/LibWeb/HTML/VideoTrackList.h b/Userland/Libraries/LibWeb/HTML/VideoTrackList.h index f0d12ce755..6839101c8a 100644 --- a/Userland/Libraries/LibWeb/HTML/VideoTrackList.h +++ b/Userland/Libraries/LibWeb/HTML/VideoTrackList.h @@ -16,6 +16,7 @@ namespace Web::HTML { class VideoTrackList final : public DOM::EventTarget { WEB_PLATFORM_OBJECT(VideoTrackList, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(VideoTrackList); public: ErrorOr add_track(Badge, JS::NonnullGCPtr); diff --git a/Userland/Libraries/LibWeb/HTML/Window.cpp b/Userland/Libraries/LibWeb/HTML/Window.cpp index 5130080fc8..e6fad1337b 100644 --- a/Userland/Libraries/LibWeb/HTML/Window.cpp +++ b/Userland/Libraries/LibWeb/HTML/Window.cpp @@ -70,6 +70,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Window); + // https://html.spec.whatwg.org/#run-the-animation-frame-callbacks void run_animation_frame_callbacks(DOM::Document& document, double) { diff --git a/Userland/Libraries/LibWeb/HTML/Window.h b/Userland/Libraries/LibWeb/HTML/Window.h index 1305165f37..c386af80f4 100644 --- a/Userland/Libraries/LibWeb/HTML/Window.h +++ b/Userland/Libraries/LibWeb/HTML/Window.h @@ -50,6 +50,7 @@ class Window final , public WindowOrWorkerGlobalScopeMixin , public Bindings::WindowGlobalMixin { WEB_PLATFORM_OBJECT(Window, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(Window); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/HTML/WindowProxy.cpp b/Userland/Libraries/LibWeb/HTML/WindowProxy.cpp index 0cd438bea1..7dfd310ff8 100644 --- a/Userland/Libraries/LibWeb/HTML/WindowProxy.cpp +++ b/Userland/Libraries/LibWeb/HTML/WindowProxy.cpp @@ -20,6 +20,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(WindowProxy); + // 7.4 The WindowProxy exotic object, https://html.spec.whatwg.org/multipage/window-object.html#the-windowproxy-exotic-object WindowProxy::WindowProxy(JS::Realm& realm) : JS::Object(realm, nullptr, MayInterfereWithIndexedPropertyAccess::Yes) diff --git a/Userland/Libraries/LibWeb/HTML/WindowProxy.h b/Userland/Libraries/LibWeb/HTML/WindowProxy.h index 7865a17a3c..c4276e9a67 100644 --- a/Userland/Libraries/LibWeb/HTML/WindowProxy.h +++ b/Userland/Libraries/LibWeb/HTML/WindowProxy.h @@ -16,6 +16,7 @@ namespace Web::HTML { class WindowProxy final : public JS::Object { JS_OBJECT(WindowProxy, JS::Object); + JS_DECLARE_ALLOCATOR(WindowProxy); public: virtual ~WindowProxy() override = default; diff --git a/Userland/Libraries/LibWeb/HTML/Worker.cpp b/Userland/Libraries/LibWeb/HTML/Worker.cpp index 31b922b4ea..ab9a4dd32d 100644 --- a/Userland/Libraries/LibWeb/HTML/Worker.cpp +++ b/Userland/Libraries/LibWeb/HTML/Worker.cpp @@ -15,6 +15,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(Worker); + // https://html.spec.whatwg.org/multipage/workers.html#dedicated-workers-and-the-worker-interface Worker::Worker(String const& script_url, WorkerOptions const options, DOM::Document& document) : DOM::EventTarget(document.realm()) diff --git a/Userland/Libraries/LibWeb/HTML/Worker.h b/Userland/Libraries/LibWeb/HTML/Worker.h index e9638d9209..2ccc4c4704 100644 --- a/Userland/Libraries/LibWeb/HTML/Worker.h +++ b/Userland/Libraries/LibWeb/HTML/Worker.h @@ -29,6 +29,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/workers.html#dedicated-workers-and-the-worker-interface class Worker : public DOM::EventTarget { WEB_PLATFORM_OBJECT(Worker, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(Worker); public: static WebIDL::ExceptionOr> create(String const& script_url, WorkerOptions const options, DOM::Document& document); diff --git a/Userland/Libraries/LibWeb/HTML/WorkerAgent.cpp b/Userland/Libraries/LibWeb/HTML/WorkerAgent.cpp index 20da5d4f80..1a0dbc298e 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerAgent.cpp +++ b/Userland/Libraries/LibWeb/HTML/WorkerAgent.cpp @@ -93,6 +93,8 @@ ErrorOr> launch_web_worker_process(Rea namespace Web::HTML { +JS_DEFINE_ALLOCATOR(WorkerAgent); + WorkerAgent::WorkerAgent(AK::URL url, WorkerOptions const& options) : m_worker_options(options) , m_url(move(url)) diff --git a/Userland/Libraries/LibWeb/HTML/WorkerAgent.h b/Userland/Libraries/LibWeb/HTML/WorkerAgent.h index 57a1baa56f..afd6f1f026 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerAgent.h +++ b/Userland/Libraries/LibWeb/HTML/WorkerAgent.h @@ -25,6 +25,7 @@ struct WorkerOptions { struct WorkerAgent : JS::Cell { JS_CELL(Agent, JS::Cell); + JS_DECLARE_ALLOCATOR(WorkerAgent); WorkerAgent(AK::URL url, WorkerOptions const& options); diff --git a/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp b/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp index fb2704632a..5ccc09d508 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp +++ b/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.cpp @@ -18,6 +18,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(WorkerGlobalScope); + WorkerGlobalScope::WorkerGlobalScope(JS::Realm& realm, Web::Page& page) : DOM::EventTarget(realm) , m_page(page) diff --git a/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.h b/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.h index b665e44ffd..acdb88c940 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.h +++ b/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.h @@ -33,6 +33,7 @@ class WorkerGlobalScope : public DOM::EventTarget , public WindowOrWorkerGlobalScopeMixin { WEB_PLATFORM_OBJECT(WorkerGlobalScope, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(WorkerGlobalScope); public: virtual ~WorkerGlobalScope() override; diff --git a/Userland/Libraries/LibWeb/HTML/WorkerLocation.cpp b/Userland/Libraries/LibWeb/HTML/WorkerLocation.cpp index c80ee7bddb..d2a8fd4a88 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerLocation.cpp +++ b/Userland/Libraries/LibWeb/HTML/WorkerLocation.cpp @@ -10,6 +10,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(WorkerLocation); + // https://html.spec.whatwg.org/multipage/workers.html#dom-workerlocation-href WebIDL::ExceptionOr WorkerLocation::href() const { diff --git a/Userland/Libraries/LibWeb/HTML/WorkerLocation.h b/Userland/Libraries/LibWeb/HTML/WorkerLocation.h index 748a044fa0..372f1ba7d9 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerLocation.h +++ b/Userland/Libraries/LibWeb/HTML/WorkerLocation.h @@ -13,6 +13,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/workers.html#worker-locations class WorkerLocation : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(WorkerLocation, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(WorkerLocation); public: virtual ~WorkerLocation() override; diff --git a/Userland/Libraries/LibWeb/HTML/WorkerNavigator.cpp b/Userland/Libraries/LibWeb/HTML/WorkerNavigator.cpp index 2585f260b4..5473c9c8e5 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerNavigator.cpp +++ b/Userland/Libraries/LibWeb/HTML/WorkerNavigator.cpp @@ -11,6 +11,8 @@ namespace Web::HTML { +JS_DEFINE_ALLOCATOR(WorkerNavigator); + JS::NonnullGCPtr WorkerNavigator::create(WorkerGlobalScope& global_scope) { return global_scope.heap().allocate(global_scope.realm(), global_scope); diff --git a/Userland/Libraries/LibWeb/HTML/WorkerNavigator.h b/Userland/Libraries/LibWeb/HTML/WorkerNavigator.h index d5e73cb22e..3ca0c1fb58 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerNavigator.h +++ b/Userland/Libraries/LibWeb/HTML/WorkerNavigator.h @@ -20,6 +20,7 @@ class WorkerNavigator : public Bindings::PlatformObject , public NavigatorLanguageMixin , public NavigatorOnLineMixin { WEB_PLATFORM_OBJECT(WorkerNavigator, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(WorkerNavigator); public: [[nodiscard]] static JS::NonnullGCPtr create(WorkerGlobalScope&); diff --git a/Userland/Libraries/LibWeb/HighResolutionTime/Performance.cpp b/Userland/Libraries/LibWeb/HighResolutionTime/Performance.cpp index da20ff69e7..e346436bf9 100644 --- a/Userland/Libraries/LibWeb/HighResolutionTime/Performance.cpp +++ b/Userland/Libraries/LibWeb/HighResolutionTime/Performance.cpp @@ -18,6 +18,8 @@ namespace Web::HighResolutionTime { +JS_DEFINE_ALLOCATOR(Performance); + Performance::Performance(HTML::Window& window) : DOM::EventTarget(window.realm()) , m_window(window) diff --git a/Userland/Libraries/LibWeb/HighResolutionTime/Performance.h b/Userland/Libraries/LibWeb/HighResolutionTime/Performance.h index a8d6881cda..cdda943ae8 100644 --- a/Userland/Libraries/LibWeb/HighResolutionTime/Performance.h +++ b/Userland/Libraries/LibWeb/HighResolutionTime/Performance.h @@ -16,6 +16,7 @@ namespace Web::HighResolutionTime { class Performance final : public DOM::EventTarget { WEB_PLATFORM_OBJECT(Performance, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(Performance); public: virtual ~Performance() override; diff --git a/Userland/Libraries/LibWeb/Internals/Internals.cpp b/Userland/Libraries/LibWeb/Internals/Internals.cpp index 28bf0cc0da..e25e17b1b6 100644 --- a/Userland/Libraries/LibWeb/Internals/Internals.cpp +++ b/Userland/Libraries/LibWeb/Internals/Internals.cpp @@ -18,6 +18,8 @@ namespace Web::Internals { +JS_DEFINE_ALLOCATOR(Internals); + Internals::Internals(JS::Realm& realm) : Bindings::PlatformObject(realm) { diff --git a/Userland/Libraries/LibWeb/Internals/Internals.h b/Userland/Libraries/LibWeb/Internals/Internals.h index 00f88fe724..b5c1a7fa62 100644 --- a/Userland/Libraries/LibWeb/Internals/Internals.h +++ b/Userland/Libraries/LibWeb/Internals/Internals.h @@ -12,6 +12,7 @@ namespace Web::Internals { class Internals final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Internals, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Internals); public: virtual ~Internals() override; diff --git a/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserver.cpp b/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserver.cpp index 65f29cee98..f9a9c7361c 100644 --- a/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserver.cpp +++ b/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserver.cpp @@ -14,6 +14,8 @@ namespace Web::IntersectionObserver { +JS_DEFINE_ALLOCATOR(IntersectionObserver); + // https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-intersectionobserver WebIDL::ExceptionOr> IntersectionObserver::construct_impl(JS::Realm& realm, JS::GCPtr callback, IntersectionObserverInit const& options) { diff --git a/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserver.h b/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserver.h index 9debb0ff7a..83fbee91c0 100644 --- a/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserver.h +++ b/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserver.h @@ -38,6 +38,7 @@ struct IntersectionObserverRegistration { // https://w3c.github.io/IntersectionObserver/#intersection-observer-interface class IntersectionObserver final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(IntersectionObserver, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(IntersectionObserver); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, JS::GCPtr callback, IntersectionObserverInit const& options = {}); diff --git a/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserverEntry.cpp b/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserverEntry.cpp index e24bdd6ac0..c6fd75503b 100644 --- a/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserverEntry.cpp +++ b/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserverEntry.cpp @@ -10,6 +10,8 @@ namespace Web::IntersectionObserver { +JS_DEFINE_ALLOCATOR(IntersectionObserverEntry); + WebIDL::ExceptionOr> IntersectionObserverEntry::construct_impl(JS::Realm& realm, Web::IntersectionObserver::IntersectionObserverEntryInit const& options) { auto& vm = realm.vm(); diff --git a/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserverEntry.h b/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserverEntry.h index 8726677ee5..fb66952f1b 100644 --- a/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserverEntry.h +++ b/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserverEntry.h @@ -37,6 +37,7 @@ struct IntersectionObserverEntryInit { class IntersectionObserverEntry final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(IntersectionObserverEntry, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(IntersectionObserverEntry); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, IntersectionObserverEntryInit const& options); diff --git a/Userland/Libraries/LibWeb/MathML/MathMLElement.cpp b/Userland/Libraries/LibWeb/MathML/MathMLElement.cpp index 5fe84814e4..6c4a761f3b 100644 --- a/Userland/Libraries/LibWeb/MathML/MathMLElement.cpp +++ b/Userland/Libraries/LibWeb/MathML/MathMLElement.cpp @@ -10,6 +10,8 @@ namespace Web::MathML { +JS_DEFINE_ALLOCATOR(MathMLElement); + MathMLElement::~MathMLElement() = default; MathMLElement::MathMLElement(DOM::Document& document, DOM::QualifiedName qualified_name) diff --git a/Userland/Libraries/LibWeb/MathML/MathMLElement.h b/Userland/Libraries/LibWeb/MathML/MathMLElement.h index ec4682f288..613bce5d46 100644 --- a/Userland/Libraries/LibWeb/MathML/MathMLElement.h +++ b/Userland/Libraries/LibWeb/MathML/MathMLElement.h @@ -15,6 +15,7 @@ namespace Web::MathML { class MathMLElement : public DOM::Element , public HTML::GlobalEventHandlers { WEB_PLATFORM_OBJECT(MathMLElement, Element); + JS_DECLARE_ALLOCATOR(MathMLElement); public: virtual ~MathMLElement() override; diff --git a/Userland/Libraries/LibWeb/NavigationTiming/PerformanceTiming.cpp b/Userland/Libraries/LibWeb/NavigationTiming/PerformanceTiming.cpp index f52c2effc5..605ab97bc7 100644 --- a/Userland/Libraries/LibWeb/NavigationTiming/PerformanceTiming.cpp +++ b/Userland/Libraries/LibWeb/NavigationTiming/PerformanceTiming.cpp @@ -8,6 +8,8 @@ namespace Web::NavigationTiming { +JS_DEFINE_ALLOCATOR(PerformanceTiming); + PerformanceTiming::PerformanceTiming(HTML::Window& window) : PlatformObject(window.realm()) , m_window(window) diff --git a/Userland/Libraries/LibWeb/NavigationTiming/PerformanceTiming.h b/Userland/Libraries/LibWeb/NavigationTiming/PerformanceTiming.h index fa711fb634..0c9798d9e0 100644 --- a/Userland/Libraries/LibWeb/NavigationTiming/PerformanceTiming.h +++ b/Userland/Libraries/LibWeb/NavigationTiming/PerformanceTiming.h @@ -12,6 +12,7 @@ namespace Web::NavigationTiming { class PerformanceTiming final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(PerformanceTiming, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(PerformanceTiming); public: using AllowOwnPtr = TrueType; diff --git a/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserver.cpp b/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserver.cpp index ae30169a9c..a7883419c3 100644 --- a/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserver.cpp +++ b/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserver.cpp @@ -16,6 +16,8 @@ namespace Web::PerformanceTimeline { +JS_DEFINE_ALLOCATOR(PerformanceObserver); + WebIDL::ExceptionOr> PerformanceObserver::construct_impl(JS::Realm& realm, JS::GCPtr callback) { return realm.heap().allocate(realm, realm, callback); diff --git a/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserver.h b/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserver.h index c1a0a66b76..d6da82ed13 100644 --- a/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserver.h +++ b/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserver.h @@ -21,6 +21,7 @@ struct PerformanceObserverInit { // https://w3c.github.io/performance-timeline/#dom-performanceobserver class PerformanceObserver final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(PerformanceObserver, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(PerformanceObserver); public: enum class ObserverType { diff --git a/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserverEntryList.cpp b/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserverEntryList.cpp index a78e661356..4cb3d5d277 100644 --- a/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserverEntryList.cpp +++ b/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserverEntryList.cpp @@ -13,6 +13,8 @@ namespace Web::PerformanceTimeline { +JS_DEFINE_ALLOCATOR(PerformanceObserverEntryList); + PerformanceObserverEntryList::PerformanceObserverEntryList(JS::Realm& realm, Vector>&& entry_list) : Bindings::PlatformObject(realm) , m_entry_list(move(entry_list)) diff --git a/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserverEntryList.h b/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserverEntryList.h index 04a9194a6a..8aa66939ad 100644 --- a/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserverEntryList.h +++ b/Userland/Libraries/LibWeb/PerformanceTimeline/PerformanceObserverEntryList.h @@ -13,6 +13,7 @@ namespace Web::PerformanceTimeline { // https://w3c.github.io/performance-timeline/#performanceobserverentrylist-interface class PerformanceObserverEntryList final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(PerformanceObserverEntryList, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(PerformanceObserverEntryList); public: virtual ~PerformanceObserverEntryList() override; diff --git a/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.cpp b/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.cpp index b0d6fb123d..d7c5cbb0c5 100644 --- a/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.cpp +++ b/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.cpp @@ -12,6 +12,8 @@ namespace Web::RequestIdleCallback { +JS_DEFINE_ALLOCATOR(IdleDeadline); + JS::NonnullGCPtr IdleDeadline::create(JS::Realm& realm, bool did_timeout) { return realm.heap().allocate(realm, realm, did_timeout); diff --git a/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.h b/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.h index 3776599c6d..9d54f9ed7b 100644 --- a/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.h +++ b/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.h @@ -13,6 +13,7 @@ namespace Web::RequestIdleCallback { class IdleDeadline final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(IdleDeadline, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(IdleDeadline); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, bool did_timeout = false); diff --git a/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.cpp b/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.cpp index 3c8473c0bf..8398e14750 100644 --- a/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.cpp +++ b/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.cpp @@ -10,6 +10,8 @@ namespace Web::ResizeObserver { +JS_DEFINE_ALLOCATOR(ResizeObserver); + // https://drafts.csswg.org/resize-observer/#dom-resizeobserver-resizeobserver WebIDL::ExceptionOr> ResizeObserver::construct_impl(JS::Realm& realm, WebIDL::CallbackType* callback) { diff --git a/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.h b/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.h index 021a8c297d..4a05669aea 100644 --- a/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.h +++ b/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.h @@ -17,6 +17,7 @@ struct ResizeObserverOptions { // https://drafts.csswg.org/resize-observer/#resize-observer-interface class ResizeObserver : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(ResizeObserver, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(ResizeObserver); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, WebIDL::CallbackType* callback); diff --git a/Userland/Libraries/LibWeb/SVG/SVGAnimatedLength.cpp b/Userland/Libraries/LibWeb/SVG/SVGAnimatedLength.cpp index 2c1c8b12a1..730ac0af60 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGAnimatedLength.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGAnimatedLength.cpp @@ -9,6 +9,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGAnimatedLength); + JS::NonnullGCPtr SVGAnimatedLength::create(JS::Realm& realm, JS::NonnullGCPtr base_val, JS::NonnullGCPtr anim_val) { return realm.heap().allocate(realm, realm, move(base_val), move(anim_val)); diff --git a/Userland/Libraries/LibWeb/SVG/SVGAnimatedLength.h b/Userland/Libraries/LibWeb/SVG/SVGAnimatedLength.h index 5aab8e6c1c..75f6f35895 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGAnimatedLength.h +++ b/Userland/Libraries/LibWeb/SVG/SVGAnimatedLength.h @@ -14,6 +14,7 @@ namespace Web::SVG { // https://www.w3.org/TR/SVG11/types.html#InterfaceSVGAnimatedLength class SVGAnimatedLength final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(SVGAnimatedLength, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(SVGAnimatedLength); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, JS::NonnullGCPtr base_val, JS::NonnullGCPtr anim_val); diff --git a/Userland/Libraries/LibWeb/SVG/SVGAnimatedNumber.cpp b/Userland/Libraries/LibWeb/SVG/SVGAnimatedNumber.cpp index 6304096fba..2213809890 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGAnimatedNumber.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGAnimatedNumber.cpp @@ -9,6 +9,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGAnimatedNumber); + JS::NonnullGCPtr SVGAnimatedNumber::create(JS::Realm& realm, float base_val, float anim_val) { return realm.heap().allocate(realm, realm, base_val, anim_val); diff --git a/Userland/Libraries/LibWeb/SVG/SVGAnimatedNumber.h b/Userland/Libraries/LibWeb/SVG/SVGAnimatedNumber.h index b08aa94331..f3f84161f0 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGAnimatedNumber.h +++ b/Userland/Libraries/LibWeb/SVG/SVGAnimatedNumber.h @@ -14,6 +14,7 @@ namespace Web::SVG { // https://www.w3.org/TR/SVG11/types.html#InterfaceSVGAnimatedNumber class SVGAnimatedNumber final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(SVGAnimatedNumber, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(SVGAnimatedNumber); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, float base_val, float anim_val); diff --git a/Userland/Libraries/LibWeb/SVG/SVGCircleElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGCircleElement.cpp index 19ded4af40..30aa0d39d1 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGCircleElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGCircleElement.cpp @@ -11,6 +11,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGCircleElement); + SVGCircleElement::SVGCircleElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGeometryElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGCircleElement.h b/Userland/Libraries/LibWeb/SVG/SVGCircleElement.h index 60a7952a31..06a334c160 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGCircleElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGCircleElement.h @@ -13,6 +13,7 @@ namespace Web::SVG { class SVGCircleElement final : public SVGGeometryElement { WEB_PLATFORM_OBJECT(SVGCircleElement, SVGGeometryElement); + JS_DECLARE_ALLOCATOR(SVGCircleElement); public: virtual ~SVGCircleElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGClipPathElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGClipPathElement.cpp index 4ded39d8c9..9813ed5123 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGClipPathElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGClipPathElement.cpp @@ -9,6 +9,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGClipPathElement); + SVGClipPathElement::SVGClipPathElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGClipPathElement.h b/Userland/Libraries/LibWeb/SVG/SVGClipPathElement.h index e5d562eba6..c748cbac63 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGClipPathElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGClipPathElement.h @@ -12,6 +12,7 @@ namespace Web::SVG { class SVGClipPathElement final : public SVGElement { WEB_PLATFORM_OBJECT(SVGClipPathElement, SVGElement); + JS_DECLARE_ALLOCATOR(SVGClipPathElement); public: virtual ~SVGClipPathElement(); diff --git a/Userland/Libraries/LibWeb/SVG/SVGDefsElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGDefsElement.cpp index 119830da61..c1d026ca9a 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGDefsElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGDefsElement.cpp @@ -10,6 +10,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGDefsElement); + SVGDefsElement::SVGDefsElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGraphicsElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGDefsElement.h b/Userland/Libraries/LibWeb/SVG/SVGDefsElement.h index a875239cca..6d5e63169f 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGDefsElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGDefsElement.h @@ -12,6 +12,7 @@ namespace Web::SVG { class SVGDefsElement final : public SVGGraphicsElement { WEB_PLATFORM_OBJECT(SVGDefsElement, SVGGraphicsElement); + JS_DECLARE_ALLOCATOR(SVGDefsElement); public: virtual ~SVGDefsElement(); diff --git a/Userland/Libraries/LibWeb/SVG/SVGEllipseElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGEllipseElement.cpp index f13b0d0619..1b85b6eb64 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGEllipseElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGEllipseElement.cpp @@ -11,6 +11,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGEllipseElement); + SVGEllipseElement::SVGEllipseElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGeometryElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGEllipseElement.h b/Userland/Libraries/LibWeb/SVG/SVGEllipseElement.h index f86bcf98ab..1ec2c07cb2 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGEllipseElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGEllipseElement.h @@ -13,6 +13,7 @@ namespace Web::SVG { class SVGEllipseElement final : public SVGGeometryElement { WEB_PLATFORM_OBJECT(SVGEllipseElement, SVGGeometryElement); + JS_DECLARE_ALLOCATOR(SVGEllipseElement); public: virtual ~SVGEllipseElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGForeignObjectElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGForeignObjectElement.cpp index c33d1f5434..09e83afd14 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGForeignObjectElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGForeignObjectElement.cpp @@ -15,6 +15,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGForeignObjectElement); + SVGForeignObjectElement::SVGForeignObjectElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGraphicsElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGForeignObjectElement.h b/Userland/Libraries/LibWeb/SVG/SVGForeignObjectElement.h index 4c7b2f12f0..94088ee79d 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGForeignObjectElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGForeignObjectElement.h @@ -13,6 +13,7 @@ namespace Web::SVG { // https://svgwg.org/svg2-draft/embedded.html#InterfaceSVGForeignObjectElement class SVGForeignObjectElement final : public SVGGraphicsElement { WEB_PLATFORM_OBJECT(SVGForeignObjectElement, SVGGraphicsElement); + JS_DECLARE_ALLOCATOR(SVGForeignObjectElement); public: virtual ~SVGForeignObjectElement() override; diff --git a/Userland/Libraries/LibWeb/SVG/SVGGElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGGElement.cpp index 25fdd0beee..87755e7de5 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGGElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGGElement.cpp @@ -11,6 +11,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGGElement); + SVGGElement::SVGGElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGraphicsElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGGElement.h b/Userland/Libraries/LibWeb/SVG/SVGGElement.h index 825983c2dc..3431a9ebe7 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGGElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGGElement.h @@ -12,6 +12,7 @@ namespace Web::SVG { class SVGGElement final : public SVGGraphicsElement { WEB_PLATFORM_OBJECT(SVGGElement, SVGGraphicsElement); + JS_DECLARE_ALLOCATOR(SVGGElement); public: virtual ~SVGGElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGLength.cpp b/Userland/Libraries/LibWeb/SVG/SVGLength.cpp index ae53ce61e0..499db9868e 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGLength.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGLength.cpp @@ -9,6 +9,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGLength); + JS::NonnullGCPtr SVGLength::create(JS::Realm& realm, u8 unit_type, float value) { return realm.heap().allocate(realm, realm, unit_type, value); diff --git a/Userland/Libraries/LibWeb/SVG/SVGLength.h b/Userland/Libraries/LibWeb/SVG/SVGLength.h index 832e19216e..b942654f4f 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGLength.h +++ b/Userland/Libraries/LibWeb/SVG/SVGLength.h @@ -14,6 +14,7 @@ namespace Web::SVG { // https://www.w3.org/TR/SVG11/types.html#InterfaceSVGLength class SVGLength : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(SVGLength, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(SVGLength); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, u8 unit_type, float value); diff --git a/Userland/Libraries/LibWeb/SVG/SVGLineElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGLineElement.cpp index 1c9ebaf7ef..227b9df6bd 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGLineElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGLineElement.cpp @@ -11,6 +11,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGLineElement); + SVGLineElement::SVGLineElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGeometryElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGLineElement.h b/Userland/Libraries/LibWeb/SVG/SVGLineElement.h index 7962c99610..c7fa5b3de6 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGLineElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGLineElement.h @@ -13,6 +13,7 @@ namespace Web::SVG { class SVGLineElement final : public SVGGeometryElement { WEB_PLATFORM_OBJECT(SVGLineElement, SVGGeometryElement); + JS_DECLARE_ALLOCATOR(SVGLineElement); public: virtual ~SVGLineElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGLinearGradientElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGLinearGradientElement.cpp index 319128ee5c..c9e2b35217 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGLinearGradientElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGLinearGradientElement.cpp @@ -13,6 +13,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGLinearGradientElement); + SVGLinearGradientElement::SVGLinearGradientElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGradientElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGLinearGradientElement.h b/Userland/Libraries/LibWeb/SVG/SVGLinearGradientElement.h index 144e5a03fb..88840c64b5 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGLinearGradientElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGLinearGradientElement.h @@ -14,6 +14,7 @@ namespace Web::SVG { class SVGLinearGradientElement : public SVGGradientElement { WEB_PLATFORM_OBJECT(SVGLinearGradientElement, SVGGradientElement); + JS_DECLARE_ALLOCATOR(SVGLinearGradientElement); public: virtual ~SVGLinearGradientElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGMaskElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGMaskElement.cpp index 5125a1c8ce..dd3277e2a7 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGMaskElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGMaskElement.cpp @@ -13,6 +13,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGMaskElement); + SVGMaskElement::SVGMaskElement(DOM::Document& document, DOM::QualifiedName tag_name) : SVGGraphicsElement(document, move(tag_name)) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGMaskElement.h b/Userland/Libraries/LibWeb/SVG/SVGMaskElement.h index cf81a7ae13..367258039a 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGMaskElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGMaskElement.h @@ -13,6 +13,7 @@ namespace Web::SVG { class SVGMaskElement final : public SVGGraphicsElement { WEB_PLATFORM_OBJECT(SVGMaskElement, SVGGraphicsElement); + JS_DECLARE_ALLOCATOR(SVGMaskElement); public: virtual ~SVGMaskElement() override; diff --git a/Userland/Libraries/LibWeb/SVG/SVGPathElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGPathElement.cpp index f8c77da146..76965ef90c 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGPathElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGPathElement.cpp @@ -14,6 +14,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGPathElement); + [[maybe_unused]] static void print_instruction(PathInstruction const& instruction) { VERIFY(PATH_DEBUG); diff --git a/Userland/Libraries/LibWeb/SVG/SVGPathElement.h b/Userland/Libraries/LibWeb/SVG/SVGPathElement.h index 56dc6ba6e6..00e90fd1ec 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGPathElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGPathElement.h @@ -15,6 +15,7 @@ namespace Web::SVG { class SVGPathElement final : public SVGGeometryElement { WEB_PLATFORM_OBJECT(SVGPathElement, SVGGeometryElement); + JS_DECLARE_ALLOCATOR(SVGPathElement); public: virtual ~SVGPathElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGPolygonElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGPolygonElement.cpp index e56d376fd4..6a9b799ce0 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGPolygonElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGPolygonElement.cpp @@ -11,6 +11,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGPolygonElement); + SVGPolygonElement::SVGPolygonElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGeometryElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGPolygonElement.h b/Userland/Libraries/LibWeb/SVG/SVGPolygonElement.h index a48a5603b7..cae0eebaea 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGPolygonElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGPolygonElement.h @@ -12,6 +12,7 @@ namespace Web::SVG { class SVGPolygonElement final : public SVGGeometryElement { WEB_PLATFORM_OBJECT(SVGPolygonElement, SVGGeometryElement); + JS_DECLARE_ALLOCATOR(SVGPolygonElement); public: virtual ~SVGPolygonElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGPolylineElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGPolylineElement.cpp index 9fb7e67961..17669f0699 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGPolylineElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGPolylineElement.cpp @@ -11,6 +11,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGPolylineElement); + SVGPolylineElement::SVGPolylineElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGeometryElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGPolylineElement.h b/Userland/Libraries/LibWeb/SVG/SVGPolylineElement.h index 76c1db57c6..c8ce7735c3 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGPolylineElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGPolylineElement.h @@ -12,6 +12,7 @@ namespace Web::SVG { class SVGPolylineElement final : public SVGGeometryElement { WEB_PLATFORM_OBJECT(SVGPolylineElement, SVGGeometryElement); + JS_DECLARE_ALLOCATOR(SVGPolylineElement); public: virtual ~SVGPolylineElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGRadialGradientElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGRadialGradientElement.cpp index ff032ca612..ac42c4b031 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGRadialGradientElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGRadialGradientElement.cpp @@ -10,6 +10,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGRadialGradientElement); + SVGRadialGradientElement::SVGRadialGradientElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGradientElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGRadialGradientElement.h b/Userland/Libraries/LibWeb/SVG/SVGRadialGradientElement.h index 0d86adb8c5..31222582ae 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGRadialGradientElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGRadialGradientElement.h @@ -14,6 +14,7 @@ namespace Web::SVG { class SVGRadialGradientElement : public SVGGradientElement { WEB_PLATFORM_OBJECT(SVGRadialGradientElement, SVGGradientElement); + JS_DECLARE_ALLOCATOR(SVGRadialGradientElement); public: virtual ~SVGRadialGradientElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGRectElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGRectElement.cpp index 11db73d2f2..a18f9509a5 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGRectElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGRectElement.cpp @@ -13,6 +13,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGRectElement); + SVGRectElement::SVGRectElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGeometryElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGRectElement.h b/Userland/Libraries/LibWeb/SVG/SVGRectElement.h index c8dc7f30e7..05caf1c374 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGRectElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGRectElement.h @@ -13,6 +13,7 @@ namespace Web::SVG { // https://www.w3.org/TR/SVG11/shapes.html#RectElement class SVGRectElement final : public SVGGeometryElement { WEB_PLATFORM_OBJECT(SVGRectElement, SVGGeometryElement); + JS_DECLARE_ALLOCATOR(SVGRectElement); public: virtual ~SVGRectElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGSVGElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGSVGElement.cpp index 1b7f4d2e57..c8f3afc885 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGSVGElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGSVGElement.cpp @@ -18,6 +18,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGSVGElement); + SVGSVGElement::SVGSVGElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGraphicsElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGSVGElement.h b/Userland/Libraries/LibWeb/SVG/SVGSVGElement.h index 4d3f643982..084ad02622 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGSVGElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGSVGElement.h @@ -15,6 +15,7 @@ namespace Web::SVG { class SVGSVGElement final : public SVGGraphicsElement { WEB_PLATFORM_OBJECT(SVGSVGElement, SVGGraphicsElement); + JS_DECLARE_ALLOCATOR(SVGSVGElement); public: virtual JS::GCPtr create_layout_node(NonnullRefPtr) override; diff --git a/Userland/Libraries/LibWeb/SVG/SVGScriptElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGScriptElement.cpp index 5f73f94c4c..e063caa5d3 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGScriptElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGScriptElement.cpp @@ -11,6 +11,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGScriptElement); + SVGScriptElement::SVGScriptElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGScriptElement.h b/Userland/Libraries/LibWeb/SVG/SVGScriptElement.h index 7c841c269f..e59dd4b9cf 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGScriptElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGScriptElement.h @@ -13,6 +13,7 @@ namespace Web::SVG { // https://www.w3.org/TR/SVG/interact.html#InterfaceSVGScriptElement class SVGScriptElement : public SVGElement { WEB_PLATFORM_OBJECT(SVGScriptElement, SVGElement); + JS_DECLARE_ALLOCATOR(SVGScriptElement); public: void process_the_script_element(); diff --git a/Userland/Libraries/LibWeb/SVG/SVGStopElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGStopElement.cpp index 7efc8d6645..4e27d3c84d 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGStopElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGStopElement.cpp @@ -14,6 +14,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGStopElement); + SVGStopElement::SVGStopElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGStopElement.h b/Userland/Libraries/LibWeb/SVG/SVGStopElement.h index 219c572b61..be36634e24 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGStopElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGStopElement.h @@ -15,6 +15,7 @@ namespace Web::SVG { class SVGStopElement final : public SVGElement { WEB_PLATFORM_OBJECT(SVGStopElement, SVGElement); + JS_DECLARE_ALLOCATOR(SVGStopElement); public: virtual ~SVGStopElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGStyleElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGStyleElement.cpp index 8917a55456..df2880305d 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGStyleElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGStyleElement.cpp @@ -8,6 +8,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGStyleElement); + SVGStyleElement::SVGStyleElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGStyleElement.h b/Userland/Libraries/LibWeb/SVG/SVGStyleElement.h index e8b2a5ed70..bc1ae41cd4 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGStyleElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGStyleElement.h @@ -13,6 +13,7 @@ namespace Web::SVG { class SVGStyleElement final : public SVGElement { WEB_PLATFORM_OBJECT(HTMLStyleElement, SVGElement); + JS_DECLARE_ALLOCATOR(SVGStyleElement); public: virtual ~SVGStyleElement() override; diff --git a/Userland/Libraries/LibWeb/SVG/SVGSymbolElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGSymbolElement.cpp index 2cf3c88918..f9ae07f692 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGSymbolElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGSymbolElement.cpp @@ -17,6 +17,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGSymbolElement); + SVGSymbolElement::SVGSymbolElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGraphicsElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGSymbolElement.h b/Userland/Libraries/LibWeb/SVG/SVGSymbolElement.h index 51ffdda933..f42b2a00be 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGSymbolElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGSymbolElement.h @@ -12,6 +12,7 @@ namespace Web::SVG { class SVGSymbolElement final : public SVGGraphicsElement { WEB_PLATFORM_OBJECT(SVGSymbolElement, SVGGraphicsElement); + JS_DECLARE_ALLOCATOR(SVGSymbolElement); public: virtual ~SVGSymbolElement() override = default; diff --git a/Userland/Libraries/LibWeb/SVG/SVGTSpanElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGTSpanElement.cpp index 4cb89ad5e4..ed264dbdba 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGTSpanElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGTSpanElement.cpp @@ -10,6 +10,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGTSpanElement); + SVGTSpanElement::SVGTSpanElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGTextPositioningElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGTSpanElement.h b/Userland/Libraries/LibWeb/SVG/SVGTSpanElement.h index ef840ef812..114e523226 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGTSpanElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGTSpanElement.h @@ -14,6 +14,7 @@ namespace Web::SVG { // https://svgwg.org/svg2-draft/text.html#InterfaceSVGTSpanElement class SVGTSpanElement : public SVGTextPositioningElement { WEB_PLATFORM_OBJECT(SVGTSpanElement, SVGTextPositioningElement); + JS_DECLARE_ALLOCATOR(SVGTSpanElement); public: virtual JS::GCPtr create_layout_node(NonnullRefPtr) override; diff --git a/Userland/Libraries/LibWeb/SVG/SVGTextElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGTextElement.cpp index 114ac28e06..f555a2fd29 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGTextElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGTextElement.cpp @@ -9,6 +9,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGTextElement); + SVGTextElement::SVGTextElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGTextPositioningElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGTextElement.h b/Userland/Libraries/LibWeb/SVG/SVGTextElement.h index 4d6adaa6dc..5e6f924297 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGTextElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGTextElement.h @@ -14,6 +14,7 @@ namespace Web::SVG { // https://svgwg.org/svg2-draft/text.html#InterfaceSVGTextElement class SVGTextElement : public SVGTextPositioningElement { WEB_PLATFORM_OBJECT(SVGTextElement, SVGTextPositioningElement); + JS_DECLARE_ALLOCATOR(SVGTextElement); public: virtual JS::GCPtr create_layout_node(NonnullRefPtr) override; diff --git a/Userland/Libraries/LibWeb/SVG/SVGTitleElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGTitleElement.cpp index 2f04625243..79d4df0447 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGTitleElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGTitleElement.cpp @@ -11,6 +11,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGTitleElement); + SVGTitleElement::SVGTitleElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGElement(document, move(qualified_name)) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGTitleElement.h b/Userland/Libraries/LibWeb/SVG/SVGTitleElement.h index ee468d9326..09ee74776e 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGTitleElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGTitleElement.h @@ -12,6 +12,7 @@ namespace Web::SVG { class SVGTitleElement final : public SVGElement { WEB_PLATFORM_OBJECT(SVGTitleElement, SVGElement); + JS_DECLARE_ALLOCATOR(SVGTitleElement); private: SVGTitleElement(DOM::Document&, DOM::QualifiedName); diff --git a/Userland/Libraries/LibWeb/SVG/SVGUseElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGUseElement.cpp index 84440d79b7..26c3e52fe3 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGUseElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGUseElement.cpp @@ -17,6 +17,8 @@ namespace Web::SVG { +JS_DEFINE_ALLOCATOR(SVGUseElement); + SVGUseElement::SVGUseElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGGraphicsElement(document, qualified_name) { diff --git a/Userland/Libraries/LibWeb/SVG/SVGUseElement.h b/Userland/Libraries/LibWeb/SVG/SVGUseElement.h index edbae451d3..0e59e25853 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGUseElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGUseElement.h @@ -16,6 +16,7 @@ namespace Web::SVG { class SVGUseElement final : public SVGGraphicsElement { WEB_PLATFORM_OBJECT(SVGUseElement, SVGGraphicsElement); + JS_DECLARE_ALLOCATOR(SVGUseElement); public: virtual ~SVGUseElement() override = default; diff --git a/Userland/Libraries/LibWeb/Selection/Selection.cpp b/Userland/Libraries/LibWeb/Selection/Selection.cpp index 7f6166df0d..6a1f6dd61d 100644 --- a/Userland/Libraries/LibWeb/Selection/Selection.cpp +++ b/Userland/Libraries/LibWeb/Selection/Selection.cpp @@ -11,6 +11,8 @@ namespace Web::Selection { +JS_DEFINE_ALLOCATOR(Selection); + JS::NonnullGCPtr Selection::create(JS::NonnullGCPtr realm, JS::NonnullGCPtr document) { return realm->heap().allocate(realm, realm, document); diff --git a/Userland/Libraries/LibWeb/Selection/Selection.h b/Userland/Libraries/LibWeb/Selection/Selection.h index f3df07e9a8..e2ba340a1d 100644 --- a/Userland/Libraries/LibWeb/Selection/Selection.h +++ b/Userland/Libraries/LibWeb/Selection/Selection.h @@ -13,6 +13,7 @@ namespace Web::Selection { class Selection final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Selection, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Selection); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::NonnullGCPtr, JS::NonnullGCPtr); diff --git a/Userland/Libraries/LibWeb/Streams/ByteLengthQueuingStrategy.cpp b/Userland/Libraries/LibWeb/Streams/ByteLengthQueuingStrategy.cpp index afbfadf65d..641a7efa09 100644 --- a/Userland/Libraries/LibWeb/Streams/ByteLengthQueuingStrategy.cpp +++ b/Userland/Libraries/LibWeb/Streams/ByteLengthQueuingStrategy.cpp @@ -13,6 +13,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(ByteLengthQueuingStrategy); + // https://streams.spec.whatwg.org/#blqs-constructor WebIDL::ExceptionOr> ByteLengthQueuingStrategy::construct_impl(JS::Realm& realm, QueuingStrategyInit const& init) { diff --git a/Userland/Libraries/LibWeb/Streams/ByteLengthQueuingStrategy.h b/Userland/Libraries/LibWeb/Streams/ByteLengthQueuingStrategy.h index de77eda1ee..56fd421066 100644 --- a/Userland/Libraries/LibWeb/Streams/ByteLengthQueuingStrategy.h +++ b/Userland/Libraries/LibWeb/Streams/ByteLengthQueuingStrategy.h @@ -17,6 +17,7 @@ namespace Web::Streams { // https://streams.spec.whatwg.org/#bytelengthqueuingstrategy class ByteLengthQueuingStrategy final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(ByteLengthQueuingStrategy, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(ByteLengthQueuingStrategy); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, QueuingStrategyInit const&); diff --git a/Userland/Libraries/LibWeb/Streams/CountQueuingStrategy.cpp b/Userland/Libraries/LibWeb/Streams/CountQueuingStrategy.cpp index 8e0ccc4080..3b851ee22e 100644 --- a/Userland/Libraries/LibWeb/Streams/CountQueuingStrategy.cpp +++ b/Userland/Libraries/LibWeb/Streams/CountQueuingStrategy.cpp @@ -13,6 +13,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(CountQueuingStrategy); + // https://streams.spec.whatwg.org/#blqs-constructor WebIDL::ExceptionOr> CountQueuingStrategy::construct_impl(JS::Realm& realm, QueuingStrategyInit const& init) { diff --git a/Userland/Libraries/LibWeb/Streams/CountQueuingStrategy.h b/Userland/Libraries/LibWeb/Streams/CountQueuingStrategy.h index 6f28d293a4..b2bd040813 100644 --- a/Userland/Libraries/LibWeb/Streams/CountQueuingStrategy.h +++ b/Userland/Libraries/LibWeb/Streams/CountQueuingStrategy.h @@ -17,6 +17,7 @@ namespace Web::Streams { // https://streams.spec.whatwg.org/#countqueuingstrategy class CountQueuingStrategy final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(CountQueuingStrategy, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(CountQueuingStrategy); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, QueuingStrategyInit const&); diff --git a/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.cpp b/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.cpp index a9498dd7d9..f8c73e0338 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.cpp +++ b/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.cpp @@ -11,6 +11,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(ReadableByteStreamController); + // https://streams.spec.whatwg.org/#rbs-controller-desired-size Optional ReadableByteStreamController::desired_size() const { diff --git a/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.h b/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.h index 620f2bdadc..247ef5b333 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.h +++ b/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.h @@ -72,6 +72,7 @@ struct ReadableByteStreamQueueEntry { // https://streams.spec.whatwg.org/#readablebytestreamcontroller class ReadableByteStreamController : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(ReadableByteStreamController, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(ReadableByteStreamController); public: virtual ~ReadableByteStreamController() override = default; diff --git a/Userland/Libraries/LibWeb/Streams/ReadableStream.cpp b/Userland/Libraries/LibWeb/Streams/ReadableStream.cpp index 41af767116..1d46bcacdb 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableStream.cpp +++ b/Userland/Libraries/LibWeb/Streams/ReadableStream.cpp @@ -18,6 +18,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(ReadableStream); + // https://streams.spec.whatwg.org/#rs-constructor WebIDL::ExceptionOr> ReadableStream::construct_impl(JS::Realm& realm, Optional> const& underlying_source_object, QueuingStrategy const& strategy) { diff --git a/Userland/Libraries/LibWeb/Streams/ReadableStream.h b/Userland/Libraries/LibWeb/Streams/ReadableStream.h index 347e73c4f6..b7deff5f86 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableStream.h +++ b/Userland/Libraries/LibWeb/Streams/ReadableStream.h @@ -29,6 +29,7 @@ struct ReadableStreamGetReaderOptions { // https://streams.spec.whatwg.org/#readablestream class ReadableStream final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(ReadableStream, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(ReadableStream); public: enum class State { diff --git a/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBReader.cpp b/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBReader.cpp index 50d62771e2..5d1345a2ef 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBReader.cpp +++ b/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBReader.cpp @@ -15,6 +15,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(ReadableStreamBYOBReader); + ReadableStreamBYOBReader::ReadableStreamBYOBReader(JS::Realm& realm) : Bindings::PlatformObject(realm) , ReadableStreamGenericReaderMixin(realm) diff --git a/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBReader.h b/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBReader.h index 065e841e9e..2a7ba2cf27 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBReader.h +++ b/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBReader.h @@ -38,6 +38,7 @@ class ReadableStreamBYOBReader final : public Bindings::PlatformObject , public ReadableStreamGenericReaderMixin { WEB_PLATFORM_OBJECT(ReadableStreamBYOBReader, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(ReadableStreamBYOBReader); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, JS::NonnullGCPtr); diff --git a/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBRequest.cpp b/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBRequest.cpp index 1ab501dd00..97a926d5cc 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBRequest.cpp +++ b/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBRequest.cpp @@ -9,6 +9,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(ReadableStreamBYOBRequest); + // https://streams.spec.whatwg.org/#rs-byob-request-view JS::GCPtr ReadableStreamBYOBRequest::view() { diff --git a/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBRequest.h b/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBRequest.h index 594cf66efe..ab73147f43 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBRequest.h +++ b/Userland/Libraries/LibWeb/Streams/ReadableStreamBYOBRequest.h @@ -16,6 +16,7 @@ namespace Web::Streams { // https://streams.spec.whatwg.org/#readablestreambyobrequest class ReadableStreamBYOBRequest : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(ReadableStreamBYOBRequest, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(ReadableStreamBYOBRequest); public: virtual ~ReadableStreamBYOBRequest() override = default; diff --git a/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultController.cpp b/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultController.cpp index 036c84995c..b3f4424937 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultController.cpp +++ b/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultController.cpp @@ -16,6 +16,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(ReadableStreamDefaultController); + ReadableStreamDefaultController::ReadableStreamDefaultController(JS::Realm& realm) : Bindings::PlatformObject(realm) { diff --git a/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultController.h b/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultController.h index 43bbd3e8ee..322d471438 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultController.h +++ b/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultController.h @@ -20,6 +20,7 @@ namespace Web::Streams { // https://streams.spec.whatwg.org/#readablestreamdefaultcontroller class ReadableStreamDefaultController : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(ReadableStreamDefaultController, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(ReadableStreamDefaultController); public: explicit ReadableStreamDefaultController(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultReader.cpp b/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultReader.cpp index 255e4d667c..162e7b4935 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultReader.cpp +++ b/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultReader.cpp @@ -23,6 +23,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(ReadableStreamDefaultReader); + void ReadLoopReadRequest::visit_edges(Visitor& visitor) { Base::visit_edges(visitor); diff --git a/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultReader.h b/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultReader.h index 4aa72986af..eb5e06594c 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultReader.h +++ b/Userland/Libraries/LibWeb/Streams/ReadableStreamDefaultReader.h @@ -65,6 +65,7 @@ class ReadableStreamDefaultReader final : public Bindings::PlatformObject , public ReadableStreamGenericReaderMixin { WEB_PLATFORM_OBJECT(ReadableStreamDefaultReader, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(ReadableStreamDefaultReader); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, JS::NonnullGCPtr); diff --git a/Userland/Libraries/LibWeb/Streams/TransformStream.cpp b/Userland/Libraries/LibWeb/Streams/TransformStream.cpp index c3319b99ee..63ca15df21 100644 --- a/Userland/Libraries/LibWeb/Streams/TransformStream.cpp +++ b/Userland/Libraries/LibWeb/Streams/TransformStream.cpp @@ -15,6 +15,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(TransformStream); + // https://streams.spec.whatwg.org/#ts-construct WebIDL::ExceptionOr> TransformStream::construct_impl(JS::Realm& realm, Optional> transformer_object, QueuingStrategy const& writable_strategy, QueuingStrategy const& readable_strategy) { diff --git a/Userland/Libraries/LibWeb/Streams/TransformStream.h b/Userland/Libraries/LibWeb/Streams/TransformStream.h index 0a9bddcfdd..e41f15bded 100644 --- a/Userland/Libraries/LibWeb/Streams/TransformStream.h +++ b/Userland/Libraries/LibWeb/Streams/TransformStream.h @@ -16,6 +16,7 @@ namespace Web::Streams { class TransformStream final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(TransformStream, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(TransformStream); public: virtual ~TransformStream() override; diff --git a/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.cpp b/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.cpp index dd5b072acb..6351807c6a 100644 --- a/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.cpp +++ b/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.cpp @@ -10,6 +10,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(TransformStreamDefaultController); + TransformStreamDefaultController::TransformStreamDefaultController(JS::Realm& realm) : Bindings::PlatformObject(realm) { diff --git a/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.h b/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.h index 8ccf196bc1..df8ce807e0 100644 --- a/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.h +++ b/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.h @@ -13,6 +13,7 @@ namespace Web::Streams { class TransformStreamDefaultController : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(TransformStreamDefaultController, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(TransformStreamDefaultController); public: explicit TransformStreamDefaultController(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/Streams/WritableStream.cpp b/Userland/Libraries/LibWeb/Streams/WritableStream.cpp index 78d5c9cb42..ca5b6166ed 100644 --- a/Userland/Libraries/LibWeb/Streams/WritableStream.cpp +++ b/Userland/Libraries/LibWeb/Streams/WritableStream.cpp @@ -16,6 +16,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(WritableStream); + // https://streams.spec.whatwg.org/#ws-constructor WebIDL::ExceptionOr> WritableStream::construct_impl(JS::Realm& realm, Optional> const& underlying_sink_object, QueuingStrategy const& strategy) { diff --git a/Userland/Libraries/LibWeb/Streams/WritableStream.h b/Userland/Libraries/LibWeb/Streams/WritableStream.h index 84a1fdaba3..263c49bfe1 100644 --- a/Userland/Libraries/LibWeb/Streams/WritableStream.h +++ b/Userland/Libraries/LibWeb/Streams/WritableStream.h @@ -34,6 +34,7 @@ struct PendingAbortRequest { // https://streams.spec.whatwg.org/#writablestream class WritableStream final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(WritableStream, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(WritableStream); public: enum class State { diff --git a/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultController.cpp b/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultController.cpp index 4bb9463c99..6b8a6d2730 100644 --- a/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultController.cpp +++ b/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultController.cpp @@ -10,6 +10,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(WritableStreamDefaultController); + void WritableStreamDefaultController::visit_edges(Visitor& visitor) { Base::visit_edges(visitor); diff --git a/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultController.h b/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultController.h index 7b6c7fd858..15a9a80490 100644 --- a/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultController.h +++ b/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultController.h @@ -15,6 +15,7 @@ namespace Web::Streams { // https://streams.spec.whatwg.org/#writablestreamdefaultcontroller class WritableStreamDefaultController final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(WritableStreamDefaultController, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(WritableStreamDefaultController); public: virtual ~WritableStreamDefaultController() override = default; diff --git a/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultWriter.cpp b/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultWriter.cpp index 85aa7c9926..8836196047 100644 --- a/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultWriter.cpp +++ b/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultWriter.cpp @@ -14,6 +14,8 @@ namespace Web::Streams { +JS_DEFINE_ALLOCATOR(WritableStreamDefaultWriter); + WebIDL::ExceptionOr> WritableStreamDefaultWriter::construct_impl(JS::Realm& realm, JS::NonnullGCPtr stream) { auto writer = realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultWriter.h b/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultWriter.h index 98d7dc7e3a..6f82fc5c77 100644 --- a/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultWriter.h +++ b/Userland/Libraries/LibWeb/Streams/WritableStreamDefaultWriter.h @@ -18,6 +18,7 @@ namespace Web::Streams { // https://streams.spec.whatwg.org/#writablestreamdefaultwriter class WritableStreamDefaultWriter final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(WritableStreamDefaultWriter, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(WritableStreamDefaultWriter); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, JS::NonnullGCPtr); diff --git a/Userland/Libraries/LibWeb/UIEvents/FocusEvent.cpp b/Userland/Libraries/LibWeb/UIEvents/FocusEvent.cpp index a666b99633..121d62f1e2 100644 --- a/Userland/Libraries/LibWeb/UIEvents/FocusEvent.cpp +++ b/Userland/Libraries/LibWeb/UIEvents/FocusEvent.cpp @@ -9,6 +9,8 @@ namespace Web::UIEvents { +JS_DEFINE_ALLOCATOR(FocusEvent); + WebIDL::ExceptionOr> FocusEvent::construct_impl(JS::Realm& realm, FlyString const& event_name, FocusEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/UIEvents/FocusEvent.h b/Userland/Libraries/LibWeb/UIEvents/FocusEvent.h index 1494706096..e538752e35 100644 --- a/Userland/Libraries/LibWeb/UIEvents/FocusEvent.h +++ b/Userland/Libraries/LibWeb/UIEvents/FocusEvent.h @@ -17,6 +17,7 @@ struct FocusEventInit : public UIEventInit { class FocusEvent final : public UIEvent { WEB_PLATFORM_OBJECT(FocusEvent, UIEvent); + JS_DECLARE_ALLOCATOR(FocusEvent); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, FlyString const& event_name, FocusEventInit const& event_init); diff --git a/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.cpp b/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.cpp index 7834a25e68..ee516f15de 100644 --- a/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.cpp +++ b/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.cpp @@ -11,6 +11,8 @@ namespace Web::UIEvents { +JS_DEFINE_ALLOCATOR(KeyboardEvent); + // https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode static unsigned long determine_key_code(KeyCode platform_key, u32 code_point) { diff --git a/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.h b/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.h index f7aa304e51..e8c40caede 100644 --- a/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.h +++ b/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.h @@ -34,6 +34,7 @@ enum class DOMKeyLocation { // https://www.w3.org/TR/uievents/#interface-keyboardevent class KeyboardEvent final : public UIEvent { WEB_PLATFORM_OBJECT(KeyboardEvent, UIEvent); + JS_DECLARE_ALLOCATOR(KeyboardEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, KeyboardEventInit const& = {}); diff --git a/Userland/Libraries/LibWeb/UIEvents/MouseEvent.cpp b/Userland/Libraries/LibWeb/UIEvents/MouseEvent.cpp index 03a7ecc6b7..7c781c8aba 100644 --- a/Userland/Libraries/LibWeb/UIEvents/MouseEvent.cpp +++ b/Userland/Libraries/LibWeb/UIEvents/MouseEvent.cpp @@ -14,6 +14,8 @@ namespace Web::UIEvents { +JS_DEFINE_ALLOCATOR(MouseEvent); + MouseEvent::MouseEvent(JS::Realm& realm, FlyString const& event_name, MouseEventInit const& event_init, double page_x, double page_y, double offset_x, double offset_y, unsigned modifiers) : UIEvent(realm, event_name, event_init) , m_screen_x(event_init.screen_x) diff --git a/Userland/Libraries/LibWeb/UIEvents/MouseEvent.h b/Userland/Libraries/LibWeb/UIEvents/MouseEvent.h index e1b41fe2d6..512b444941 100644 --- a/Userland/Libraries/LibWeb/UIEvents/MouseEvent.h +++ b/Userland/Libraries/LibWeb/UIEvents/MouseEvent.h @@ -26,6 +26,7 @@ struct MouseEventInit : public EventModifierInit { class MouseEvent : public UIEvent { WEB_PLATFORM_OBJECT(MouseEvent, UIEvent); + JS_DECLARE_ALLOCATOR(MouseEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, MouseEventInit const& = {}, double page_x = 0, double page_y = 0, double offset_x = 0, double offset_y = 0, unsigned modifiers = 0); diff --git a/Userland/Libraries/LibWeb/UIEvents/UIEvent.cpp b/Userland/Libraries/LibWeb/UIEvents/UIEvent.cpp index afaf7b50c0..4f3b1c9bfa 100644 --- a/Userland/Libraries/LibWeb/UIEvents/UIEvent.cpp +++ b/Userland/Libraries/LibWeb/UIEvents/UIEvent.cpp @@ -9,6 +9,8 @@ namespace Web::UIEvents { +JS_DEFINE_ALLOCATOR(UIEvent); + JS::NonnullGCPtr UIEvent::create(JS::Realm& realm, FlyString const& event_name) { return realm.heap().allocate(realm, realm, event_name); diff --git a/Userland/Libraries/LibWeb/UIEvents/UIEvent.h b/Userland/Libraries/LibWeb/UIEvents/UIEvent.h index 3879c1b0e4..44f3408805 100644 --- a/Userland/Libraries/LibWeb/UIEvents/UIEvent.h +++ b/Userland/Libraries/LibWeb/UIEvents/UIEvent.h @@ -19,6 +19,7 @@ struct UIEventInit : public DOM::EventInit { class UIEvent : public DOM::Event { WEB_PLATFORM_OBJECT(UIEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(UIEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& type); diff --git a/Userland/Libraries/LibWeb/UIEvents/WheelEvent.cpp b/Userland/Libraries/LibWeb/UIEvents/WheelEvent.cpp index 2dfd88bdcc..2d665ccbc1 100644 --- a/Userland/Libraries/LibWeb/UIEvents/WheelEvent.cpp +++ b/Userland/Libraries/LibWeb/UIEvents/WheelEvent.cpp @@ -12,6 +12,8 @@ namespace Web::UIEvents { +JS_DEFINE_ALLOCATOR(WheelEvent); + WheelEvent::WheelEvent(JS::Realm& realm, FlyString const& event_name, WheelEventInit const& event_init, double page_x, double page_y, double offset_x, double offset_y, unsigned modifiers) : MouseEvent(realm, event_name, event_init, page_x, page_y, offset_x, offset_y, modifiers) , m_delta_x(event_init.delta_x) diff --git a/Userland/Libraries/LibWeb/UIEvents/WheelEvent.h b/Userland/Libraries/LibWeb/UIEvents/WheelEvent.h index 2982770cd1..a93f35501d 100644 --- a/Userland/Libraries/LibWeb/UIEvents/WheelEvent.h +++ b/Userland/Libraries/LibWeb/UIEvents/WheelEvent.h @@ -27,6 +27,7 @@ struct WheelEventInit : public MouseEventInit { class WheelEvent final : public MouseEvent { WEB_PLATFORM_OBJECT(WheelEvent, MouseEvent); + JS_DECLARE_ALLOCATOR(WheelEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, WheelEventInit const& event_init = {}, double page_x = 0, double page_y = 0, double offset_x = 0, double offset_y = 0, unsigned modifiers = 0); diff --git a/Userland/Libraries/LibWeb/URL/URL.cpp b/Userland/Libraries/LibWeb/URL/URL.cpp index 5f0e8b1e0d..3db2e884f6 100644 --- a/Userland/Libraries/LibWeb/URL/URL.cpp +++ b/Userland/Libraries/LibWeb/URL/URL.cpp @@ -16,6 +16,8 @@ namespace Web::URL { +JS_DEFINE_ALLOCATOR(URL); + JS::NonnullGCPtr URL::create(JS::Realm& realm, AK::URL url, JS::NonnullGCPtr query) { return realm.heap().allocate(realm, realm, move(url), move(query)); diff --git a/Userland/Libraries/LibWeb/URL/URL.h b/Userland/Libraries/LibWeb/URL/URL.h index e3fd2f2e52..f8a70748d1 100644 --- a/Userland/Libraries/LibWeb/URL/URL.h +++ b/Userland/Libraries/LibWeb/URL/URL.h @@ -17,6 +17,7 @@ namespace Web::URL { class URL : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(URL, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(URL); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, AK::URL, JS::NonnullGCPtr query); diff --git a/Userland/Libraries/LibWeb/URL/URLSearchParams.cpp b/Userland/Libraries/LibWeb/URL/URLSearchParams.cpp index 97b2893918..0f1c6d392c 100644 --- a/Userland/Libraries/LibWeb/URL/URLSearchParams.cpp +++ b/Userland/Libraries/LibWeb/URL/URLSearchParams.cpp @@ -17,6 +17,8 @@ namespace Web::URL { +JS_DEFINE_ALLOCATOR(URLSearchParams); + URLSearchParams::URLSearchParams(JS::Realm& realm, Vector list) : PlatformObject(realm) , m_list(move(list)) diff --git a/Userland/Libraries/LibWeb/URL/URLSearchParams.h b/Userland/Libraries/LibWeb/URL/URLSearchParams.h index f248e41380..f6acea5bae 100644 --- a/Userland/Libraries/LibWeb/URL/URLSearchParams.h +++ b/Userland/Libraries/LibWeb/URL/URLSearchParams.h @@ -21,6 +21,7 @@ ErrorOr> url_decode(StringView); class URLSearchParams : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(URLSearchParams, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(URLSearchParams); public: static WebIDL::ExceptionOr> create(JS::Realm&, Vector list); diff --git a/Userland/Libraries/LibWeb/URL/URLSearchParamsIterator.cpp b/Userland/Libraries/LibWeb/URL/URLSearchParamsIterator.cpp index ba058645c2..035ab95970 100644 --- a/Userland/Libraries/LibWeb/URL/URLSearchParamsIterator.cpp +++ b/Userland/Libraries/LibWeb/URL/URLSearchParamsIterator.cpp @@ -23,6 +23,8 @@ void Intrinsics::create_web_prototype_and_constructor> URLSearchParamsIterator::create(URLSearchParams const& url_search_params, JS::Object::PropertyKind iteration_kind) { return url_search_params.heap().allocate(url_search_params.realm(), url_search_params, iteration_kind); diff --git a/Userland/Libraries/LibWeb/URL/URLSearchParamsIterator.h b/Userland/Libraries/LibWeb/URL/URLSearchParamsIterator.h index 7b2d81b2d4..cb41590eb0 100644 --- a/Userland/Libraries/LibWeb/URL/URLSearchParamsIterator.h +++ b/Userland/Libraries/LibWeb/URL/URLSearchParamsIterator.h @@ -13,6 +13,7 @@ namespace Web::URL { class URLSearchParamsIterator : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(URLSearchParamsIterator, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(URLSearchParamsIterator); public: static WebIDL::ExceptionOr> create(URLSearchParams const&, JS::Object::PropertyKind iteration_kind); diff --git a/Userland/Libraries/LibWeb/UserTiming/PerformanceMark.cpp b/Userland/Libraries/LibWeb/UserTiming/PerformanceMark.cpp index d2d6f268cc..efbdd1e264 100644 --- a/Userland/Libraries/LibWeb/UserTiming/PerformanceMark.cpp +++ b/Userland/Libraries/LibWeb/UserTiming/PerformanceMark.cpp @@ -16,6 +16,8 @@ namespace Web::UserTiming { +JS_DEFINE_ALLOCATOR(PerformanceMark); + PerformanceMark::PerformanceMark(JS::Realm& realm, String const& name, HighResolutionTime::DOMHighResTimeStamp start_time, HighResolutionTime::DOMHighResTimeStamp duration, JS::Value detail) : PerformanceTimeline::PerformanceEntry(realm, name, start_time, duration) , m_detail(detail) diff --git a/Userland/Libraries/LibWeb/UserTiming/PerformanceMark.h b/Userland/Libraries/LibWeb/UserTiming/PerformanceMark.h index 0013546ee0..f251d3e5ef 100644 --- a/Userland/Libraries/LibWeb/UserTiming/PerformanceMark.h +++ b/Userland/Libraries/LibWeb/UserTiming/PerformanceMark.h @@ -19,6 +19,7 @@ struct PerformanceMarkOptions { // https://w3c.github.io/user-timing/#dom-performancemark class PerformanceMark final : public PerformanceTimeline::PerformanceEntry { WEB_PLATFORM_OBJECT(PerformanceMark, PerformanceTimeline::PerformanceEntry); + JS_DECLARE_ALLOCATOR(PerformanceMark); public: virtual ~PerformanceMark(); diff --git a/Userland/Libraries/LibWeb/UserTiming/PerformanceMeasure.cpp b/Userland/Libraries/LibWeb/UserTiming/PerformanceMeasure.cpp index 0c88c27a24..710c9b370c 100644 --- a/Userland/Libraries/LibWeb/UserTiming/PerformanceMeasure.cpp +++ b/Userland/Libraries/LibWeb/UserTiming/PerformanceMeasure.cpp @@ -16,6 +16,8 @@ namespace Web::UserTiming { +JS_DEFINE_ALLOCATOR(PerformanceMeasure); + PerformanceMeasure::PerformanceMeasure(JS::Realm& realm, String const& name, HighResolutionTime::DOMHighResTimeStamp start_time, HighResolutionTime::DOMHighResTimeStamp duration, JS::Value detail) : PerformanceTimeline::PerformanceEntry(realm, name, start_time, duration) , m_detail(detail) diff --git a/Userland/Libraries/LibWeb/UserTiming/PerformanceMeasure.h b/Userland/Libraries/LibWeb/UserTiming/PerformanceMeasure.h index a8cd45e3ad..cc423fdf5c 100644 --- a/Userland/Libraries/LibWeb/UserTiming/PerformanceMeasure.h +++ b/Userland/Libraries/LibWeb/UserTiming/PerformanceMeasure.h @@ -21,6 +21,7 @@ struct PerformanceMeasureOptions { // https://w3c.github.io/user-timing/#dom-performancemeasure class PerformanceMeasure final : public PerformanceTimeline::PerformanceEntry { WEB_PLATFORM_OBJECT(PerformanceMeasure, PerformanceTimeline::PerformanceEntry); + JS_DECLARE_ALLOCATOR(PerformanceMeasure); public: virtual ~PerformanceMeasure(); diff --git a/Userland/Libraries/LibWeb/WebAssembly/Instance.cpp b/Userland/Libraries/LibWeb/WebAssembly/Instance.cpp index 9fb77abf59..2222582368 100644 --- a/Userland/Libraries/LibWeb/WebAssembly/Instance.cpp +++ b/Userland/Libraries/LibWeb/WebAssembly/Instance.cpp @@ -20,6 +20,8 @@ namespace Web::WebAssembly { +JS_DEFINE_ALLOCATOR(Instance); + WebIDL::ExceptionOr> Instance::construct_impl(JS::Realm& realm, Module& module, Optional>& import_object) { // FIXME: Implement the importObject parameter. diff --git a/Userland/Libraries/LibWeb/WebAssembly/Instance.h b/Userland/Libraries/LibWeb/WebAssembly/Instance.h index 0c36f89ee6..c657a3e70e 100644 --- a/Userland/Libraries/LibWeb/WebAssembly/Instance.h +++ b/Userland/Libraries/LibWeb/WebAssembly/Instance.h @@ -18,6 +18,7 @@ namespace Web::WebAssembly { class Instance : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Instance, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Instance); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, Module& module, Optional>& import_object); diff --git a/Userland/Libraries/LibWeb/WebAssembly/Memory.cpp b/Userland/Libraries/LibWeb/WebAssembly/Memory.cpp index 864baf1c44..66b92b636e 100644 --- a/Userland/Libraries/LibWeb/WebAssembly/Memory.cpp +++ b/Userland/Libraries/LibWeb/WebAssembly/Memory.cpp @@ -14,6 +14,8 @@ namespace Web::WebAssembly { +JS_DEFINE_ALLOCATOR(Memory); + WebIDL::ExceptionOr> Memory::construct_impl(JS::Realm& realm, MemoryDescriptor& descriptor) { auto& vm = realm.vm(); diff --git a/Userland/Libraries/LibWeb/WebAssembly/Memory.h b/Userland/Libraries/LibWeb/WebAssembly/Memory.h index 3176ad0d52..180bc29250 100644 --- a/Userland/Libraries/LibWeb/WebAssembly/Memory.h +++ b/Userland/Libraries/LibWeb/WebAssembly/Memory.h @@ -24,6 +24,7 @@ struct MemoryDescriptor { class Memory : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Memory, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Memory); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, MemoryDescriptor& descriptor); diff --git a/Userland/Libraries/LibWeb/WebAssembly/Module.cpp b/Userland/Libraries/LibWeb/WebAssembly/Module.cpp index c4d45dbcbe..e83d601ffe 100644 --- a/Userland/Libraries/LibWeb/WebAssembly/Module.cpp +++ b/Userland/Libraries/LibWeb/WebAssembly/Module.cpp @@ -14,6 +14,8 @@ namespace Web::WebAssembly { +JS_DEFINE_ALLOCATOR(Module); + WebIDL::ExceptionOr> Module::construct_impl(JS::Realm& realm, JS::Handle& bytes) { auto& vm = realm.vm(); diff --git a/Userland/Libraries/LibWeb/WebAssembly/Module.h b/Userland/Libraries/LibWeb/WebAssembly/Module.h index e5fb0bc56e..0433ec1405 100644 --- a/Userland/Libraries/LibWeb/WebAssembly/Module.h +++ b/Userland/Libraries/LibWeb/WebAssembly/Module.h @@ -18,6 +18,7 @@ namespace Web::WebAssembly { class Module : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Module, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Module); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, JS::Handle& bytes); diff --git a/Userland/Libraries/LibWeb/WebAssembly/Table.cpp b/Userland/Libraries/LibWeb/WebAssembly/Table.cpp index 0c192fe1c6..631041c437 100644 --- a/Userland/Libraries/LibWeb/WebAssembly/Table.cpp +++ b/Userland/Libraries/LibWeb/WebAssembly/Table.cpp @@ -14,6 +14,8 @@ namespace Web::WebAssembly { +JS_DEFINE_ALLOCATOR(Table); + static Wasm::ValueType table_kind_to_value_type(Bindings::TableKind kind) { switch (kind) { diff --git a/Userland/Libraries/LibWeb/WebAssembly/Table.h b/Userland/Libraries/LibWeb/WebAssembly/Table.h index b70fb06509..98a7283558 100644 --- a/Userland/Libraries/LibWeb/WebAssembly/Table.h +++ b/Userland/Libraries/LibWeb/WebAssembly/Table.h @@ -26,6 +26,7 @@ struct TableDescriptor { class Table : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Table, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(Table); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, TableDescriptor& descriptor, JS::Value value); diff --git a/Userland/Libraries/LibWeb/WebAudio/AudioContext.cpp b/Userland/Libraries/LibWeb/WebAudio/AudioContext.cpp index af44cf9a4b..7efec8c8db 100644 --- a/Userland/Libraries/LibWeb/WebAudio/AudioContext.cpp +++ b/Userland/Libraries/LibWeb/WebAudio/AudioContext.cpp @@ -12,6 +12,8 @@ namespace Web::WebAudio { +JS_DEFINE_ALLOCATOR(AudioContext); + // https://webaudio.github.io/web-audio-api/#dom-audiocontext-audiocontext WebIDL::ExceptionOr> AudioContext::construct_impl(JS::Realm& realm, AudioContextOptions const& context_options) { diff --git a/Userland/Libraries/LibWeb/WebAudio/AudioContext.h b/Userland/Libraries/LibWeb/WebAudio/AudioContext.h index 8cdfa7aa52..835c0c4040 100644 --- a/Userland/Libraries/LibWeb/WebAudio/AudioContext.h +++ b/Userland/Libraries/LibWeb/WebAudio/AudioContext.h @@ -25,6 +25,7 @@ struct AudioTimestamp { // https://webaudio.github.io/web-audio-api/#AudioContext class AudioContext final : public BaseAudioContext { WEB_PLATFORM_OBJECT(AudioContext, BaseAudioContext); + JS_DECLARE_ALLOCATOR(AudioContext); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, AudioContextOptions const& context_options = {}); diff --git a/Userland/Libraries/LibWeb/WebGL/WebGLContextEvent.cpp b/Userland/Libraries/LibWeb/WebGL/WebGLContextEvent.cpp index 2049bc3383..6716ca2bf3 100644 --- a/Userland/Libraries/LibWeb/WebGL/WebGLContextEvent.cpp +++ b/Userland/Libraries/LibWeb/WebGL/WebGLContextEvent.cpp @@ -9,6 +9,8 @@ namespace Web::WebGL { +JS_DEFINE_ALLOCATOR(WebGLContextEvent); + JS::NonnullGCPtr WebGLContextEvent::create(JS::Realm& realm, FlyString const& event_name, WebGLContextEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/WebGL/WebGLContextEvent.h b/Userland/Libraries/LibWeb/WebGL/WebGLContextEvent.h index a4dad188e3..719db17fa2 100644 --- a/Userland/Libraries/LibWeb/WebGL/WebGLContextEvent.h +++ b/Userland/Libraries/LibWeb/WebGL/WebGLContextEvent.h @@ -18,6 +18,7 @@ struct WebGLContextEventInit final : public DOM::EventInit { class WebGLContextEvent final : public DOM::Event { WEB_PLATFORM_OBJECT(WebGLContextEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(WebGLContextEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& type, WebGLContextEventInit const&); diff --git a/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.cpp b/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.cpp index 76e5a2a767..2596ce27b7 100644 --- a/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.cpp +++ b/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.cpp @@ -13,6 +13,8 @@ namespace Web::WebGL { +JS_DEFINE_ALLOCATOR(WebGLRenderingContext); + // https://www.khronos.org/registry/webgl/specs/latest/1.0/#fire-a-webgl-context-event static void fire_webgl_context_event(HTML::HTMLCanvasElement& canvas_element, FlyString const& type) { diff --git a/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.h b/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.h index b31a6742ee..3312e453cc 100644 --- a/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.h +++ b/Userland/Libraries/LibWeb/WebGL/WebGLRenderingContext.h @@ -14,6 +14,7 @@ namespace Web::WebGL { class WebGLRenderingContext final : public WebGLRenderingContextBase { WEB_PLATFORM_OBJECT(WebGLRenderingContext, WebGLRenderingContextBase); + JS_DECLARE_ALLOCATOR(WebGLRenderingContext); public: static JS::ThrowCompletionOr> create(JS::Realm&, HTML::HTMLCanvasElement& canvas_element, JS::Value options); diff --git a/Userland/Libraries/LibWeb/WebIDL/CallbackType.cpp b/Userland/Libraries/LibWeb/WebIDL/CallbackType.cpp index df3292b334..5810e0cd50 100644 --- a/Userland/Libraries/LibWeb/WebIDL/CallbackType.cpp +++ b/Userland/Libraries/LibWeb/WebIDL/CallbackType.cpp @@ -10,6 +10,8 @@ namespace Web::WebIDL { +JS_DEFINE_ALLOCATOR(CallbackType); + CallbackType::CallbackType(JS::Object& callback, HTML::EnvironmentSettingsObject& callback_context, OperationReturnsPromise operation_returns_promise) : callback(callback) , callback_context(callback_context) diff --git a/Userland/Libraries/LibWeb/WebIDL/CallbackType.h b/Userland/Libraries/LibWeb/WebIDL/CallbackType.h index daff83ac33..dbcd8cf2f7 100644 --- a/Userland/Libraries/LibWeb/WebIDL/CallbackType.h +++ b/Userland/Libraries/LibWeb/WebIDL/CallbackType.h @@ -8,6 +8,7 @@ #pragma once #include +#include #include namespace Web::WebIDL { @@ -20,6 +21,7 @@ enum class OperationReturnsPromise { // https://webidl.spec.whatwg.org/#idl-callback-interface class CallbackType final : public JS::Cell { JS_CELL(CallbackType, JS::Cell); + JS_DECLARE_ALLOCATOR(CallbackType); public: CallbackType(JS::Object& callback, HTML::EnvironmentSettingsObject& callback_context, OperationReturnsPromise = OperationReturnsPromise::No); diff --git a/Userland/Libraries/LibWeb/WebIDL/DOMException.cpp b/Userland/Libraries/LibWeb/WebIDL/DOMException.cpp index 893e642ced..79f44d2aef 100644 --- a/Userland/Libraries/LibWeb/WebIDL/DOMException.cpp +++ b/Userland/Libraries/LibWeb/WebIDL/DOMException.cpp @@ -9,6 +9,8 @@ namespace Web::WebIDL { +JS_DEFINE_ALLOCATOR(DOMException); + JS::NonnullGCPtr DOMException::create(JS::Realm& realm, FlyString const& name, FlyString const& message) { return realm.heap().allocate(realm, realm, name, message); diff --git a/Userland/Libraries/LibWeb/WebIDL/DOMException.h b/Userland/Libraries/LibWeb/WebIDL/DOMException.h index 229bd6d7a0..5ec14a2edd 100644 --- a/Userland/Libraries/LibWeb/WebIDL/DOMException.h +++ b/Userland/Libraries/LibWeb/WebIDL/DOMException.h @@ -91,6 +91,7 @@ static u16 get_legacy_code_for_name(FlyString const& name) // https://webidl.spec.whatwg.org/#idl-DOMException class DOMException final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(DOMException, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(DOMException); public: static JS::NonnullGCPtr create(JS::Realm& realm, FlyString const& name, FlyString const& message); diff --git a/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp b/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp index 9904c7f113..aefb786ad5 100644 --- a/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp +++ b/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp @@ -26,6 +26,8 @@ namespace Web::WebSockets { +JS_DEFINE_ALLOCATOR(WebSocket); + static RefPtr s_websocket_client_manager; void WebSocketClientManager::initialize(RefPtr websocket_client_manager) diff --git a/Userland/Libraries/LibWeb/WebSockets/WebSocket.h b/Userland/Libraries/LibWeb/WebSockets/WebSocket.h index 9d7ba33a2c..f8735e9499 100644 --- a/Userland/Libraries/LibWeb/WebSockets/WebSocket.h +++ b/Userland/Libraries/LibWeb/WebSockets/WebSocket.h @@ -29,6 +29,7 @@ class WebSocketClientManager; class WebSocket final : public DOM::EventTarget { WEB_PLATFORM_OBJECT(WebSocket, DOM::EventTarget); + JS_DECLARE_ALLOCATOR(WebSocket); public: enum class ReadyState : u16 { diff --git a/Userland/Libraries/LibWeb/XHR/FormData.cpp b/Userland/Libraries/LibWeb/XHR/FormData.cpp index 5689ea3fc2..d9bd3f79b9 100644 --- a/Userland/Libraries/LibWeb/XHR/FormData.cpp +++ b/Userland/Libraries/LibWeb/XHR/FormData.cpp @@ -15,6 +15,8 @@ namespace Web::XHR { +JS_DEFINE_ALLOCATOR(FormData); + // https://xhr.spec.whatwg.org/#dom-formdata WebIDL::ExceptionOr> FormData::construct_impl(JS::Realm& realm, Optional> form) { diff --git a/Userland/Libraries/LibWeb/XHR/FormData.h b/Userland/Libraries/LibWeb/XHR/FormData.h index 4660a208dd..5d2571eabe 100644 --- a/Userland/Libraries/LibWeb/XHR/FormData.h +++ b/Userland/Libraries/LibWeb/XHR/FormData.h @@ -18,6 +18,7 @@ namespace Web::XHR { // https://xhr.spec.whatwg.org/#interface-formdata class FormData : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(FormData, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(FormData); public: virtual ~FormData() override; diff --git a/Userland/Libraries/LibWeb/XHR/FormDataIterator.cpp b/Userland/Libraries/LibWeb/XHR/FormDataIterator.cpp index b27856f53b..145a26ee75 100644 --- a/Userland/Libraries/LibWeb/XHR/FormDataIterator.cpp +++ b/Userland/Libraries/LibWeb/XHR/FormDataIterator.cpp @@ -23,6 +23,8 @@ void Intrinsics::create_web_prototype_and_constructor namespace Web::XHR { +JS_DEFINE_ALLOCATOR(FormDataIterator); + JS::NonnullGCPtr FormDataIterator::create(FormData const& form_data, JS::Object::PropertyKind iterator_kind) { return form_data.heap().allocate(form_data.realm(), form_data, iterator_kind); diff --git a/Userland/Libraries/LibWeb/XHR/FormDataIterator.h b/Userland/Libraries/LibWeb/XHR/FormDataIterator.h index cc02aac6e1..5b9a2f21e6 100644 --- a/Userland/Libraries/LibWeb/XHR/FormDataIterator.h +++ b/Userland/Libraries/LibWeb/XHR/FormDataIterator.h @@ -13,6 +13,7 @@ namespace Web::XHR { class FormDataIterator : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(FormDataIterator, Bindings::PlatformObject); + JS_DECLARE_ALLOCATOR(FormDataIterator); public: [[nodiscard]] static JS::NonnullGCPtr create(FormData const&, JS::Object::PropertyKind iterator_kind); diff --git a/Userland/Libraries/LibWeb/XHR/ProgressEvent.cpp b/Userland/Libraries/LibWeb/XHR/ProgressEvent.cpp index 0fa831b13e..009a044598 100644 --- a/Userland/Libraries/LibWeb/XHR/ProgressEvent.cpp +++ b/Userland/Libraries/LibWeb/XHR/ProgressEvent.cpp @@ -9,6 +9,8 @@ namespace Web::XHR { +JS_DEFINE_ALLOCATOR(ProgressEvent); + JS::NonnullGCPtr ProgressEvent::create(JS::Realm& realm, FlyString const& event_name, ProgressEventInit const& event_init) { return realm.heap().allocate(realm, realm, event_name, event_init); diff --git a/Userland/Libraries/LibWeb/XHR/ProgressEvent.h b/Userland/Libraries/LibWeb/XHR/ProgressEvent.h index 5f8c24de90..f588c06bfa 100644 --- a/Userland/Libraries/LibWeb/XHR/ProgressEvent.h +++ b/Userland/Libraries/LibWeb/XHR/ProgressEvent.h @@ -22,6 +22,7 @@ struct ProgressEventInit : public DOM::EventInit { class ProgressEvent final : public DOM::Event { WEB_PLATFORM_OBJECT(ProgressEvent, DOM::Event); + JS_DECLARE_ALLOCATOR(ProgressEvent); public: [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, FlyString const& event_name, ProgressEventInit const& event_init); diff --git a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp index d58c673b3a..fd6a7bed41 100644 --- a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp +++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp @@ -53,6 +53,8 @@ namespace Web::XHR { +JS_DEFINE_ALLOCATOR(XMLHttpRequest); + WebIDL::ExceptionOr> XMLHttpRequest::construct_impl(JS::Realm& realm) { auto upload_object = realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h index bfb0b8ba48..3b45cf9b79 100644 --- a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h +++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h @@ -30,6 +30,7 @@ using DocumentOrXMLHttpRequestBodyInit = Variant, class XMLHttpRequest final : public XMLHttpRequestEventTarget { WEB_PLATFORM_OBJECT(XMLHttpRequest, XMLHttpRequestEventTarget); + JS_DECLARE_ALLOCATOR(XMLHttpRequest); public: enum class State : u16 { diff --git a/Userland/Libraries/LibWeb/XHR/XMLHttpRequestUpload.cpp b/Userland/Libraries/LibWeb/XHR/XMLHttpRequestUpload.cpp index b40e88a87b..901fb638a2 100644 --- a/Userland/Libraries/LibWeb/XHR/XMLHttpRequestUpload.cpp +++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequestUpload.cpp @@ -10,6 +10,8 @@ namespace Web::XHR { +JS_DEFINE_ALLOCATOR(XMLHttpRequestUpload); + XMLHttpRequestUpload::XMLHttpRequestUpload(JS::Realm& realm) : XMLHttpRequestEventTarget(realm) { diff --git a/Userland/Libraries/LibWeb/XHR/XMLHttpRequestUpload.h b/Userland/Libraries/LibWeb/XHR/XMLHttpRequestUpload.h index 9718fa3375..b5c22ee550 100644 --- a/Userland/Libraries/LibWeb/XHR/XMLHttpRequestUpload.h +++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequestUpload.h @@ -12,6 +12,7 @@ namespace Web::XHR { class XMLHttpRequestUpload : public XMLHttpRequestEventTarget { WEB_PLATFORM_OBJECT(XMLHttpRequestUpload, XMLHttpRequestEventTarget); + JS_DECLARE_ALLOCATOR(XMLHttpRequestUpload); public: virtual ~XMLHttpRequestUpload() override;