summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-09-06LibJS: Make Script and Module GC-allocatedAndreas Kling
This ensures that code currently in any active or saved execution stack always stays alive.
2022-09-06LibWeb: Always allow scripting in workers for nowAndreas Kling
Workers don't have a document, so we can't ask them if scripting is enabled or not. This is not the right long-term fix, but it fixes an assertion when trying to query the missing responsible document of a web worker.
2022-09-06LibWeb: Give web workers a (totally hacky) Window objectAndreas Kling
This is *not* according to spec, however we currently store prototypes and constructors on Window, so the only way for objects in a worker context to become fully formed is to make a Window. Long-term we should clean this up and remove the worker window object, but for now it allows workers to exist without asserting.
2022-09-06LibWeb: Remove the NoInstanceWrapper extended IDL attributeAndreas Kling
No interfaces require wrappers anymore, so we can just make this the default mode.
2022-09-06LibWeb: Remove now-unused Bindings::wrap()Andreas Kling
2022-09-06LibWeb: Stop using Bindings::wrap() in a bunch of placesAndreas Kling
wrap() is now basically a no-op so we should stop using it everywhere and eventually remove it. This patch removes uses of wrap() in non-generated code.
2022-09-06LibWeb: Use the WRAPPER_HACK() macro instead of hand-coding wrap()Andreas Kling
This macro will soon go away, but let's start by replacing all the hand-coded versions of wrap() with this macro that expands to the same exact thing.
2022-09-06LibWeb: Remove now-unused Bindings::Wrapper classAndreas Kling
2022-09-06LibWeb: Remove now-unused Bindings::Wrappable classAndreas Kling
2022-09-06LibWeb: Remove the NO_INSTANCE option now that all wrappers are goneAndreas Kling
2022-09-06LibWeb: Make DOMException GC-allocatedAndreas Kling
2022-09-06LibWeb: Make LocationObject a PlatformObjectAndreas Kling
2022-09-06LibWeb: Make WorkerNavigator GC-allocatedAndreas Kling
2022-09-06LibWeb: Make WorkerLocation GC-allocatedAndreas Kling
2022-09-06LibWeb: Make IntersectionObserver GC-allocatedAndreas Kling
2022-09-06LibWeb: Make URL, URLSearchParams & URLSearchParamsIterator GC-allocatedAndreas Kling
2022-09-06LibWeb: Make ResizeObserver GC-allocatedAndreas Kling
2022-09-06LibWeb: Make IdleDeadline GC-allocatedAndreas Kling
2022-09-06LibWeb: Make Selection GC-allocatedAndreas Kling
2022-09-06LibWeb: Make Crypto GC-allocatedAndreas Kling
2022-09-06LibWeb: Make Headers and HeadersIterator GC-allocatedAndreas Kling
2022-09-06LibWeb: Make Blob and File GC-allocatedAndreas Kling
2022-09-06LibWeb: Make TextDecoder GC-allocatedAndreas Kling
2022-09-06LibWeb: Make TextEncoder GC-allocatedAndreas Kling
2022-09-06LibWeb: Make DOMRect, DOMRectReadOnly and DOMRectList GC-allocatedAndreas Kling
2022-09-06LibWeb: Make DOMPoint and DOMPointReadOnly GC-allocatedAndreas Kling
2022-09-06LibWeb: Remove unused HTML::Window::create_with_document()Andreas Kling
2022-09-06LibWeb: Make SubtleCrypto GC-allocatedAndreas Kling
2022-09-06LibWeb: Make Storage GC-allocatedAndreas Kling
2022-09-06LibWeb: Use target's global object when creating focus/blur eventsAndreas Kling
2022-09-06LibWeb: Don't allocate DOMStringMap in HTMLElement constructorAndreas Kling
Allocations go in initialize().
2022-09-06LibWeb: Don't allocate NamedNodeMap in Element constructorAndreas Kling
Allocations should happen in the initialize() virtual, so move it there.
2022-09-06LibWeb: Use cached_web_prototype() as much as possibleAndreas Kling
Unlike ensure_web_prototype<T>(), the cached version doesn't require the prototype type to be fully formed, so we can use it without including the FooPrototype.h header. It's also a bit less verbose. :^)
2022-09-06LibWeb: Add some missing constructors to the Window objectAndreas Kling
2022-09-06LibWeb: Use correct Window object when dispatching Document load eventAndreas Kling
2022-09-06LibWeb: Use correct relevant settings object in Document initializationAndreas Kling
The code was not in line with the spec comment right above it.
2022-09-06LibWeb: Make StyleSheet mark its owner nodeAndreas Kling
The garbage collector will take care of cycles.
2022-09-06LibWeb: Make CSSImportList mark its documentAndreas Kling
We don't need to use a WeakPtr here anymore, since the garbage collector will resolve any cycles.
2022-09-06LibWeb: Make Document::is_fully_active() more robustAndreas Kling
We were missing a check for null browsing context container documents.
2022-09-06LibWeb: Don't capture raw ptr in Document::completely_finish_loading()Andreas Kling
It's not safe to capture a raw pointer in a HTML task, as the garbage collector doesn't have visibility into the task captures.
2022-09-06LibWeb: Make XMLSerializer GC-allocatedAndreas Kling
2022-09-06LibWeb: Make TextMetrics GC-allocatedAndreas Kling
2022-09-06LibWeb: Make Path2D GC-allocatedAndreas Kling
2022-09-06LibWeb: Make CanvasGradient GC-allocatedAndreas Kling
2022-09-06LibWeb: Make ImageData GC-allocatedAndreas Kling
2022-09-06LibWeb: Make 2D and 3D canvas rendering contexts GC-allocatedAndreas Kling
2022-09-06LibWeb: Make AbortController GC-allocatedAndreas Kling
2022-09-06LibWeb: Make SVGLength and SVGAnimatedLength GC-allocatedAndreas Kling
2022-09-06LibWeb: Make History GC-allocatedAndreas Kling
2022-09-06LibWeb+LibJS: Let JS::Realm::HostDefined objects mark things during GCAndreas Kling
This allows us to mark the HTML::Window from our window environment settings object.