From bfd354492ef1724fb7a7549c06a4858ab616c0a4 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 19 Nov 2023 19:47:52 +0100 Subject: [PATCH] LibWeb: Put most LibWeb GC objects in type-specific heap blocks With this change, we now have ~1200 CellAllocators across both LibJS and LibWeb in a normal WebContent instance. This gives us a minimum heap size of 4.7 MiB in the scenario where we only have one cell allocated per type. Of course, in practice there will be many more of each type, so the effective overhead is quite a bit smaller than that in practice. I left a few types unconverted to this mechanism because I got tired of doing this. :^) --- .../LibWeb/BindingsGenerator/IDLGenerators.cpp | 14 +++++++++++++- Userland/Libraries/LibWeb/Animations/Animation.cpp | 2 ++ Userland/Libraries/LibWeb/Animations/Animation.h | 1 + .../LibWeb/Animations/AnimationEffect.cpp | 2 ++ .../Libraries/LibWeb/Animations/AnimationEffect.h | 1 + .../LibWeb/Animations/AnimationPlaybackEvent.cpp | 2 ++ .../LibWeb/Animations/AnimationPlaybackEvent.h | 1 + .../LibWeb/Animations/AnimationTimeline.cpp | 2 ++ .../LibWeb/Animations/AnimationTimeline.h | 1 + .../LibWeb/Animations/DocumentTimeline.cpp | 2 ++ .../Libraries/LibWeb/Animations/DocumentTimeline.h | 1 + .../Libraries/LibWeb/Animations/KeyframeEffect.h | 1 + Userland/Libraries/LibWeb/Bindings/Intrinsics.cpp | 2 ++ Userland/Libraries/LibWeb/Bindings/Intrinsics.h | 1 + Userland/Libraries/LibWeb/CSS/CSSFontFaceRule.h | 1 + Userland/Libraries/LibWeb/CSS/CSSImportRule.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/CSSImportRule.h | 1 + Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.h | 1 + Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.h | 1 + Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/CSSMediaRule.h | 1 + Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.h | 1 + Userland/Libraries/LibWeb/CSS/CSSRuleList.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/CSSRuleList.h | 1 + .../Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp | 4 ++++ .../Libraries/LibWeb/CSS/CSSStyleDeclaration.h | 4 ++++ Userland/Libraries/LibWeb/CSS/CSSStyleRule.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/CSSStyleRule.h | 1 + Userland/Libraries/LibWeb/CSS/CSSStyleSheet.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/CSSStyleSheet.h | 1 + Userland/Libraries/LibWeb/CSS/CSSSupportsRule.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/CSSSupportsRule.h | 1 + Userland/Libraries/LibWeb/CSS/MediaList.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/MediaList.h | 1 + Userland/Libraries/LibWeb/CSS/MediaQueryList.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/MediaQueryList.h | 1 + .../Libraries/LibWeb/CSS/MediaQueryListEvent.cpp | 2 ++ .../Libraries/LibWeb/CSS/MediaQueryListEvent.h | 1 + .../LibWeb/CSS/ResolvedCSSStyleDeclaration.cpp | 2 ++ .../LibWeb/CSS/ResolvedCSSStyleDeclaration.h | 1 + Userland/Libraries/LibWeb/CSS/Screen.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/Screen.h | 1 + Userland/Libraries/LibWeb/CSS/StyleSheetList.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/StyleSheetList.h | 3 ++- Userland/Libraries/LibWeb/CSS/VisualViewport.cpp | 2 ++ Userland/Libraries/LibWeb/CSS/VisualViewport.h | 1 + Userland/Libraries/LibWeb/Clipboard/Clipboard.cpp | 2 ++ Userland/Libraries/LibWeb/Clipboard/Clipboard.h | 1 + Userland/Libraries/LibWeb/Crypto/Crypto.cpp | 2 ++ Userland/Libraries/LibWeb/Crypto/Crypto.h | 1 + Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp | 2 ++ Userland/Libraries/LibWeb/Crypto/SubtleCrypto.h | 1 + Userland/Libraries/LibWeb/DOM/AbortController.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/AbortController.h | 1 + Userland/Libraries/LibWeb/DOM/AbortSignal.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/AbortSignal.h | 1 + .../Libraries/LibWeb/DOM/AccessibilityTreeNode.cpp | 2 ++ .../Libraries/LibWeb/DOM/AccessibilityTreeNode.h | 5 ++++- Userland/Libraries/LibWeb/DOM/Attr.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/Attr.h | 1 + Userland/Libraries/LibWeb/DOM/CDATASection.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/CDATASection.h | 1 + Userland/Libraries/LibWeb/DOM/CharacterData.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/CharacterData.h | 1 + Userland/Libraries/LibWeb/DOM/Comment.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/Comment.h | 1 + Userland/Libraries/LibWeb/DOM/CustomEvent.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/CustomEvent.h | 1 + Userland/Libraries/LibWeb/DOM/DOMEventListener.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/DOMEventListener.h | 1 + .../Libraries/LibWeb/DOM/DOMImplementation.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/DOMImplementation.h | 1 + Userland/Libraries/LibWeb/DOM/DOMTokenList.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/DOMTokenList.h | 1 + Userland/Libraries/LibWeb/DOM/Document.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/Document.h | 1 + Userland/Libraries/LibWeb/DOM/DocumentFragment.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/DocumentFragment.h | 1 + Userland/Libraries/LibWeb/DOM/DocumentObserver.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/DocumentObserver.h | 1 + Userland/Libraries/LibWeb/DOM/DocumentType.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/DocumentType.h | 1 + Userland/Libraries/LibWeb/DOM/Event.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/Event.h | 1 + Userland/Libraries/LibWeb/DOM/HTMLCollection.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/HTMLCollection.h | 1 + .../LibWeb/DOM/HTMLFormControlsCollection.cpp | 2 ++ .../LibWeb/DOM/HTMLFormControlsCollection.h | 1 + Userland/Libraries/LibWeb/DOM/LiveNodeList.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/LiveNodeList.h | 1 + Userland/Libraries/LibWeb/DOM/MutationObserver.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/MutationObserver.h | 1 + Userland/Libraries/LibWeb/DOM/MutationRecord.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/MutationRecord.h | 1 + Userland/Libraries/LibWeb/DOM/NamedNodeMap.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/NamedNodeMap.h | 1 + Userland/Libraries/LibWeb/DOM/NodeFilter.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/NodeFilter.h | 1 + Userland/Libraries/LibWeb/DOM/NodeIterator.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/NodeIterator.h | 1 + Userland/Libraries/LibWeb/DOM/Position.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/Position.h | 1 + .../Libraries/LibWeb/DOM/ProcessingInstruction.cpp | 2 ++ .../Libraries/LibWeb/DOM/ProcessingInstruction.h | 1 + Userland/Libraries/LibWeb/DOM/RadioNodeList.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/RadioNodeList.h | 1 + Userland/Libraries/LibWeb/DOM/Range.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/Range.h | 1 + Userland/Libraries/LibWeb/DOM/ShadowRoot.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/ShadowRoot.h | 1 + Userland/Libraries/LibWeb/DOM/StaticNodeList.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/StaticNodeList.h | 1 + Userland/Libraries/LibWeb/DOM/StaticRange.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/StaticRange.h | 1 + Userland/Libraries/LibWeb/DOM/Text.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/Text.h | 1 + Userland/Libraries/LibWeb/DOM/TreeWalker.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/TreeWalker.h | 1 + Userland/Libraries/LibWeb/DOM/XMLDocument.cpp | 2 ++ Userland/Libraries/LibWeb/DOM/XMLDocument.h | 1 + .../Libraries/LibWeb/DOMParsing/XMLSerializer.cpp | 2 ++ .../Libraries/LibWeb/DOMParsing/XMLSerializer.h | 1 + Userland/Libraries/LibWeb/Encoding/TextDecoder.cpp | 2 ++ Userland/Libraries/LibWeb/Encoding/TextDecoder.h | 1 + Userland/Libraries/LibWeb/Encoding/TextEncoder.cpp | 2 ++ Userland/Libraries/LibWeb/Encoding/TextEncoder.h | 1 + .../LibWeb/Fetch/Fetching/PendingResponse.cpp | 2 ++ .../LibWeb/Fetch/Fetching/PendingResponse.h | 1 + Userland/Libraries/LibWeb/Fetch/Headers.cpp | 2 ++ Userland/Libraries/LibWeb/Fetch/Headers.h | 1 + .../Libraries/LibWeb/Fetch/HeadersIterator.cpp | 2 ++ Userland/Libraries/LibWeb/Fetch/HeadersIterator.h | 1 + .../Fetch/Infrastructure/ConnectionTimingInfo.cpp | 2 ++ .../Fetch/Infrastructure/ConnectionTimingInfo.h | 1 + .../Fetch/Infrastructure/FetchAlgorithms.cpp | 2 ++ .../LibWeb/Fetch/Infrastructure/FetchAlgorithms.h | 1 + .../Fetch/Infrastructure/FetchController.cpp | 2 ++ .../LibWeb/Fetch/Infrastructure/FetchController.h | 1 + .../LibWeb/Fetch/Infrastructure/FetchParams.cpp | 2 ++ .../LibWeb/Fetch/Infrastructure/FetchParams.h | 1 + .../LibWeb/Fetch/Infrastructure/HTTP/Bodies.cpp | 2 ++ .../LibWeb/Fetch/Infrastructure/HTTP/Bodies.h | 1 + .../LibWeb/Fetch/Infrastructure/HTTP/Requests.cpp | 2 ++ .../LibWeb/Fetch/Infrastructure/HTTP/Requests.h | 1 + .../LibWeb/Fetch/Infrastructure/HTTP/Responses.cpp | 6 ++++++ .../LibWeb/Fetch/Infrastructure/HTTP/Responses.h | 5 +++++ Userland/Libraries/LibWeb/Fetch/Request.cpp | 2 ++ Userland/Libraries/LibWeb/Fetch/Request.h | 1 + Userland/Libraries/LibWeb/Fetch/Response.cpp | 2 ++ Userland/Libraries/LibWeb/Fetch/Response.h | 1 + Userland/Libraries/LibWeb/FileAPI/Blob.cpp | 2 ++ Userland/Libraries/LibWeb/FileAPI/Blob.h | 1 + Userland/Libraries/LibWeb/FileAPI/File.cpp | 2 ++ Userland/Libraries/LibWeb/FileAPI/File.h | 1 + Userland/Libraries/LibWeb/FileAPI/FileList.h | 1 + Userland/Libraries/LibWeb/FileAPI/FileReader.cpp | 2 ++ Userland/Libraries/LibWeb/FileAPI/FileReader.h | 1 + Userland/Libraries/LibWeb/Geometry/DOMMatrix.cpp | 2 ++ Userland/Libraries/LibWeb/Geometry/DOMMatrix.h | 1 + Userland/Libraries/LibWeb/Geometry/DOMPoint.cpp | 2 ++ Userland/Libraries/LibWeb/Geometry/DOMPoint.h | 1 + .../Libraries/LibWeb/Geometry/DOMPointReadOnly.cpp | 2 ++ .../Libraries/LibWeb/Geometry/DOMPointReadOnly.h | 1 + Userland/Libraries/LibWeb/Geometry/DOMQuad.cpp | 2 ++ Userland/Libraries/LibWeb/Geometry/DOMQuad.h | 1 + Userland/Libraries/LibWeb/Geometry/DOMRect.cpp | 2 ++ Userland/Libraries/LibWeb/Geometry/DOMRect.h | 1 + Userland/Libraries/LibWeb/Geometry/DOMRectList.cpp | 2 ++ Userland/Libraries/LibWeb/Geometry/DOMRectList.h | 1 + .../Libraries/LibWeb/Geometry/DOMRectReadOnly.cpp | 2 ++ .../Libraries/LibWeb/Geometry/DOMRectReadOnly.h | 1 + Userland/Libraries/LibWeb/HTML/AudioTrack.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/AudioTrack.h | 1 + Userland/Libraries/LibWeb/HTML/AudioTrackList.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/AudioTrackList.h | 1 + Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/BrowsingContext.h | 1 + .../Libraries/LibWeb/HTML/BrowsingContextGroup.cpp | 2 ++ .../Libraries/LibWeb/HTML/BrowsingContextGroup.h | 1 + Userland/Libraries/LibWeb/HTML/CanvasGradient.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/CanvasGradient.h | 1 + Userland/Libraries/LibWeb/HTML/CanvasPattern.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/CanvasPattern.h | 1 + .../LibWeb/HTML/CanvasRenderingContext2D.cpp | 2 ++ .../LibWeb/HTML/CanvasRenderingContext2D.h | 1 + Userland/Libraries/LibWeb/HTML/CloseEvent.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/CloseEvent.h | 1 + .../HTML/CustomElements/CustomElementDefinition.h | 1 + .../HTML/CustomElements/CustomElementRegistry.cpp | 2 ++ .../HTML/CustomElements/CustomElementRegistry.h | 1 + Userland/Libraries/LibWeb/HTML/DOMParser.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/DOMParser.h | 1 + Userland/Libraries/LibWeb/HTML/DOMStringMap.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/DOMStringMap.h | 1 + Userland/Libraries/LibWeb/HTML/DocumentState.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/DocumentState.h | 1 + Userland/Libraries/LibWeb/HTML/ErrorEvent.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/ErrorEvent.h | 1 + Userland/Libraries/LibWeb/HTML/EventHandler.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/EventHandler.h | 2 ++ Userland/Libraries/LibWeb/HTML/FormDataEvent.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/FormDataEvent.h | 1 + .../Libraries/LibWeb/HTML/HTMLAnchorElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLAnchorElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLAreaElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLAreaElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLAudioElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLAudioElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLBRElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLBRElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLBaseElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLBaseElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLBodyElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLBodyElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLButtonElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLButtonElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLCanvasElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLDListElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLDListElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLDataElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLDataElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLDataListElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLDetailsElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLDetailsElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLDialogElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLDialogElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLDirectoryElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLDirectoryElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLDivElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLDivElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLDocument.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLDocument.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLEmbedElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLFieldSetElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLFieldSetElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLFontElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLFontElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLFormElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLFrameElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLFrameElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLFrameSetElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLFrameSetElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLHRElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLHRElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLHeadElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLHeadElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLHeadingElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLHeadingElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLIFrameElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLImageElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLImageElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLInputElement.cpp | 5 +++++ Userland/Libraries/LibWeb/HTML/HTMLInputElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLLIElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLLIElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLLabelElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLLabelElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLLegendElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLLegendElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLLinkElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLMapElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLMapElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLMarqueeElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLMarqueeElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLMediaElement.cpp | 3 +++ Userland/Libraries/LibWeb/HTML/HTMLMenuElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLMenuElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLMetaElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLMetaElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLMeterElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLMeterElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLModElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLModElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLOListElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLOListElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLObjectElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLObjectElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLOptGroupElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLOptGroupElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLOptionElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLOptionElement.h | 1 + .../LibWeb/HTML/HTMLOptionsCollection.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLOptionsCollection.h | 1 + .../Libraries/LibWeb/HTML/HTMLOutputElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLOutputElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLParagraphElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLParagraphElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLParamElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLParamElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLPictureElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLPictureElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLPreElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLPreElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLProgressElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLProgressElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLQuoteElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLQuoteElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLScriptElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLScriptElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLSelectElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLSelectElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLSlotElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLSlotElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLSourceElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLSourceElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLSpanElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLSpanElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLStyleElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLStyleElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLSummaryElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLSummaryElement.h | 1 + .../LibWeb/HTML/HTMLTableCaptionElement.cpp | 2 ++ .../LibWeb/HTML/HTMLTableCaptionElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLTableCellElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLTableCellElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLTableColElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLTableColElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLTableElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLTableElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLTableRowElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLTableRowElement.h | 1 + .../LibWeb/HTML/HTMLTableSectionElement.cpp | 2 ++ .../LibWeb/HTML/HTMLTableSectionElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLTemplateElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLTemplateElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLTextAreaElement.h | 1 + Userland/Libraries/LibWeb/HTML/HTMLTimeElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLTimeElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLTitleElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLTitleElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLTrackElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLTrackElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLUListElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLUListElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLUnknownElement.cpp | 2 ++ .../Libraries/LibWeb/HTML/HTMLUnknownElement.h | 1 + .../Libraries/LibWeb/HTML/HTMLVideoElement.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/HTMLVideoElement.h | 1 + Userland/Libraries/LibWeb/HTML/History.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/History.h | 1 + Userland/Libraries/LibWeb/HTML/ImageData.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/ImageData.h | 1 + Userland/Libraries/LibWeb/HTML/ImageRequest.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/ImageRequest.h | 1 + Userland/Libraries/LibWeb/HTML/Location.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Location.h | 1 + Userland/Libraries/LibWeb/HTML/MediaError.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/MediaError.h | 1 + Userland/Libraries/LibWeb/HTML/MessageChannel.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/MessageChannel.h | 1 + Userland/Libraries/LibWeb/HTML/MessageEvent.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/MessageEvent.h | 1 + Userland/Libraries/LibWeb/HTML/MessagePort.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/MessagePort.h | 1 + Userland/Libraries/LibWeb/HTML/MimeType.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/MimeType.h | 1 + Userland/Libraries/LibWeb/HTML/MimeTypeArray.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/MimeTypeArray.h | 1 + Userland/Libraries/LibWeb/HTML/Navigable.cpp | 5 +++++ Userland/Libraries/LibWeb/HTML/Navigable.h | 1 + Userland/Libraries/LibWeb/HTML/NavigateEvent.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/NavigateEvent.h | 1 + Userland/Libraries/LibWeb/HTML/Navigation.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Navigation.h | 1 + .../HTML/NavigationCurrentEntryChangeEvent.cpp | 2 ++ .../HTML/NavigationCurrentEntryChangeEvent.h | 1 + .../LibWeb/HTML/NavigationDestination.cpp | 2 ++ .../Libraries/LibWeb/HTML/NavigationDestination.h | 1 + .../LibWeb/HTML/NavigationHistoryEntry.cpp | 2 ++ .../Libraries/LibWeb/HTML/NavigationHistoryEntry.h | 1 + .../Libraries/LibWeb/HTML/NavigationTransition.cpp | 2 ++ .../Libraries/LibWeb/HTML/NavigationTransition.h | 1 + Userland/Libraries/LibWeb/HTML/Navigator.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Navigator.h | 1 + .../Libraries/LibWeb/HTML/PageTransitionEvent.cpp | 2 ++ .../Libraries/LibWeb/HTML/PageTransitionEvent.h | 1 + .../Libraries/LibWeb/HTML/Parser/HTMLParser.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.h | 1 + Userland/Libraries/LibWeb/HTML/Path2D.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Path2D.h | 1 + Userland/Libraries/LibWeb/HTML/Plugin.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Plugin.h | 1 + Userland/Libraries/LibWeb/HTML/PluginArray.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/PluginArray.h | 1 + .../LibWeb/HTML/PromiseRejectionEvent.cpp | 2 ++ .../Libraries/LibWeb/HTML/PromiseRejectionEvent.h | 1 + .../LibWeb/HTML/RemoteBrowsingContext.cpp | 2 ++ .../Libraries/LibWeb/HTML/RemoteBrowsingContext.h | 1 + .../LibWeb/HTML/Scripting/ClassicScript.cpp | 2 ++ .../LibWeb/HTML/Scripting/ClassicScript.h | 1 + .../Libraries/LibWeb/HTML/Scripting/ModuleMap.cpp | 2 ++ .../Libraries/LibWeb/HTML/Scripting/ModuleMap.h | 1 + .../LibWeb/HTML/Scripting/ModuleScript.cpp | 2 ++ .../Libraries/LibWeb/HTML/Scripting/ModuleScript.h | 1 + .../Libraries/LibWeb/HTML/Scripting/Script.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Scripting/Script.h | 1 + .../Scripting/WindowEnvironmentSettingsObject.cpp | 2 ++ .../Scripting/WindowEnvironmentSettingsObject.h | 1 + .../Scripting/WorkerEnvironmentSettingsObject.cpp | 2 ++ .../Scripting/WorkerEnvironmentSettingsObject.h | 1 + .../Libraries/LibWeb/HTML/SessionHistoryEntry.cpp | 2 ++ .../Libraries/LibWeb/HTML/SessionHistoryEntry.h | 1 + .../Libraries/LibWeb/HTML/SharedImageRequest.cpp | 2 ++ .../Libraries/LibWeb/HTML/SharedImageRequest.h | 1 + Userland/Libraries/LibWeb/HTML/Storage.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Storage.h | 1 + Userland/Libraries/LibWeb/HTML/SubmitEvent.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/SubmitEvent.h | 1 + Userland/Libraries/LibWeb/HTML/TextMetrics.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/TextMetrics.h | 1 + Userland/Libraries/LibWeb/HTML/TimeRanges.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/TimeRanges.h | 1 + Userland/Libraries/LibWeb/HTML/Timer.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Timer.h | 1 + Userland/Libraries/LibWeb/HTML/ToggleEvent.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/ToggleEvent.h | 1 + Userland/Libraries/LibWeb/HTML/TrackEvent.h | 1 + .../Libraries/LibWeb/HTML/TraversableNavigable.cpp | 2 ++ .../Libraries/LibWeb/HTML/TraversableNavigable.h | 1 + Userland/Libraries/LibWeb/HTML/VideoTrack.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/VideoTrack.h | 1 + Userland/Libraries/LibWeb/HTML/VideoTrackList.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/VideoTrackList.h | 1 + Userland/Libraries/LibWeb/HTML/Window.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Window.h | 1 + Userland/Libraries/LibWeb/HTML/WindowProxy.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/WindowProxy.h | 1 + Userland/Libraries/LibWeb/HTML/Worker.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/Worker.h | 1 + Userland/Libraries/LibWeb/HTML/WorkerAgent.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/WorkerAgent.h | 1 + .../Libraries/LibWeb/HTML/WorkerGlobalScope.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.h | 1 + Userland/Libraries/LibWeb/HTML/WorkerLocation.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/WorkerLocation.h | 1 + Userland/Libraries/LibWeb/HTML/WorkerNavigator.cpp | 2 ++ Userland/Libraries/LibWeb/HTML/WorkerNavigator.h | 1 + .../LibWeb/HighResolutionTime/Performance.cpp | 2 ++ .../LibWeb/HighResolutionTime/Performance.h | 1 + Userland/Libraries/LibWeb/Internals/Internals.cpp | 2 ++ Userland/Libraries/LibWeb/Internals/Internals.h | 1 + .../IntersectionObserver/IntersectionObserver.cpp | 2 ++ .../IntersectionObserver/IntersectionObserver.h | 1 + .../IntersectionObserverEntry.cpp | 2 ++ .../IntersectionObserverEntry.h | 1 + Userland/Libraries/LibWeb/MathML/MathMLElement.cpp | 2 ++ Userland/Libraries/LibWeb/MathML/MathMLElement.h | 1 + .../LibWeb/NavigationTiming/PerformanceTiming.cpp | 2 ++ .../LibWeb/NavigationTiming/PerformanceTiming.h | 1 + .../PerformanceTimeline/PerformanceObserver.cpp | 2 ++ .../PerformanceTimeline/PerformanceObserver.h | 1 + .../PerformanceObserverEntryList.cpp | 2 ++ .../PerformanceObserverEntryList.h | 1 + .../LibWeb/RequestIdleCallback/IdleDeadline.cpp | 2 ++ .../LibWeb/RequestIdleCallback/IdleDeadline.h | 1 + .../LibWeb/ResizeObserver/ResizeObserver.cpp | 2 ++ .../LibWeb/ResizeObserver/ResizeObserver.h | 1 + .../Libraries/LibWeb/SVG/SVGAnimatedLength.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGAnimatedLength.h | 1 + .../Libraries/LibWeb/SVG/SVGAnimatedNumber.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGAnimatedNumber.h | 1 + Userland/Libraries/LibWeb/SVG/SVGCircleElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGCircleElement.h | 1 + .../Libraries/LibWeb/SVG/SVGClipPathElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGClipPathElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGDefsElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGDefsElement.h | 1 + .../Libraries/LibWeb/SVG/SVGEllipseElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGEllipseElement.h | 1 + .../LibWeb/SVG/SVGForeignObjectElement.cpp | 2 ++ .../Libraries/LibWeb/SVG/SVGForeignObjectElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGGElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGGElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGLength.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGLength.h | 1 + Userland/Libraries/LibWeb/SVG/SVGLineElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGLineElement.h | 1 + .../LibWeb/SVG/SVGLinearGradientElement.cpp | 2 ++ .../LibWeb/SVG/SVGLinearGradientElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGMaskElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGMaskElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGPathElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGPathElement.h | 1 + .../Libraries/LibWeb/SVG/SVGPolygonElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGPolygonElement.h | 1 + .../Libraries/LibWeb/SVG/SVGPolylineElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGPolylineElement.h | 1 + .../LibWeb/SVG/SVGRadialGradientElement.cpp | 2 ++ .../LibWeb/SVG/SVGRadialGradientElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGRectElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGRectElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGSVGElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGSVGElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGScriptElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGScriptElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGStopElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGStopElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGStyleElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGStyleElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGSymbolElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGSymbolElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGTSpanElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGTSpanElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGTextElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGTextElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGTitleElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGTitleElement.h | 1 + Userland/Libraries/LibWeb/SVG/SVGUseElement.cpp | 2 ++ Userland/Libraries/LibWeb/SVG/SVGUseElement.h | 1 + Userland/Libraries/LibWeb/Selection/Selection.cpp | 2 ++ Userland/Libraries/LibWeb/Selection/Selection.h | 1 + .../LibWeb/Streams/ByteLengthQueuingStrategy.cpp | 2 ++ .../LibWeb/Streams/ByteLengthQueuingStrategy.h | 1 + .../LibWeb/Streams/CountQueuingStrategy.cpp | 2 ++ .../LibWeb/Streams/CountQueuingStrategy.h | 1 + .../Streams/ReadableByteStreamController.cpp | 2 ++ .../LibWeb/Streams/ReadableByteStreamController.h | 1 + .../Libraries/LibWeb/Streams/ReadableStream.cpp | 2 ++ Userland/Libraries/LibWeb/Streams/ReadableStream.h | 1 + .../LibWeb/Streams/ReadableStreamBYOBReader.cpp | 2 ++ .../LibWeb/Streams/ReadableStreamBYOBReader.h | 1 + .../LibWeb/Streams/ReadableStreamBYOBRequest.cpp | 2 ++ .../LibWeb/Streams/ReadableStreamBYOBRequest.h | 1 + .../Streams/ReadableStreamDefaultController.cpp | 2 ++ .../Streams/ReadableStreamDefaultController.h | 1 + .../LibWeb/Streams/ReadableStreamDefaultReader.cpp | 2 ++ .../LibWeb/Streams/ReadableStreamDefaultReader.h | 1 + .../Libraries/LibWeb/Streams/TransformStream.cpp | 2 ++ .../Libraries/LibWeb/Streams/TransformStream.h | 1 + .../Streams/TransformStreamDefaultController.cpp | 2 ++ .../Streams/TransformStreamDefaultController.h | 1 + .../Libraries/LibWeb/Streams/WritableStream.cpp | 2 ++ Userland/Libraries/LibWeb/Streams/WritableStream.h | 1 + .../Streams/WritableStreamDefaultController.cpp | 2 ++ .../Streams/WritableStreamDefaultController.h | 1 + .../LibWeb/Streams/WritableStreamDefaultWriter.cpp | 2 ++ .../LibWeb/Streams/WritableStreamDefaultWriter.h | 1 + Userland/Libraries/LibWeb/UIEvents/FocusEvent.cpp | 2 ++ Userland/Libraries/LibWeb/UIEvents/FocusEvent.h | 1 + .../Libraries/LibWeb/UIEvents/KeyboardEvent.cpp | 2 ++ Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.h | 1 + Userland/Libraries/LibWeb/UIEvents/MouseEvent.cpp | 2 ++ Userland/Libraries/LibWeb/UIEvents/MouseEvent.h | 1 + Userland/Libraries/LibWeb/UIEvents/UIEvent.cpp | 2 ++ Userland/Libraries/LibWeb/UIEvents/UIEvent.h | 1 + Userland/Libraries/LibWeb/UIEvents/WheelEvent.cpp | 2 ++ Userland/Libraries/LibWeb/UIEvents/WheelEvent.h | 1 + Userland/Libraries/LibWeb/URL/URL.cpp | 2 ++ Userland/Libraries/LibWeb/URL/URL.h | 1 + Userland/Libraries/LibWeb/URL/URLSearchParams.cpp | 2 ++ Userland/Libraries/LibWeb/URL/URLSearchParams.h | 1 + .../LibWeb/URL/URLSearchParamsIterator.cpp | 2 ++ .../Libraries/LibWeb/URL/URLSearchParamsIterator.h | 1 + .../LibWeb/UserTiming/PerformanceMark.cpp | 2 ++ .../Libraries/LibWeb/UserTiming/PerformanceMark.h | 1 + .../LibWeb/UserTiming/PerformanceMeasure.cpp | 2 ++ .../LibWeb/UserTiming/PerformanceMeasure.h | 1 + Userland/Libraries/LibWeb/WebAssembly/Instance.cpp | 2 ++ Userland/Libraries/LibWeb/WebAssembly/Instance.h | 1 + Userland/Libraries/LibWeb/WebAssembly/Memory.cpp | 2 ++ Userland/Libraries/LibWeb/WebAssembly/Memory.h | 1 + Userland/Libraries/LibWeb/WebAssembly/Module.cpp | 2 ++ Userland/Libraries/LibWeb/WebAssembly/Module.h | 1 + Userland/Libraries/LibWeb/WebAssembly/Table.cpp | 2 ++ Userland/Libraries/LibWeb/WebAssembly/Table.h | 1 + .../Libraries/LibWeb/WebAudio/AudioContext.cpp | 2 ++ Userland/Libraries/LibWeb/WebAudio/AudioContext.h | 1 + .../Libraries/LibWeb/WebGL/WebGLContextEvent.cpp | 2 ++ .../Libraries/LibWeb/WebGL/WebGLContextEvent.h | 1 + .../LibWeb/WebGL/WebGLRenderingContext.cpp | 2 ++ .../Libraries/LibWeb/WebGL/WebGLRenderingContext.h | 1 + Userland/Libraries/LibWeb/WebIDL/CallbackType.cpp | 2 ++ Userland/Libraries/LibWeb/WebIDL/CallbackType.h | 2 ++ Userland/Libraries/LibWeb/WebIDL/DOMException.cpp | 2 ++ Userland/Libraries/LibWeb/WebIDL/DOMException.h | 1 + Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp | 2 ++ Userland/Libraries/LibWeb/WebSockets/WebSocket.h | 1 + Userland/Libraries/LibWeb/XHR/FormData.cpp | 2 ++ Userland/Libraries/LibWeb/XHR/FormData.h | 1 + Userland/Libraries/LibWeb/XHR/FormDataIterator.cpp | 2 ++ Userland/Libraries/LibWeb/XHR/FormDataIterator.h | 1 + Userland/Libraries/LibWeb/XHR/ProgressEvent.cpp | 2 ++ Userland/Libraries/LibWeb/XHR/ProgressEvent.h | 1 + Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp | 2 ++ Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h | 1 + .../Libraries/LibWeb/XHR/XMLHttpRequestUpload.cpp | 2 ++ .../Libraries/LibWeb/XHR/XMLHttpRequestUpload.h | 1 + 599 files changed, 933 insertions(+), 3 deletions(-) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp index ed3cebf4417..47af5b9eb57 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 e6b9867f37f..76b179d4eee 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 1611c999eb2..12234acc3bf 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 97e35352a73..2c9d67ee871 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 075b8a80049..6ed78b1ef49 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 21bb7420e2b..938f3018d26 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 d9666f172a6..08523c599e0 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 d794f07807b..6626891f8b2 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 48a34a15c3f..fc192430006 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 6484f792c03..6cd27f501d1 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 617ac6efb78..7d03c1479c5 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 3dd7b34787b..a07b6eed431 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 153cd501809..09cab361e3f 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 896a143da5a..34fa4a30165 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 6986b3ae991..543b4ed5c6c 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 568e2e623b6..166605db25f 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 9687ca070ef..265f8212284 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 cbeb9245834..9e62624a75a 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 0d1abdff70e..e7a007781d8 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 be1485df17a..aa270541324 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 f4e80f7ec43..3ab4899759d 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 51511acea4d..77f71256cf4 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 80e07fce751..3e110ffef8e 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 2eb38d5267f..374e2e1957f 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 42d6adcdb8f..a667fc1af5d 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 cf86402475a..601ed4865fa 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 455a9de93c6..0955008fe17 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 6b2f075b247..6701378036f 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 e03474272cc..33423c0ce30 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 ca57886c8f0..ef8a9a2f373 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 0a9c57054a8..76386bb7191 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 c7eaec44f6e..4da64b356c2 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 9b30c87849e..9c4cc71eed9 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 80b8ee9b070..3979118a260 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 a5e195cb151..f3e59dd83a0 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 7deb563cc9a..acb2e9bd7c0 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 d5f0a027c16..454304706d1 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 0b3cf39c81d..af67ba27458 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 d554adf31ae..b82a4714867 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 137092c4e58..36d618fd8a2 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 3dcb7ac41e1..0898a62d2cf 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 fa5816286e3..e6eb36754ed 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 6b3d8c5222e..f736277a647 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 2797026faf0..8c84ecacd26 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 a416576e468..8fa0a8e0c15 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 d61807cdd86..33e711bed49 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 5cdc22d7f7d..a6ebfcce248 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 7089f4055c2..2001e79270e 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 c471bb7fe44..e22766cfe02 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 8a07fbeb4f7..5c0c1b0879f 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 21553d61b3e..761379e487c 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 43d7476dd85..0779adbdcec 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 bfb6fb34406..76b6eaad8a3 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 4eb7aa24f92..442e176afca 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 42203505ccc..886e9327e88 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 b767dacabb7..61b387dcd8f 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 9f1944fe434..76ffbadf8a7 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 ceb8fe88f05..009dc044f42 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 79a40a2b2d5..4abdb94a57c 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 1cef74149b3..61cc30a36f2 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 9b7301b3c88..123eadfbc88 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 d9654e59b9d..a9ae2e9bbd2 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 5375996de2d..458ff293466 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 f48255ae2db..d65f5ead0ee 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 b2d831344a1..4279570f17e 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 4c3ceeda61e..050d3e365bf 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 491065e5d09..2897adeb2bd 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 a0f36e965bc..0e67656729e 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 9b0f97591f9..7ee23b8c9b9 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 5f9e2ec2755..31122fc2036 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 9c92bfa4b9f..a6723403ddd 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 bdd3c988ac6..64630eba759 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 fa0f8bbec03..1afb54e05f9 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 6089b9bbeff..4f53ce7b2fb 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 ab23f25a6b9..f9b777aa92b 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 e6d3303157e..637598ecbbf 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 5c0352d87df..b986dc808e4 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 58a901f227b..f4e55357ad5 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 b633b72e841..35ada02356c 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 890eeee8d05..4100968fd15 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 e2db8eb5238..89556b2e1eb 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 d1e1c196109..cae3266613b 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 d48152ae018..d62a602ff80 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 567ff1eca05..aa53139c044 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 2acdc1d4885..26bd59a51da 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 7491e54450c..3a4fe8dc928 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 b6645130bbe..3dd77c7eb44 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 38ac0940ab6..088ca3223bc 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 c94724b1bad..3b28e7967d9 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 be5485f95b6..ae3fafdb3c0 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 7fd1e36fac5..aa20f0c540a 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 2908cd740bc..10b6169ab61 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 b99fcadde0b..99de8533f46 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 0be0af7e1d5..d6cf1927a00 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 04289918142..dae9ba3d1e4 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 f71a481de0b..2d6ed58b1b1 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 6d89813aec2..aba2333a567 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 912fd2b4846..8e6c713b331 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 3c1591f97ee..8dd2c19b0f4 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 accc89fc19d..59625ff414e 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 387c01cbe1f..1f41ce69153 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 9b66cf0c855..44db2c7c66c 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 d1c484a714a..cc7ae7771ea 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 c66863946eb..6d6b68370fe 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 aa92c490497..47e37cc87d2 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 3dd85d68deb..60fb2197697 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 faa05a8f7ba..859045c8485 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 f923cc1e522..a1d63f4f374 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 8204ca77406..bcf1991b5f8 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 0e8ba573d6c..d85e77076c8 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 a855ec90816..146c08a5a72 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 3e55aca37c6..26deaba174a 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 1456fbb9f07..acdc8d98ac4 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 591616e8c2e..5d85412a1de 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 86f6c15db98..5ed9b75e578 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 595665b3ac8..161d3ea4196 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 8ec05fbb5dd..0afca39abe6 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 8d5279c8c99..1118f63cd6e 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 66aacbc1341..a7dae767f84 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 69ef86606f6..519040f3676 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 b6e182ff7db..b3e5ad9577d 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 28c824ba2de..255478ab801 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 60a019e4be2..2c2b7152e75 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 79ee92e6140..d0ad3aad6d0 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 b5ba350dafc..7527b39b87c 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 1df868e2f57..50c93725114 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 8bd4e8265ac..14cf851136d 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 560a804262e..7f63234851e 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 8ebf851448d..044b05d7b17 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 b3305128f0a..437d20b2980 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 3d07e02e05f..e95d5d016fb 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 3c5a5e721dd..153ae817040 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 984e720ce2a..4f4e9ff5e97 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 575abf97eaa..3ef3c5dafe9 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 9f4e968a74d..b1773751a11 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 52a81c8effc..1e544853d40 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 2fc7e5c7584..64de30d724f 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 b6eda21a28e..421aa3eb078 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 ff47328d777..b3805800d85 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 e519a970560..7828660d3c8 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 cd0c64f48a9..fd926fb408e 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 fc1e49aa778..31da8ba9b3c 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 3f868fe399b..db13c8c7bd6 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 7923094d853..dac79909c3a 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 7d1194f5142..36bcb63349f 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 1f04a5f4901..bcc00bc7788 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 64b5be1f70e..f59c151827c 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 a31f077dcec..4dae9240bcd 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 ad28e994e5a..74c84148188 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 eccfe24e20a..7eb53fa407a 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 db0f0a031d0..6f81ad91874 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 d06d4fb70e4..bce68a53cf4 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 cc8124b57b0..aaddf967b9c 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 2f4658f4409..8c9ee266b95 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 95a87c8ccfa..2240d893fbe 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 0e2b0d3e1a9..3cfc9f88fc0 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 fe44e10d9b1..997aa50d657 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 2b8a2ec44fe..0a4d7cc1253 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 ed79f4474cb..cf5b64e7826 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 7a0649945fa..0ca5aba2f14 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 ceb29264f6a..72ce3378dbc 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 cd2a1606292..4b86e32c8a3 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 8d9bdc4c9e4..57db6e154f5 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 5274819dfc6..6759a214ebd 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 c4f17e50d8e..1630af8cfd9 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 2a6e878f930..a6b93d4717b 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 33df0bfae98..686b2f7fa22 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 f11b6f1786a..a0705f68e38 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 4c41c866c4b..f76e3876f1b 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 408ef100360..0fb23331a82 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 71385180912..5efd84718e0 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 2487f652eed..f4cd848c2c7 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 5c36caa0da4..8d2a02cc618 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 6a972a89a9a..da8fe292ac7 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 5ef35dd198d..47823091e42 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 1c1124339d4..62c014d7687 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 f52c8d53fff..1d69724c08d 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 640697520b7..8dd14cffbdc 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 cf1fc7871ee..e9600728150 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 63f10ec0c08..3987370b759 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 7de8ddd5887..0922be999ae 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 274276b1c6c..28fd11d9eea 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 1329b192972..10e0ea4508f 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 455b6db9a36..71be47be173 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 a3a33288a0a..592a619cf56 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 f097fee535d..eb042a1584a 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 7402c2c68e5..bbffcf841cc 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 a839c14f54c..681032b4770 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 d73ee045616..066a8221361 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 c12230f555e..83fcb46a776 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 b13a1003459..f8d363f6a75 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 98fd373c88c..2107e14a14c 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 57c446fb99f..768f85105a3 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 ca0775d7bb5..7bd2dc69dbd 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 96758c65fbc..051fbcbd9be 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 b28a245340f..8f37a44aa0f 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 0bc1c586f4d..8c360081c4f 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 854a0bad643..275e2dbd0de 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 bc244491b71..ff6507c55df 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 cb4208ed60e..d5d7642c101 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 e6d5b26b7f8..bcc31d6cce2 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 2af98558fb5..9e7374386e8 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 8504a4abe5b..f1740aabb6b 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 e983278d69a..da526f25547 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 cf9f59fbdf3..ce0dfc0cc44 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 ac541012efd..da49e6fc2d7 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 d5da4e85496..c11ca5fb17c 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 4a3835adda0..55a4335ccd7 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 a67faf89b80..237c9e29f1d 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 5ed8065100c..b171e0d506c 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 a13ae969570..1271fb40f40 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 221474262fc..c432f3a5d56 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 400d5ffd238..9b9232162d4 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 2fb6ea056c6..9186008ad3b 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 2395c0a753b..4702a99e13e 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 9931128eedd..870a5aa41c7 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 6f4828c7d25..04bfe8bdfb8 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 94327c49bdf..7c27b8cc6f1 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 ee1ccf2b137..1044f9fe2e7 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 a46629bd316..e8a9ab75b50 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 eed2efc7091..2bb00337774 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 d0c1dbdd8ef..3047149bdff 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 0ec6a42b80b..265817ee549 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 a00a29c11ca..5d5b65cbe9d 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 dc30ea2e460..f910c707a05 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 1943a9ddbad..b411502d7fd 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 74b4dddcb0c..0f18522475f 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 9c154d2e120..e3c352a7000 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 0553db3f6d3..1780e3a6049 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 7e76c9ee3c1..8764cd34f77 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 fd53d1dc37d..936915856dd 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 eee88d76936..5267db7eacf 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 4d63f4f7542..c28a8afe067 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 76288d2779e..8ead3df8d13 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 32d65a3ab46..465f931ae2a 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 90395257a7e..3993f1de233 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 d8ea3263322..5a734947f4d 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 7ba220f5c12..06d7b5e0b6a 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 311ad16d3ae..bc0f5406291 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 59297ca6cca..36bff7c53c9 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 f69b9a77c4d..bcdde471d44 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 a104339c041..7ca976c4f39 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 89a3b0783dc..aec3676d894 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 f417c07c4fc..5c594dc75aa 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 4bb4aa00067..346cdd5ec88 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 3256104e30a..30b0383c61d 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 ab365071021..5e236c8dbca 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 1250398a248..e88c8c9ad08 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 6f7d8fda896..2afcf99b620 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 f97a7814f89..98b8e6acce1 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 d907b836738..17b8f9da4ae 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 ff171910369..4bebe15d547 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 6d88ab80345..6383da1d70e 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 8d6d1ab8582..f9928287f55 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 f2b9ec905fd..8827a05b800 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 a9f97601cc2..2e9b67e2f7a 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 0ab5bd2cf6e..677f294800a 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 2dff0eebd9a..0f43e7c6fc9 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 662c5025448..d15e9bbfdc4 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 c6babd1fcbc..3c042ab81f0 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 f682e14474b..e60aedd32b1 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 c2bab657b57..4d3996903ae 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 9d1c1797fd9..ac38766eb71 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 41cf0533e6c..bfdaffd7c19 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 d7a5a00c26c..a18db4aa56c 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 6d8372bf23d..e73966fae55 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 41e018d3119..5b47a9cda8b 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 dd004bc08d5..99f383d7817 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 dc10820edac..a54a833920a 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 cd50ca2da27..54c1149dc59 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 cb3b02e1ee3..20f824c185b 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 ebcfa407b33..7cc0e41aa75 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 c862ba7cc14..088b63da28b 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 73e63b01c70..9c0b2c4984d 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 3c85d41bc2e..343f5e16217 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 c1dc5190545..c9d599ea55d 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 b4b7575005e..0d90bc01c20 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 90e0e612ee8..0d10ab3b170 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 12bd3c2a0a3..aa7c8ff5da0 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 2f8492e7152..eb017170c4a 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 6f8ce5e8fa0..b51ab80f8af 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 d8bf2a74f63..6bc108ff184 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 e41f8e11639..d8c5e01b5c1 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 956ab1bc890..fbc513013eb 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 74de79aa2b0..31a2b4c1cb8 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 b09347beb71..7f1bb32b3a2 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 cb7de1f1d5c..123f8abd481 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 6ed05588bde..dbc7eabb260 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 77c433c961f..3685f195a06 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 d982df677a5..4149e0dbd02 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 f72898bdc57..b0bc40be5a4 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 2f85bff6a57..5f85725707b 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 43270097d47..079009ac324 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 f990acb2b0f..f871902aaac 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 99a9d89ba96..52caee575d1 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 f6b582a08f4..ba0bbefa70e 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 3b560b656a4..834a56065aa 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 3ca8789dcf4..9dcc51a7aa4 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 b71bdbaed98..3e0986b787d 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 8ae224061aa..0cc46ad3883 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 d9e4bb99a51..9a59392ad57 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 c27e99ee340..125d8c21cb6 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 f24a94c110c..1ad31eab812 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 2d1c5fdce9f..97ae40f888b 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 e1164f5e0aa..deb499fcf46 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 418e904d816..6d68acf8e5c 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 2d0995df831..5bd1f219cd4 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 2941e06213b..a7cd188eafa 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 95b599eaf40..a75313cbe19 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 efc79312d35..edbb324b250 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 1ac80c500e1..35d37b2c805 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 e670bfe241a..a12d02d852d 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 c1928b9de2b..a0bf9d14347 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 d468c86a67f..a540a025fcd 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 76f994acede..88a61d44b2a 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 bc8d1b7374b..a57d29cc6c7 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 dd5559e20c6..4cf8baba260 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 0b7eacb2da9..27f60d4d840 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 020ac97c923..e6376884a41 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 21e6f6e3137..69d6e17503c 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 f0d0b710e9e..6e72fe544e7 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 7676d86e440..991ed728bc3 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 2d9f245abba..9ff0567baf0 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 1d954a71766..aece874c298 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 9c7f8d6e412..973f8a8bf7b 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 f389070a2d0..64fa43eb61d 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 06e94dd8b6f..11c331d1e47 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 6b4a0f1da9a..589d03849ef 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 be2e88718f0..0be2befb8b4 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 e13736ea5af..36888a78fa2 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 f07f16aa0c1..2c1bfc68c88 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 a9888e5db74..9d7ad963890 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 7a39e253660..8821a72d5c4 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 7fd1c651f08..1cc3569f42c 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 d5fd2b15b81..72a73520a17 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 2c22e194803..8bb39991fae 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 96b4f11ebcc..aba64f05c46 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 77692b083d3..519fab13685 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 21ed86e2e36..d94199c2add 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 89a8e2b6335..e588f610525 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 545b24b6f35..b0c4dc42dcd 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 286d94b73ad..f7714540dfa 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 17be2189743..de203d1a131 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 04e1fd451ce..436edf2f42b 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 bf36a3621d7..7dd426212b2 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 ae683a1b35a..cc7bedbb424 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 9e468927719..6dd1e692a65 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 71e6eaa453b..16e9ba0a0a0 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 4856ea319db..9c707cb5fa1 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 6b6c11c2aba..383c27f845c 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 699f64e4ecb..90b3897c5a5 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 c2ed6887b28..cf898df4199 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 86c25ce5780..6fb38378986 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 7763009ce7a..36614186c69 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 bdb28e5a370..1406a0ce67b 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 927ded26125..29cbcdaa4cf 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 19667aba6e0..814be11a76c 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 d65888d3d53..be133741d7b 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 388ea745985..c8f16f17d2c 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 3f2a689863e..7a838c56868 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 b347bee3eea..2a1c086b3cf 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 f34d27fe59e..f0ab0d5c5e9 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 f6bd432bafa..d4077ee9ff1 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 790a8c5858f..db659c15ad6 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 7d5784d3407..b079ea08f2c 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 725307078f7..c61b1badeb9 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 ab507a3a3c0..059dad5a181 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 7800119769d..30a998925c3 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 58ab56c1a26..c5fc228cc6e 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 c7484ee06d7..10986354feb 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 3541ca862d9..0f4ab7a852d 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 22126fd4bfe..6948c54a230 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 4749b3e0ab7..0f8fcee0788 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 121354475b6..70cc62db67a 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 3952256ee87..bdcb6a64187 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 1f478a06f92..e7a2cf19f5c 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 530c4d9d5a1..8351a26c79e 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 8f25d67edb4..b6059bf0986 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 af3e436f912..e01b17b8124 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 40838e5c52a..1b29a8ff933 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 2297bb18810..5651e423ce6 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 f7173a5148a..e574fd09eb3 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 ae7f7575d99..b049b8b8386 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 5c5029a854e..9c19f1a3dd5 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 a89539d068b..d25d11b683f 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 c035476171c..c042754b21b 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 a8f5634c734..514d4f54f76 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 9e43f1b29ec..299576b9083 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 50e1ff6883e..9f9c3e2e5f6 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 f36c716da88..44988cb3314 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 1ec158a1012..e944bcf874b 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 a774ce26cec..49c5996a1d4 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 64df6de112b..c4e58e8c57c 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 92c1478ecf3..7633ee3b3fb 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 d1f1afb9a7b..4ebeed1beb0 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 bbe4f7bcd15..1f6c1245938 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 2edcae286d6..f77a62a42e4 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 44956a1912f..fc9058124c0 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 4d980b0ae64..f1872fe9124 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 44916f0227c..2f498a10ad7 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 d45800db021..8935baece9f 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 a2f7c549b74..ccf28f998d5 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 366c66d8300..7cf5e53dd56 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 70b1310529e..ec1de5b1167 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 543a232b514..b2a42373e22 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 65c0d56de2d..4f1fae97bc7 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 7ebec520dc6..dd8a042bc28 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 dae9498b5c7..e05e71e4602 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 da0ae20905a..2217ec0388a 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 b73b3b2550d..78e6e9e738a 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 245009ce401..ba7d9f6d848 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 f5b4fc9440e..eafaa5c9b61 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 1a859e13778..0c9feb4f3da 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 3e47ba3e9cb..97aef9dff93 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 39af3b17d88..f66f4a04fbb 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 e681043d84b..fb37675c771 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 382953c908a..b9a961767b3 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 74f591dbdaa..08907a66dfe 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 a37775a5603..ff4db0a5d09 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 e520a0c01e5..0ae748109fe 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 fe4b96d05ee..4c392e701ac 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 37d7217c3d0..52aa9fcf5a0 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 01714b36a28..bf4e3d4bbe6 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 2edf3869c29..d2e79ec64dd 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 5ea7fe3e4d8..c5073491491 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 79662d89244..55e52b831b9 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 45061991f61..f70882e6a98 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 5e03d7456c5..8b2b05d31a4 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 cfdec1ed13c..dc1624602cd 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 f835192448d..4915930cc99 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 4e5f3bf05fb..6ba37eafac4 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 558010907d2..ad6f48ab261 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 c75b0f67304..8f0deb290d6 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 f0d12ce755c..6839101c8a3 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 5130080fc84..e6fad1337b6 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 1305165f376..c386af80f44 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 0cd438bea14..7dfd310ff88 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 7865a17a3cf..c4276e9a67e 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 31b922b4eae..ab9a4dd32df 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 e9638d9209c..2ccc4c4704d 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 20da5d4f806..1a0dbc298e9 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 57a1baa56f5..afd6f1f026f 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 fb2704632a7..5ccc09d5081 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 b665e44ffde..acdb88c9408 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 c80ee7bddb6..d2a8fd4a889 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 748a044fa03..372f1ba7d97 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 2585f260b46..5473c9c8e50 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 d5e73cb22e1..3ca0c1fb580 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 da20ff69e77..e346436bf99 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 a8d6881cda6..cdda943ae89 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 28bf0cc0dab..e25e17b1b6e 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 00f88fe724a..b5c1a7fa62c 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 65f29cee98a..f9a9c7361c6 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 9debb0ff7a1..83fbee91c04 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 e24bdd6ac0d..c6fd75503ba 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 8726677ee53..fb66952f1be 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 5fe84814e4b..6c4a761f3be 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 ec4682f288a..613bce5d46d 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 f52c2effc54..605ab97bc7d 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 fa711fb6344..0c9798d9e07 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 ae30169a9c4..a7883419c3b 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 c1a0a66b76f..d6da82ed13a 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 a78e6613564..4cb3d5d2779 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 04a9194a6a9..8aa66939ad9 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 b0d6fb123d0..d7c5cbb0c5d 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 3776599c6db..9d54f9ed7b6 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 3c8473c0bf2..8398e147502 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 021a8c297d2..4a05669aea0 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 2c1c8b12a12..730ac0af60e 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 5aab8e6c1cb..75f6f35895f 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 6304096fba9..22138098906 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 b08aa94331c..f3f84161f06 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 19ded4af406..30aa0d39d12 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 60a7952a317..06a334c1608 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 4ded39d8c99..9813ed5123a 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 e5d562eba6f..c748cbac63f 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 119830da61e..c1d026ca9a4 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 a875239ccab..6d5e63169f6 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 f13b0d0619a..1b85b6eb643 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 f86bcf98abb..1ec2c07cb21 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 c33d1f54345..09e83afd143 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 4c7b2f12f0d..94088ee79d9 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 25fdd0beeec..87755e7de58 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 825983c2dca..3431a9ebe7e 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 ae53ce61e05..499db9868ef 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 832e19216e3..b942654f4f9 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 1c9ebaf7ef0..227b9df6bd7 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 7962c996102..c7fa5b3de68 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 319128ee5c3..c9e2b35217c 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 144e5a03fb4..88840c64b53 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 5125a1c8ce5..dd3277e2a7f 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 cf81a7ae134..367258039a5 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 f8c77da1464..76965ef90c3 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 56dc6ba6e60..00e90fd1ec2 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 e56d376fd4a..6a9b799ce05 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 a48a5603b73..cae0eebaea3 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 9fb7e67961a..17669f06998 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 76c1db57c65..c8ce7735c33 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 ff032ca6129..ac42c4b031d 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 0d86adb8c55..31222582ae4 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 11db73d2f28..a18f9509a5b 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 c8dc7f30e78..05caf1c3741 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 1b7f4d2e579..c8f3afc8851 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 4d3f643982e..084ad026222 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 5f73f94c4c5..e063caa5d3d 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 7c841c269f6..e59dd4b9cfd 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 7efc8d6645e..4e27d3c84d0 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 219c572b61e..be36634e243 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 8917a55456f..df2880305dc 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 e8b2a5ed70e..bc1ae41cd4d 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 2cf3c88918c..f9ae07f6921 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 51ffdda933d..f42b2a00beb 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 4cb89ad5e45..ed264dbdba7 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 ef840ef812b..114e5232264 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 114ac28e06f..f555a2fd29a 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 4d6adaa6dc1..5e6f924297a 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 2f046252431..79d4df04473 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 ee468d93263..09ee74776ee 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 84440d79b70..26c3e52fe3f 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 edbae451d3c..0e59e258530 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 7f6166df0dc..6a1f6dd61d3 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 f3df07e9a81..e2ba340a1db 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 afbfadf65dd..641a7efa09a 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 de77eda1ee5..56fd421066c 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 8e0ccc40809..3b851ee22e9 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 6f28d293a4a..b2bd040813c 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 a9498dd7d99..f8c73e03387 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 620f2bdadca..247ef5b3338 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 41af7671168..1d46bcacdb9 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 347e73c4f66..b7deff5f86e 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 50d62771e2a..5d1345a2efa 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 065e841e9e0..2a7ba2cf272 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 1ab501dd000..97a926d5ccc 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 594cf66efe2..ab73147f43d 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 036c84995c0..b3f44249370 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 43bbd3e8ee9..322d471438f 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 255e4d667c0..162e7b4935b 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 4aa72986af0..eb5e06594ce 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 c3319b99ee0..63ca15df216 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 0a9bddcfdda..e41f15bded1 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 dd5b072acb3..6351807c6a5 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 8ccf196bc1e..df8ce807e0a 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 78d5c9cb42a..ca5b6166ed1 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 84a1fdaba35..263c49bfe12 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 4bb9463c99e..6b8a6d27302 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 7b6c7fd858f..15a9a804905 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 85aa7c9926d..88361960471 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 98d7dc7e3ad..6f82fc5c77a 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 a666b996334..121d62f1e27 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 1494706096f..e538752e354 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 7834a25e682..ee516f15de4 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 f7aa304e514..e8c40caedea 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 03a7ecc6b70..7c781c8aba4 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 e1b41fe2d6f..512b4449415 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 afaf7b50c08..4f3b1c9bfa3 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 3879c1b0e41..44f3408805f 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 2dfd88bdcc0..2d665ccbc1b 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 2982770cd18..a93f35501dd 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 5f0e8b1e0d3..3db2e884f61 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 e3fd2f2e522..f8a70748d14 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 97b2893918c..0f1c6d392cc 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 f248e41380c..f6acea5bae4 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 ba058645c28..035ab959705 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 7b2d81b2d48..cb41590eb0f 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 d2d6f268cce..efbdd1e2645 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 0013546ee01..f251d3e5ef7 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 0c88c27a24d..710c9b370c7 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 a8cd45e3ad7..cc423fdf5c6 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 9fb77abf59f..22225823681 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 0c36f89ee6f..c657a3e70e6 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 864baf1c446..66b92b636e5 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 3176ad0d526..180bc292504 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 c4d45dbcbe4..e83d601ffe5 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 e5fb0bc56e2..0433ec14052 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 0c192fe1c6b..631041c4375 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 b70fb065090..98a72835586 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 af44cf9a4bc..7efec8c8db0 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 8cdfa7aa52f..835c0c4040d 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 2049bc33832..6716ca2bf3e 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 a4dad188e30..719db17fa21 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 76e5a2a767c..2596ce27b70 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 b31a6742ee8..3312e453cc3 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 df3292b334f..5810e0cd507 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 daff83ac335..dbcd8cf2f79 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 893e642ced8..79f44d2aef0 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 229bd6d7a0e..5ec14a2edd6 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 9904c7f1139..aefb786ad57 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 9d7ba33a2c5..f8735e9499e 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 5689ea3fc2b..d9bd3f79b9b 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 4660a208ddb..5d2571eabee 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 b27856f53b0..145a26ee75d 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 cc02aac6e10..5b9a2f21e68 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 0fa831b13e3..009a0445981 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 5f8c24de90d..f588c06bfa1 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 d58c673b3ad..fd6a7bed412 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 bfb0b8ba48f..3b45cf9b79b 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 b40e88a87b8..901fb638a24 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 9718fa33752..b5c22ee5500 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;