imagebitmap: Make ImageBitmap serializable and transferable (#37101)

According to specification ImageBitmap objects are serializable objects
and transferable objects.

https://html.spec.whatwg.org/multipage/#the-imagebitmap-interface:imagebitmap-11

Testing:
 - html/canvas/element/manual/imagebitmap/*
 - html/infrastructure/safe-passing-of-structured-data/*
 - html/webappapis/structured-clone/*
 - workers/semantics/structured-clone/*

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
This commit is contained in:
Andrei Volykhin 2025-05-23 23:40:25 +03:00 committed by GitHub
parent cd36c35cf2
commit 1f5087d773
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 215 additions and 103 deletions

View file

@ -2106,6 +2106,7 @@ class IDLInterface(IDLInterfaceOrNamespace):
or identifier == "Serializable"
or identifier == "Abstract"
or identifier == "Inline"
or identifier == "Transferable"
):
# Known extended attributes that do not take values
if not attr.noArguments():

12
third_party/WebIDL/transferable.patch vendored Normal file
View file

@ -0,0 +1,12 @@
diff --git a/third_party/WebIDL/WebIDL.py b/third_party/WebIDL/WebIDL.py
index 40e118e3781..bad5cbe54ca 100644
--- a/third_party/WebIDL/WebIDL.py
+++ b/third_party/WebIDL/WebIDL.py
@@ -2106,6 +2106,7 @@ class IDLInterface(IDLInterfaceOrNamespace):
or identifier == "Serializable"
or identifier == "Abstract"
or identifier == "Inline"
+ or identifier == "Transferable"
):
# Known extended attributes that do not take values
if not attr.noArguments():

View file

@ -7,6 +7,7 @@ patch < inline.patch
patch < like-as-iterable.patch
patch < builtin-array.patch
patch < array-type.patch
patch < transferable.patch
wget https://hg.mozilla.org/mozilla-central/archive/tip.zip/dom/bindings/parser/tests/ -O tests.zip
rm -r tests