ladybird/Libraries/LibWeb
Aliaksandr Kalenik 93bbdf1f55 LibWeb: Use compositor surface IDs for embedded content
Display lists kept canvas and nested navigable content alive through
ExternalContentSource objects. That made the resource graph depend on
process-local object identity instead of a stable surface handle, which
blocks compositor process isolation and made teardown-sensitive embedded
content harder to reason about.

Allocate CompositorSurfaceId values for canvases and child navigables,
publish their backing stores to the owning compositor, and paint them
with DrawCompositorSurface. Child navigables now publish to parent
compositors by CompositorContextId instead of raw object pointers, so
the in-process path uses the same stable addressing model required by a
remote compositor.

Clear and skip stale child surfaces during teardown, preserve Skia
canvas state while drawing compositor surfaces, and add display-list
coverage for canvas and iframe compositor surfaces. The nested navigable
async-scrolling baseline now expects DrawCompositorSurface.
2026-05-18 15:27:59 +02:00
..
Animations LibJS+LibWeb: Use the unified Visitor for Variant-holding members 2026-05-15 08:51:17 +02:00
ARIA LibWeb: Shave 168 bytes off of ARIAMixin 2025-11-07 16:59:26 +01:00
Bindings LibJS: Compact Shape property table to a sorted flat array 2026-05-14 19:59:40 +02:00
Clipboard LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Compositor LibWeb: Use compositor surface IDs for embedded content 2026-05-18 15:27:59 +02:00
Compression LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ContentSecurityPolicy LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
CookieStore LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
CredentialManagement LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Crypto LibWeb: Treat raw-public key format as raw for all asymmetric algorithms 2026-05-12 13:58:38 +02:00
CSS LibWeb: Honor requested CSS tokenizer encoding 2026-05-18 14:08:22 +02:00
DOM LibWeb: Skip style update inside display:none subtrees 2026-05-18 11:31:26 +02:00
DOMURL LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
Editing LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Encoding LibTextCodec: Stop buffering invalid UTF-8 tails 2026-05-18 14:08:22 +02:00
EncryptedMediaExtensions LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
EntriesAPI LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
EventTiming LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Fetch LibWeb: Preserve immutable consumed body bytes 2026-05-18 01:21:34 +02:00
FileAPI LibJS+LibWeb: Allow instantiating DataBlock with an external buffer 2026-05-10 16:41:42 +02:00
Fullscreen LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
Gamepad LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Geolocation LibWeb: Support Geolocation permission 2026-05-11 21:01:01 +02:00
Geometry LibWeb: Avoid normalizing zero axis in DOMMatrix.rotateAxisAngleSelf() 2026-05-16 10:14:48 +02:00
GPC
HighResolutionTime LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
HTML LibWeb: Use compositor surface IDs for embedded content 2026-05-18 15:27:59 +02:00
IndexedDB LibWeb: Stop internal IDB databases retaining realms 2026-05-17 00:29:18 +02:00
Infra LibTextCodec+LibWeb: Move isomorphic coders to LibTextCodec 2025-11-27 14:57:29 +01:00
Internals LibWeb: Synchronize display list resources via transactions 2026-05-16 19:35:24 +02:00
IntersectionObserver LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Layout LibWeb: Skip style update inside display:none subtrees 2026-05-18 11:31:26 +02:00
Loader RequestServer: Send bytecode cache sidecars as files 2026-05-16 08:13:35 +02:00
MathML LibWeb: Rename HTMLOrSVGElement to HTMLOrSVGOrMathMLElement 2026-05-06 17:42:36 +01:00
MediaCapabilitiesAPI LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
MediaCapture LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
MediaSourceExtensions LibMedia+LibWeb: Speculatively find keyframes near fast seek targets 2026-05-13 02:05:35 -05:00
MimeSniff LibHTTP+LibWeb+RequestServer: Move Fetch's HTTP header infra to LibHTTP 2025-11-27 14:57:29 +01:00
MixedContent LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
NavigationTiming LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
NotificationsAPI LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Page LibWeb: Respect overflow axes for wheel scrolling 2026-05-17 14:19:36 +02:00
Painting LibWeb: Use compositor surface IDs for embedded content 2026-05-18 15:27:59 +02:00
PerformanceTimeline LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
PermissionsAPI LibWeb: Support Geolocation permission 2026-05-11 21:01:01 +02:00
PermissionsPolicy LibWeb/PermissionsPolicy: Allow autoplay of file:// media from file:// 2026-03-01 01:04:10 +01:00
Platform LibWeb: Keep active platform timers alive during GC 2026-05-10 10:58:11 +02:00
ReferrerPolicy LibWeb: Store HTTP methods and headers as ByteString 2025-11-26 09:15:06 -05:00
RequestIdleCallback LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ResizeObserver LibWeb: Keep ResizeObserver targets weakly 2026-05-16 18:48:52 +02:00
ResourceTiming LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Rust LibWeb: Replace the HTML tokenizer with Rust 2026-05-15 21:01:40 +02:00
SecureContexts LibWebView: Add bookmark import/export to about:bookmarks 2026-04-22 08:02:15 -04:00
Selection LibWeb: Make Paintable tree ref-counted 2026-05-07 15:03:44 +02:00
Serial LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ServiceWorker LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Speech LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
SRI
StorageAPI LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
Streams LibWeb: Avoid temporary stream chunks for fetch bytes 2026-05-15 15:20:33 +02:00
SVG AK+LibWeb: Reject impossible Variant visit overloads 2026-05-18 01:21:34 +02:00
TrustedTypes LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
UIEvents LibWeb: Scroll the viewport on the compositor thread 2026-05-12 20:57:08 +02:00
URLPattern LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
UserTiming LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ViewTransition LibGfx+LibWeb: Make DecodedImageFrame a value type 2026-05-07 16:08:13 +02:00
WebAssembly LibWasm+LibWeb: Properly track module lifetime with function refs 2026-05-10 16:41:42 +02:00
WebAudio LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
WebDriver LibGC: Move Web::WebDriver::HeapTimer to GC::Timer 2026-05-10 10:58:11 +02:00
WebGL LibJS+LibWeb: Allow instantiating DataBlock with an external buffer 2026-05-10 16:41:42 +02:00
WebIDL LibJS+LibWeb: Use the unified Visitor for Variant-holding members 2026-05-15 08:51:17 +02:00
WebSockets LibJS+LibWeb: Allow instantiating DataBlock with an external buffer 2026-05-10 16:41:42 +02:00
WebVTT LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
WebXR LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Worker LibWeb: Keep worker startup reachable until script load completes 2026-04-27 18:02:49 +02:00
XHR LibWeb: Preserve immutable consumed body bytes 2026-05-18 01:21:34 +02:00
XLink
XML LibWeb: Set fragment scripting mode from the context document 2026-04-14 23:01:36 +02:00
XPath LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
CMakeLists.txt LibWeb: Use compositor surface IDs for embedded content 2026-05-18 15:27:59 +02:00
Dump.cpp LibWeb/CSS: Insert a combinator before all pseudo-element selectors 2026-05-13 11:03:02 +01:00
Dump.h LibWeb: Rename show_cascaded_properties flag in dump_tree() 2026-05-05 16:02:23 +02:00
Forward.h LibWeb: Use compositor surface IDs for embedded content 2026-05-18 15:27:59 +02:00
GraphemeEdgeTracker.cpp LibWeb: Use the ASCII line segmenter for eligible text 2026-05-05 18:59:07 +02:00
GraphemeEdgeTracker.h LibWeb: Expose GraphemeEdgeTracker's find_line_start/find_line_end 2026-02-06 14:18:10 +00:00
idl_files.cmake LibWeb: Add basics for the Permissions API 2026-05-11 21:01:01 +02:00
InvalidateDisplayList.h
Namespace.cpp
Namespace.h
PixelUnits.cpp LibWeb: Inline CSSPixels methods and optimize device pixel math 2026-02-21 15:53:22 +01:00
PixelUnits.h LibWeb: Fix precision loss in CSSPixelFraction::to_float/to_double 2026-03-22 14:09:22 -05:00
RefCountedTreeNode.h LibWeb: Add RefCountedTreeNode 2026-05-07 15:03:44 +02:00
TraversalDecision.h
TraversalOrder.h
TreeNode.h LibWeb: Make Paintable tree ref-counted 2026-05-07 15:03:44 +02:00