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