1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-10 10:01:13 +09:00
ladybird/Userland/Libraries/LibWeb
Andreas Kling cfe663435e LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors
It's not safe to allocate from the GC heap while in the constructor of a
GC heap cell. (Because if this ends up triggering a collection, we may
end up trying to call through an uninitialized vtable).

This was already done safely in the initialize() virtual in much of
LibJS and LibWeb. This patch moves the logic for prototypes, mixins,
and CSSStyleDeclaration as well.

Fixes a long-standing GC crash that was pretty easy to reproduce by
refreshing https://vercel.com/
2023-05-21 14:23:58 +02:00
..
ARIA Everywhere: Rename equals_ignoring_case => equals_ignoring_ascii_case 2023-03-10 13:15:44 +01:00
Bindings LibJS+LibWeb: Add missing visit calls in visit_edges implementations 2023-04-30 06:04:33 +02:00
Cookie Everywhere: Rename equals_ignoring_case => equals_ignoring_ascii_case 2023-03-10 13:15:44 +01:00
Crypto AK+Everywhere: Change AK::fill_with_random to accept a Bytes object 2023-04-03 15:53:49 +02:00
CSS LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors 2023-05-21 14:23:58 +02:00
DOM LibWeb: Resolve CSS custom properties on pseudo elements 2023-05-17 20:37:29 +02:00
DOMParsing LibWeb: Don't include DOM/NamedNodeMap.h from DOM/Element.h 2023-05-08 09:29:44 +02:00
Encoding
Fetch LibWeb: Make processBodyError take an optional exception 2023-05-15 16:28:16 +02:00
FileAPI
Geometry LibWeb: Don't divide by 0 in DOMMatrix::invert_self() 2023-05-04 15:39:34 +02:00
HighResolutionTime LibWeb: Implement performance.{measure,clearMeasures} 2023-05-13 16:31:10 +02:00
HTML LibWeb: Load external images with image/svg+xml as SVG-as-image 2023-05-21 07:44:29 +02:00
Infra LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
IntersectionObserver
Layout LibWeb: Implement table rowspan 2023-05-21 14:23:41 +02:00
Loader LibWeb: Explicitly mark HashMap copy 2023-05-19 22:33:57 +02:00
MimeSniff Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
NavigationTiming LibWeb: Specify snake case names for navigation timing entries too 2023-05-13 16:31:10 +02:00
Page LibWeb+WebContent: Add APIs to control video playback state 2023-05-16 12:48:39 +02:00
Painting LibWeb: Have ImageProvider bitmap getter take optional size argument 2023-05-21 07:44:29 +02:00
PerformanceTimeline LibWeb: Introduce Performance Timeline and its Performance functions 2023-03-23 21:00:43 +00:00
PermissionsPolicy LibWeb+LibWebView+WebContent: Add APIs to manage an autoplay allowlist 2023-04-18 16:30:02 +02:00
Platform LibWeb+Browser+Ladybird: Use JS::SafeFunction for EventLoop callbacks 2023-04-21 20:44:47 +01:00
ReferrerPolicy LibWeb: Add ReferrerPolicy::EmptyString 2023-04-25 12:54:01 +02:00
RequestIdleCallback
ResizeObserver
Scripts
SecureContexts
Selection
SRI LibWeb: Implement integrity-metadata part of fetch algorithm 2023-04-21 20:44:47 +01:00
Streams LibWeb: Implement ReadableByteStreamController.error() 2023-04-27 07:57:53 +02:00
SVG LibWeb: Include SVG-as-image isolated contexts in layout/DOM tree dumps 2023-05-21 07:44:29 +02:00
Tests
UIEvents LibWeb: Make the dblclick event bubble, cancelable and composed 2023-05-14 13:51:05 +02:00
URL Everywhere: Change spelling of 'behaviour' to 'behavior' 2023-05-07 01:05:09 +02:00
UserTiming LibWeb: Implement performance.{measure,clearMeasures} 2023-05-13 16:31:10 +02:00
WebAssembly LibJS: Port Value::to_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
WebDriver AK: Remove must_set() from JsonArray 2023-05-09 06:21:34 +02:00
WebGL LibWeb: Don't include Layout/Node.h from DOM/Element.h 2023-05-08 09:29:44 +02:00
WebIDL LibWeb: Implement IDL overload resolution steps to clamp argument counts 2023-05-07 06:30:27 +02:00
WebSockets LibWeb: Make WebSocket#send support typed arrays, Blob and DataView 2023-04-21 07:59:50 +02:00
XHR LibJS: Port create_iterator_result_object() to NonnullGCPtr 2023-04-15 16:26:42 +02:00
XML LibWeb: Make XMLDocumentBuilder create elements with the HTML namespace 2023-05-01 15:22:55 +02:00
CMakeLists.txt LibWeb: Stub out a new SVGDecodedImageData class 2023-05-21 07:44:29 +02:00
Dump.cpp LibWeb: Include SVG-as-image isolated contexts in layout/DOM tree dumps 2023-05-21 07:44:29 +02:00
Dump.h LibWeb+Browser+Ladybird: Add menu action to dump paint tree 2023-03-18 20:23:35 +01:00
FontCache.cpp LibWeb: Scale the font when painting the text on buttons 2023-03-15 23:29:00 +01:00
FontCache.h LibWeb: Scale the font when painting the text on buttons 2023-03-15 23:29:00 +01:00
Forward.h LibWeb: Implement performance.{measure,clearMeasures} 2023-05-13 16:31:10 +02:00
idl_files.cmake LibWeb: Implement performance.{measure,clearMeasures} 2023-05-13 16:31:10 +02:00
Namespace.cpp LibWeb: Initialize static web strings during main-thread VM creation 2023-03-18 19:50:45 +01:00
Namespace.h LibWeb: Initialize static web strings during main-thread VM creation 2023-03-18 19:50:45 +01:00
PixelUnits.h LibWeb: VERIFY that nobody tries to hash a non-finite CSSPixels value 2023-05-06 18:41:34 +02:00
TreeNode.h