servo/components/shared
Andrei Volykhin 4054f9a5a0
canvas: Make OffscreenCanvas transferable (without placeholder) (#37872)
Follow the specification and make OffscreenCanvas objects are
transferable,
but not in case if there are a weak reference to placeholder canvas
element.
To handle it properly need to implement dedicated frame
provider/dispatcher
between canvas element (script thread) and offscreen canvas (dedicated
worker thread).

https://html.spec.whatwg.org/multipage/#the-offscreencanvas-interface:transferable-objects

Testing: Improvements in the following tests
-
html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.detachedcanvas.html
-
html/canvas/offscreen/manual/convert-to-blob/offscreencanvas.convert.to.blob*
-
html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer*
-
html/infrastructure/safe-passing-of-structured-data/transfer-errors.window.js

Part of #24276

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-07-08 14:47:29 +00:00
..
background_hang_monitor Initial IndexedDB Support (#33044) 2025-06-19 05:19:07 +00:00
base canvas: Make OffscreenCanvas transferable (without placeholder) (#37872) 2025-07-08 14:47:29 +00:00
bluetooth Include WebViewId into EmbedderMsg variants where possible (#35211) 2025-01-30 11:15:35 +00:00
canvas canvas: Use snapshot in canvas backends (#37863) 2025-07-04 20:22:20 +00:00
compositing Move webdriver actions commands to servoshell (#37669) 2025-07-04 16:29:38 +00:00
constellation canvas: Make OffscreenCanvas transferable (without placeholder) (#37872) 2025-07-08 14:47:29 +00:00
devtools Send WillNavigate earlier during navigation startup (#37778) 2025-07-05 11:35:37 +00:00
embedder Webdriver: Keyboard Action use webview::notify_input_event instead of directly sent to constellation (#37908) 2025-07-08 06:54:57 +00:00
fonts Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
layout layout: Add a first pass at incremental box tree construction (#37751) 2025-07-03 08:13:20 +00:00
net storage: Isolate sessionStorage per top-level browsing context and copy sessionStorage when creating a new auxiliary browsing context (#37803) 2025-07-04 09:15:12 +00:00
profile layout: Improve and expand category names for layout profiling (#37833) 2025-07-02 15:02:56 +00:00
script Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
webgpu pixels: Move Snapshot and related data structures to pixels (#37590) 2025-06-20 14:47:06 +00:00
webxr libservo: Move EventLooperWaker from webxr_traits to embedder_traits (#36420) 2025-04-09 14:19:33 +00:00