mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 04:27:45 +00:00
LibWeb+LibJS: Make the EventTarget hierarchy (incl. DOM) GC-allocated
This is a monster patch that turns all EventTargets into GC-allocated PlatformObjects. Their C++ wrapper classes are removed, and the LibJS garbage collector is now responsible for their lifetimes. There's a fair amount of hacks and band-aids in this patch, and we'll have a lot of cleanup to do after this.
This commit is contained in:
parent
bb547ce1c4
commit
6f433c8656
445 changed files with 4797 additions and 4268 deletions
|
@ -71,6 +71,7 @@ class LengthPercentage;
|
|||
class LengthStyleValue;
|
||||
class LinearGradientStyleValue;
|
||||
class ListStyleStyleValue;
|
||||
class MediaFeatureValue;
|
||||
class MediaList;
|
||||
class MediaQuery;
|
||||
class MediaQueryList;
|
||||
|
@ -447,18 +448,10 @@ class URLSearchParamsIterator;
|
|||
|
||||
namespace Web::Bindings {
|
||||
class AbortControllerWrapper;
|
||||
class AbortSignalWrapper;
|
||||
class AttributeWrapper;
|
||||
class BlobWrapper;
|
||||
class CanvasGradientWrapper;
|
||||
class CanvasRenderingContext2DWrapper;
|
||||
class CDATASectionWrapper;
|
||||
class CharacterDataWrapper;
|
||||
class CommentWrapper;
|
||||
class CryptoWrapper;
|
||||
class DocumentFragmentWrapper;
|
||||
class DocumentTypeWrapper;
|
||||
class DocumentWrapper;
|
||||
class DOMExceptionWrapper;
|
||||
class DOMParserWrapper;
|
||||
class DOMPointWrapper;
|
||||
|
@ -466,102 +459,23 @@ class DOMPointReadOnlyWrapper;
|
|||
class DOMRectListWrapper;
|
||||
class DOMRectReadOnlyWrapper;
|
||||
class DOMRectWrapper;
|
||||
class ElementWrapper;
|
||||
class EventTargetWrapper;
|
||||
class FileWrapper;
|
||||
class HeadersWrapper;
|
||||
class HeadersIteratorWrapper;
|
||||
class HistoryWrapper;
|
||||
class HTMLAnchorElementWrapper;
|
||||
class HTMLAreaElementWrapper;
|
||||
class HTMLAudioElementWrapper;
|
||||
class HTMLBaseElementWrapper;
|
||||
class HTMLBodyElementWrapper;
|
||||
class HTMLBRElementWrapper;
|
||||
class HTMLButtonElementWrapper;
|
||||
class HTMLCanvasElementWrapper;
|
||||
class HTMLCollectionWrapper;
|
||||
class HTMLDataElementWrapper;
|
||||
class HTMLDataListElementWrapper;
|
||||
class HTMLDetailsElementWrapper;
|
||||
class HTMLDialogElementWrapper;
|
||||
class HTMLDirectoryElementWrapper;
|
||||
class HTMLDivElementWrapper;
|
||||
class HTMLDListElementWrapper;
|
||||
class HTMLElementWrapper;
|
||||
class HTMLEmbedElementWrapper;
|
||||
class HTMLFieldSetElementWrapper;
|
||||
class HTMLFontElementWrapper;
|
||||
class HTMLFormElementWrapper;
|
||||
class HTMLFrameElementWrapper;
|
||||
class HTMLFrameSetElementWrapper;
|
||||
class HTMLHeadElementWrapper;
|
||||
class HTMLHeadingElementWrapper;
|
||||
class HTMLHRElementWrapper;
|
||||
class HTMLHtmlElementWrapper;
|
||||
class HTMLIFrameElementWrapper;
|
||||
class HTMLImageElementWrapper;
|
||||
class HTMLInputElementWrapper;
|
||||
class HTMLLabelElementWrapper;
|
||||
class HTMLLegendElementWrapper;
|
||||
class HTMLLIElementWrapper;
|
||||
class HTMLLinkElementWrapper;
|
||||
class HTMLMapElementWrapper;
|
||||
class HTMLMarqueeElementWrapper;
|
||||
class HTMLMediaElementWrapper;
|
||||
class HTMLMenuElementWrapper;
|
||||
class HTMLMetaElementWrapper;
|
||||
class HTMLMeterElementWrapper;
|
||||
class HTMLModElementWrapper;
|
||||
class HTMLObjectElementWrapper;
|
||||
class HTMLOListElementWrapper;
|
||||
class HTMLOptGroupElementWrapper;
|
||||
class HTMLOptionElementWrapper;
|
||||
class HTMLOptionsCollectionWrapper;
|
||||
class HTMLOutputElementWrapper;
|
||||
class HTMLParagraphElementWrapper;
|
||||
class HTMLParamElementWrapper;
|
||||
class HTMLPictureElementWrapper;
|
||||
class HTMLPreElementWrapper;
|
||||
class HTMLProgressElementWrapper;
|
||||
class HTMLQuoteElementWrapper;
|
||||
class HTMLScriptElementWrapper;
|
||||
class HTMLSelectElementWrapper;
|
||||
class HTMLSlotElementWrapper;
|
||||
class HTMLSourceElementWrapper;
|
||||
class HTMLSpanElementWrapper;
|
||||
class HTMLStyleElementWrapper;
|
||||
class HTMLTableCaptionElementWrapper;
|
||||
class HTMLTableCellElementWrapper;
|
||||
class HTMLTableColElementWrapper;
|
||||
class HTMLTableElementWrapper;
|
||||
class HTMLTableRowElementWrapper;
|
||||
class HTMLTableSectionElementWrapper;
|
||||
class HTMLTemplateElementWrapper;
|
||||
class HTMLTextAreaElementWrapper;
|
||||
class HTMLTimeElementWrapper;
|
||||
class HTMLTitleElementWrapper;
|
||||
class HTMLTrackElementWrapper;
|
||||
class HTMLUListElementWrapper;
|
||||
class HTMLUnknownElementWrapper;
|
||||
class HTMLVideoElementWrapper;
|
||||
class IdleDeadlineWrapper;
|
||||
class ImageDataWrapper;
|
||||
class IntersectionObserverWrapper;
|
||||
class LocationObject;
|
||||
class MediaQueryListWrapper;
|
||||
class MessageChannelWrapper;
|
||||
class MessagePortWrapper;
|
||||
class MutationObserverWrapper;
|
||||
class MutationRecordWrapper;
|
||||
class NodeListWrapper;
|
||||
class NodeWrapper;
|
||||
class OptionConstructor;
|
||||
class Path2DWrapper;
|
||||
class PerformanceTimingWrapper;
|
||||
class PerformanceWrapper;
|
||||
class ProcessingInstructionWrapper;
|
||||
class RangeConstructor;
|
||||
class RangePrototype;
|
||||
class ResizeObserverWrapper;
|
||||
class ScreenWrapper;
|
||||
|
@ -569,47 +483,20 @@ class SelectionWrapper;
|
|||
class StorageWrapper;
|
||||
class SubtleCryptoWrapper;
|
||||
class SVGAnimatedLengthWrapper;
|
||||
class SVGCircleElementWrapper;
|
||||
class SVGDefsElementWrapper;
|
||||
class SVGClipPathElementWrapper;
|
||||
class SVGElementWrapper;
|
||||
class SVGEllipseElementWrapper;
|
||||
class SVGGeometryElementWrapper;
|
||||
class SVGGraphicsElementWrapper;
|
||||
class SVGLengthWrapper;
|
||||
class SVGLineElementWrapper;
|
||||
class SVGPathElementWrapper;
|
||||
class SVGPolygonElementWrapper;
|
||||
class SVGPolylineElementWrapper;
|
||||
class SVGRectElementWrapper;
|
||||
class SVGSVGElementWrapper;
|
||||
class SVGTextContentElementWrapper;
|
||||
class TextDecoderWrapper;
|
||||
class TextEncoderWrapper;
|
||||
class TextMetricsWrapper;
|
||||
class TextWrapper;
|
||||
class URLConstructor;
|
||||
class URLPrototype;
|
||||
class URLSearchParamsConstructor;
|
||||
class URLSearchParamsIteratorPrototype;
|
||||
class URLSearchParamsIteratorWrapper;
|
||||
class URLSearchParamsPrototype;
|
||||
class URLSearchParamsWrapper;
|
||||
class URLWrapper;
|
||||
class WebGLRenderingContextWrapper;
|
||||
class WebSocketWrapper;
|
||||
class WindowObject;
|
||||
class WindowProxy;
|
||||
class WorkerWrapper;
|
||||
class WorkerGlobalScopeWrapper;
|
||||
class WorkerLocationWrapper;
|
||||
class WorkerNavigatorWrapper;
|
||||
class Wrappable;
|
||||
class Wrapper;
|
||||
class XMLHttpRequestConstructor;
|
||||
class XMLHttpRequestEventTargetWrapper;
|
||||
class XMLHttpRequestPrototype;
|
||||
class XMLHttpRequestWrapper;
|
||||
class XMLSerializerWrapper;
|
||||
enum class CanPlayTypeResult;
|
||||
enum class CanvasFillRule;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue