servo/components/script/dom/bindings
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
..
buffer_source.rs WebIDL Fix ImageData constructor to take a Uint8ClampedArray instead of js_object (#31398) 2025-05-09 11:05:56 +00:00
cell.rs Remove ref_filter_map dependency (#36857) 2025-05-18 14:00:58 +00:00
constructor.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00
conversions.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
error.rs htmlimageelement: Reject decode promises on the current request mutation (#37828) 2025-07-02 09:29:47 +00:00
frozenarray.rs Use explicit reborrows with mozjs::MutableHandle (#35892) 2025-03-23 01:23:52 +00:00
function.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
import.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
inheritance.rs More miscellaneous script splitting changes (#36220) 2025-03-30 11:06:30 +00:00
like.rs Move more bindings types to script_bindings (#35620) 2025-02-23 14:25:46 +00:00
mod.rs Codegen: Fix typo in doc (#37777) 2025-06-29 11:13:50 +00:00
principals.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
proxyhandler.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
refcounted.rs script: const initialize LIVE_REFERENCES (#37688) 2025-06-25 11:27:56 +00:00
reflector.rs script: Return global objects for DOM objects in the relevant realm (#37120) 2025-05-25 03:21:05 +00:00
root.rs Rename script_layout_interface to layout_api (#37591) 2025-06-20 17:13:05 +00:00
serializable.rs script: Add generic root storage to StructuredCloneReader. (#36640) 2025-04-23 13:05:41 +00:00
settings_stack.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
str.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
structuredclone.rs canvas: Make OffscreenCanvas transferable (without placeholder) (#37872) 2025-07-08 14:47:29 +00:00
trace.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
transferable.rs script: Add generic root storage to StructuredCloneReader. (#36640) 2025-04-23 13:05:41 +00:00
utils.rs Eagerly define interfaces on non-Window globals (#36604) 2025-04-21 03:32:21 +00:00
weakref.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
xmlname.rs Use version of markup5ever with web_atoms crate (#36542) 2025-04-19 11:49:37 +00:00