Script implement TransformStream and TransformStreamDefaultController (#36739)

Part of https://github.com/servo/servo/issues/34676

---------

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
Signed-off-by: Taym <haddadi.taym@gmail.com>
Co-authored-by: gterzian <2792687+gterzian@users.noreply.github.com>
This commit is contained in:
Taym Haddadi 2025-05-08 10:45:57 +02:00 committed by GitHub
parent d39b9f05ff
commit f3f4cc5500
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 1784 additions and 48 deletions

View file

@ -256,6 +256,8 @@ skip: true
skip: true
[writable-streams]
skip: false
[transform-streams]
skip: false
[subresource-integrity]
skip: false
[touch-events]

View file

@ -7,6 +7,3 @@
[Transferring a MessagePort with multiple streams should set `.ports`]
expected: FAIL
[TransformStream must not be serializable]
expected: FAIL

View file

@ -10,14 +10,10 @@
[transform-stream-members.any.shadowrealm-in-window.html]
expected: ERROR
[transform-stream-members.any.html]
expected: ERROR
[transform-stream-members.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[transform-stream-members.any.worker.html]
expected: ERROR
[transform-stream-members.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR

View file

@ -2,14 +2,5 @@
[window.postMessage should be able to transfer a TransformStream]
expected: FAIL
[a TransformStream with a locked writable should not be transferable]
expected: FAIL
[a TransformStream with a locked readable should not be transferable]
expected: FAIL
[a TransformStream with both sides locked should not be transferable]
expected: FAIL
[piping through transferred transforms should work]
expected: FAIL

View file

@ -1,3 +0,0 @@
[writable-stream.html]
[window.postMessage should be able to transfer a {readable, writable} pair]
expected: FAIL

View file

@ -0,0 +1,23 @@
[backpressure.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
[backpressure.any.shadowrealm-in-window.html]
expected: ERROR
[backpressure.any.serviceworker.html]
expected: ERROR
[backpressure.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[backpressure.any.sharedworker.html]
expected: ERROR
[backpressure.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[backpressure.any.shadowrealm-in-sharedworker.html]
expected: ERROR
[backpressure.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR

View file

@ -0,0 +1,32 @@
[cancel.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[cancel.any.serviceworker.html]
expected: ERROR
[cancel.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR
[cancel.any.shadowrealm-in-sharedworker.html]
expected: ERROR
[cancel.any.sharedworker.html]
expected: ERROR
[cancel.any.shadowrealm-in-window.html]
expected: ERROR
[cancel.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
[cancel.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[cancel.any.worker.html]
[readable.cancel() and a parallel writable.close() should reject if a transformer.cancel() calls controller.error()]
expected: FAIL
[cancel.any.html]
[readable.cancel() and a parallel writable.close() should reject if a transformer.cancel() calls controller.error()]
expected: FAIL

View file

@ -0,0 +1,32 @@
[errors.any.sharedworker.html]
expected: ERROR
[errors.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[errors.any.shadowrealm-in-sharedworker.html]
expected: ERROR
[errors.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
[errors.any.serviceworker.html]
expected: ERROR
[errors.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR
[errors.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[errors.any.shadowrealm-in-window.html]
expected: ERROR
[errors.any.html]
[abort should set the close reason for the writable when it happens before cancel during start, and cancel should reject]
expected: FAIL
[errors.any.worker.html]
[abort should set the close reason for the writable when it happens before cancel during start, and cancel should reject]
expected: FAIL

View file

@ -0,0 +1,23 @@
[flush.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[flush.any.shadowrealm-in-window.html]
expected: ERROR
[flush.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR
[flush.any.shadowrealm-in-sharedworker.html]
expected: ERROR
[flush.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
[flush.any.sharedworker.html]
expected: ERROR
[flush.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[flush.any.serviceworker.html]
expected: ERROR

View file

@ -0,0 +1,23 @@
[general.any.shadowrealm-in-sharedworker.html]
expected: ERROR
[general.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[general.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
[general.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[general.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR
[general.any.serviceworker.html]
expected: ERROR
[general.any.shadowrealm-in-window.html]
expected: ERROR
[general.any.sharedworker.html]
expected: ERROR

View file

@ -0,0 +1,23 @@
[lipfuzz.any.shadowrealm-in-window.html]
expected: ERROR
[lipfuzz.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[lipfuzz.any.serviceworker.html]
expected: ERROR
[lipfuzz.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
[lipfuzz.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[lipfuzz.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR
[lipfuzz.any.sharedworker.html]
expected: ERROR
[lipfuzz.any.shadowrealm-in-sharedworker.html]
expected: ERROR

View file

@ -0,0 +1,23 @@
[patched-global.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[patched-global.any.shadowrealm-in-window.html]
expected: ERROR
[patched-global.any.shadowrealm-in-sharedworker.html]
expected: ERROR
[patched-global.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[patched-global.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
[patched-global.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR
[patched-global.any.sharedworker.html]
expected: ERROR
[patched-global.any.serviceworker.html]
expected: ERROR

View file

@ -0,0 +1,23 @@
[properties.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
[properties.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[properties.any.shadowrealm-in-window.html]
expected: ERROR
[properties.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[properties.any.sharedworker.html]
expected: ERROR
[properties.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR
[properties.any.serviceworker.html]
expected: ERROR
[properties.any.shadowrealm-in-sharedworker.html]
expected: ERROR

View file

@ -0,0 +1,23 @@
[reentrant-strategies.any.shadowrealm-in-window.html]
expected: ERROR
[reentrant-strategies.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[reentrant-strategies.any.sharedworker.html]
expected: ERROR
[reentrant-strategies.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR
[reentrant-strategies.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[reentrant-strategies.any.serviceworker.html]
expected: ERROR
[reentrant-strategies.any.shadowrealm-in-sharedworker.html]
expected: ERROR
[reentrant-strategies.any.shadowrealm-in-shadowrealm.html]
expected: ERROR

View file

@ -0,0 +1,24 @@
[strategies.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
[strategies.any.serviceworker.html]
expected: ERROR
[strategies.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[strategies.any.shadowrealm-in-window.html]
expected: ERROR
[strategies.any.shadowrealm-in-sharedworker.html]
expected: ERROR
[strategies.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[strategies.any.sharedworker.html]
expected: ERROR
[strategies.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR

View file

@ -0,0 +1,23 @@
[terminate.any.serviceworker.html]
expected: ERROR
[terminate.any.shadowrealm-in-sharedworker.html]
expected: ERROR
[terminate.https.any.shadowrealm-in-serviceworker.html]
expected: ERROR
[terminate.any.shadowrealm-in-window.html]
expected: ERROR
[terminate.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
[terminate.https.any.shadowrealm-in-audioworklet.html]
expected: ERROR
[terminate.any.shadowrealm-in-dedicatedworker.html]
expected: ERROR
[terminate.any.sharedworker.html]
expected: ERROR

View file

@ -13575,14 +13575,14 @@
]
],
"interfaces.https.html": [
"76d746b0663ed73865816e678c2536eceff31f2d",
"72918e837726b58740a491a9223eeeb625055ae5",
[
null,
{}
]
],
"interfaces.worker.js": [
"8d109502622fac7266a4564de09684a3ab94118c",
"e86f34f261442aeaa7074c525fb4b1206219769d",
[
"mozilla/interfaces.worker.html",
{}

View file

@ -371,6 +371,8 @@ test_interfaces([
"WritableStream",
"WritableStreamDefaultController",
"WritableStreamDefaultWriter",
"TransformStream",
"TransformStreamDefaultController",
"WGSLLanguageFeatures",
"XMLDocument",
"XMLHttpRequest",

View file

@ -137,6 +137,8 @@ test_interfaces([
"WritableStream",
"WritableStreamDefaultController",
"WritableStreamDefaultWriter",
"TransformStream",
"TransformStreamDefaultController",
"WGSLLanguageFeatures",
"XMLHttpRequest",
"XMLHttpRequestEventTarget",