ladybird/Libraries/LibWeb
Aliaksandr Kalenik fd147e6be0 LibWeb: Protect SkiaBackendContext with a mutex
The Skia Ganesh backend we currently use doesn't support painting from
multiple threads, which could happen before this change when the main
thread used Skia to paint on the HTML canvas while the rendering thread
was working on display list rasterization.

Fixes https://github.com/LadybirdBrowser/ladybird/issues/4172
2025-04-01 23:39:05 +02:00
..
Animations LibWeb: Implement functional pseudo-element parsing 2025-03-25 07:54:13 +00:00
ARIA LibWeb: Sync AriaRoles.json w/ Characteristics data in current spec 2025-02-21 09:08:56 +00:00
Bindings LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
Clipboard Everywhere: Replace miscellaneous references to the chrome process 2025-03-15 19:57:27 -04:00
Compression LibWeb: Use get_buffer_source_copy for getting the actual byte buffer 2025-03-19 13:46:50 +01:00
ContentSecurityPolicy LibWeb: Enforce Content Security Policy on navigation request/response 2025-04-01 04:01:28 +02:00
Cookie Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
CredentialManagement LibWeb: Stub for Credential Management API 2025-02-05 13:18:47 -07:00
Crypto LibJS: Replace PropertyKey(char[]) with PropertyKey(FlyString) 2025-03-24 22:27:17 +00:00
CSS LibWeb: Pass PaintingSurface into DisplayListPlayer::execute() 2025-04-01 23:39:05 +02:00
DOM Revert "Everywhere: Remove DeprecatedFlyString + any remaining references to it" 2025-04-01 15:40:27 +02:00
DOMURL LibURL+LibWeb: Ensure opaque paths always roundtrip 2025-03-18 12:17:19 +00:00
Editing LibWeb: Return CSSStyleProperties as a GC::Ref 2025-03-19 13:53:00 +00:00
Encoding LibWeb/Bindings: Support returning nullable types in dictionaries 2025-02-10 17:05:15 +00:00
EncryptedMediaExtensions LibWeb: Improve Enum generation in IDLGenerator 2025-03-04 16:35:04 +00:00
EntriesAPI LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
EventTiming LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Fetch LibWeb: Enforce Content Security Policy of Fetch responses 2025-03-19 00:55:14 +01:00
FileAPI LibWeb: Implement FileReaderSync interface 2025-02-28 04:49:51 +00:00
Geometry LibWeb/CSS: Integrate ParsingContext into the Parser 2025-02-06 16:47:25 +00:00
HighResolutionTime LibWeb: Implement Resource Timing 2025-03-06 09:00:53 -07:00
HTML LibWeb: Pass PaintingSurface into DisplayListPlayer::execute() 2025-04-01 23:39:05 +02:00
IndexedDB LibWeb: Copy IDBDatabase object stores through Vector(ReadonlySpan) 2025-03-27 23:13:32 +00:00
Infra LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
Internals LibWeb+LibWebView+WebContent: Convert about:settings to a WebUI 2025-03-28 07:31:10 -04:00
IntersectionObserver LibWeb: Avoid allocating DOMRect objects for internal engine use 2025-03-22 14:33:59 -05:00
Layout LibWeb: Let LineBuilder decide on Y-coordinate for float insertion 2025-04-01 16:02:53 +02:00
Loader LibWeb+WebContent: Remove "chrome" from generated page template strings 2025-03-15 19:57:27 -04:00
MathML LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
MediaCapabilitiesAPI LibJS: Replace PropertyKey(char[]) with PropertyKey(FlyString) 2025-03-24 22:27:17 +00:00
MediaSourceExtensions LibWeb: Pass along the init dictionary for error / buffer change events 2025-03-25 07:52:12 +00:00
MimeSniff Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
MixedContent AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
NavigationTiming LibWeb: Return wall time from PerformanceTiming interface 2025-01-27 14:53:33 +01:00
Page LibWeb+WebContent: Move display list rasterization off the main thread 2025-03-31 15:58:15 +01:00
Painting LibWeb: Protect SkiaBackendContext with a mutex 2025-04-01 23:39:05 +02:00
PerformanceTimeline LibWeb: Implement Resource Timing 2025-03-06 09:00:53 -07:00
PermissionsPolicy LibWeb: Remove OOM handling from the AutoplayAllowlist 2025-03-30 16:18:57 +01:00
Platform LibWeb: Protect audio codec callbacks against its own destruction 2025-03-14 12:02:29 -05:00
ReferrerPolicy LibURL+LibWeb: Make URL::serialize return a String 2024-12-04 16:34:13 +00:00
RequestIdleCallback LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ResizeObserver AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
ResourceTiming LibWeb: Implement Resource Timing 2025-03-06 09:00:53 -07:00
SecureContexts Everywhere: Use URL::about_XXX factory functions 2025-02-15 17:05:55 +00:00
Selection LibWeb: Only clear command states and values if range actually changed 2025-01-24 23:53:26 +01:00
ServiceWorker LibWeb/ServiceWorker: Use has_value for checking for invalid URL 2025-02-19 08:01:35 -05:00
SRI Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
StorageAPI LibWeb/Storage: Add a storage key getter that takes a URL::Origin 2025-01-21 19:22:07 +00:00
Streams LibJS: Replace PropertyKey(char[]) with PropertyKey(FlyString) 2025-03-24 22:27:17 +00:00
SVG LibWeb: Pass PaintingSurface into DisplayListPlayer::execute() 2025-04-01 23:39:05 +02:00
TrustedTypes LibWeb: Update Document.write spec steps 2025-02-25 15:19:38 +01:00
UIEvents LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
URLPattern LibWeb/URLPattern: Implement IDL interface for URLPattern test and exec 2025-03-04 16:32:09 -05:00
UserTiming LibWeb: Report performance based timestamps relative to ESO time origin 2025-01-27 14:53:33 +01:00
WebAssembly LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
WebAudio LibWeb: Initialize AnalyserNode previous block at construction time 2025-02-13 20:31:37 +00:00
WebDriver LibWeb: Allow parsing of "file" prompt types in WebDriver 2025-04-01 03:52:02 +02:00
WebGL LibJS: Replace PropertyKey(char[]) with PropertyKey(FlyString) 2025-03-24 22:27:17 +00:00
WebIDL LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
WebSockets LibWeb: Don't close websocket if already closed in make_disappear() AO 2025-02-26 20:20:22 +01:00
WebVTT LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Worker Everywhere: Include HashMap only where it's actually used 2024-12-09 12:31:16 +01:00
XHR LibWeb: Implement Resource Timing 2025-03-06 09:00:53 -07:00
XLink LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
XML LibJS+LibWeb: Remove more uses of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
CMakeLists.txt LibWeb+WebContent: Move display list rasterization off the main thread 2025-03-31 15:58:15 +01:00
Dump.cpp LibWeb: Implement functional pseudo-element parsing 2025-03-25 07:54:13 +00:00
Dump.h LibWeb/CSS: Merge style declaration subclasses into CSSStyleProperties 2025-03-19 13:53:00 +00:00
Forward.h LibWeb: Implement BarProp properties for Window 2025-03-29 02:35:27 +00:00
idl_files.cmake LibWeb: Implement BarProp properties for Window 2025-03-29 02:35:27 +00:00
InvalidateDisplayList.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Namespace.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
Namespace.h LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
PixelUnits.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
PixelUnits.h LibWeb: Clamp layout content sizes to a max value instead of crashing 2025-02-05 18:28:55 +01:00
TraversalDecision.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
TraversalOrder.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
TreeNode.h LibWeb/DOM: Don't use recursion for subtree traversal in Node.h 2025-02-03 18:36:57 +01:00