summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/webcodecs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/meta/webcodecs
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--testing/web-platform/meta/webcodecs/audio-data-serialization.any.js.ini9
-rw-r--r--testing/web-platform/meta/webcodecs/audio-data.any.js.ini50
-rw-r--r--testing/web-platform/meta/webcodecs/audio-data.crossOriginIsolated.https.any.js.ini6
-rw-r--r--testing/web-platform/meta/webcodecs/audio-decoder.crossOriginIsolated.https.any.js.ini18
-rw-r--r--testing/web-platform/meta/webcodecs/audio-decoder.https.any.js.ini78
-rw-r--r--testing/web-platform/meta/webcodecs/audio-encoder-config.https.any.js.ini126
-rw-r--r--testing/web-platform/meta/webcodecs/audio-encoder.https.any.js.ini9
-rw-r--r--testing/web-platform/meta/webcodecs/audioDecoder-codec-specific.https.any.js.ini378
-rw-r--r--testing/web-platform/meta/webcodecs/chunk-serialization.any.js.ini9
-rw-r--r--testing/web-platform/meta/webcodecs/encoded-audio-chunk.any.js.ini18
-rw-r--r--testing/web-platform/meta/webcodecs/encoded-audio-chunk.crossOriginIsolated.https.any.js.ini18
-rw-r--r--testing/web-platform/meta/webcodecs/encoded-video-chunk.any.js.ini18
-rw-r--r--testing/web-platform/meta/webcodecs/encoded-video-chunk.crossOriginIsolated.https.any.js.ini19
-rw-r--r--testing/web-platform/meta/webcodecs/full-cycle-test.https.any.js.ini112
-rw-r--r--testing/web-platform/meta/webcodecs/idlharness.https.any.js.ini1812
-rw-r--r--testing/web-platform/meta/webcodecs/image-decoder-image-orientation-none.https.html.ini50
-rw-r--r--testing/web-platform/meta/webcodecs/image-decoder.crossOriginIsolated.https.any.js.ini18
-rw-r--r--testing/web-platform/meta/webcodecs/image-decoder.https.any.js.ini252
-rw-r--r--testing/web-platform/meta/webcodecs/reconfiguring-encoder.https.any.js.ini82
-rw-r--r--testing/web-platform/meta/webcodecs/temporal-svc-encoding.https.any.js.ini78
-rw-r--r--testing/web-platform/meta/webcodecs/video-decoder.crossOriginIsolated.https.any.js.ini18
-rw-r--r--testing/web-platform/meta/webcodecs/video-decoder.https.any.js.ini72
-rw-r--r--testing/web-platform/meta/webcodecs/video-encoder-config.https.any.js.ini66
-rw-r--r--testing/web-platform/meta/webcodecs/video-encoder.https.any.js.ini66
-rw-r--r--testing/web-platform/meta/webcodecs/video-frame-serialization.any.js.ini20
-rw-r--r--testing/web-platform/meta/webcodecs/videoColorSpace.any.js.ini9
-rw-r--r--testing/web-platform/meta/webcodecs/videoDecoder-codec-specific.https.any.js.ini588
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-alpha.any.js.ini18
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-canvasImageSource.html.ini20
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-construction.any.js.ini20
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-construction.crossOriginIsolated.https.any.js.ini10
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-construction.crossOriginSource.sub.html.ini6
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-construction.window.js.ini7
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-copyTo.any.js.ini13
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-copyTo.crossOriginIsolated.https.any.js.ini9
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-createImageBitmap.any.js.ini48
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-createImageBitmap.https.any.js.ini12
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-drawImage.any.js.ini54
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-serialization.crossAgentCluster.https.html.ini11
-rw-r--r--testing/web-platform/meta/webcodecs/videoFrame-texImage.any.js.ini42
40 files changed, 4269 insertions, 0 deletions
diff --git a/testing/web-platform/meta/webcodecs/audio-data-serialization.any.js.ini b/testing/web-platform/meta/webcodecs/audio-data-serialization.any.js.ini
new file mode 100644
index 0000000000..50b2399710
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/audio-data-serialization.any.js.ini
@@ -0,0 +1,9 @@
+[audio-data-serialization.any.html]
+ [Verify closing AudioData does not propagate accross contexts.]
+ expected: FAIL
+
+ [Verify posting closed AudioData throws.]
+ expected: FAIL
+
+ [Verify transferring audio data closes them.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/audio-data.any.js.ini b/testing/web-platform/meta/webcodecs/audio-data.any.js.ini
new file mode 100644
index 0000000000..eaf456f87f
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/audio-data.any.js.ini
@@ -0,0 +1,50 @@
+[audio-data.any.html]
+ [Verify AudioData constructors]
+ expected: FAIL
+
+ [Verify closing and cloning AudioData]
+ expected: FAIL
+
+ [Test we can construct AudioData with a negative timestamp.]
+ expected: FAIL
+
+ [Test conversion of uint8 data to float32]
+ expected: FAIL
+
+ [Test conversion of int16 data to float32]
+ expected: FAIL
+
+ [Test conversion of int32 data to float32]
+ expected: FAIL
+
+ [Test conversion of float32 data to float32]
+ expected: FAIL
+
+ [Test copying out planar and interleaved data]
+ expected: FAIL
+
+
+[audio-data.any.worker.html]
+ [Verify AudioData constructors]
+ expected: FAIL
+
+ [Verify closing and cloning AudioData]
+ expected: FAIL
+
+ [Test we can construct AudioData with a negative timestamp.]
+ expected: FAIL
+
+ [Test conversion of uint8 data to float32]
+ expected: FAIL
+
+ [Test conversion of int16 data to float32]
+ expected: FAIL
+
+ [Test conversion of int32 data to float32]
+ expected: FAIL
+
+ [Test conversion of float32 data to float32]
+ expected: FAIL
+
+ [Test copying out planar and interleaved data]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/audio-data.crossOriginIsolated.https.any.js.ini b/testing/web-platform/meta/webcodecs/audio-data.crossOriginIsolated.https.any.js.ini
new file mode 100644
index 0000000000..7fa93c9eb0
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/audio-data.crossOriginIsolated.https.any.js.ini
@@ -0,0 +1,6 @@
+[audio-data.crossOriginIsolated.https.any.html]
+ [Test construction and copyTo() using a SharedArrayBuffer]
+ expected: FAIL
+
+ [Test construction and copyTo() using a Uint8Array(SharedArrayBuffer)]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/audio-decoder.crossOriginIsolated.https.any.js.ini b/testing/web-platform/meta/webcodecs/audio-decoder.crossOriginIsolated.https.any.js.ini
new file mode 100644
index 0000000000..9ad0ba7dc4
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/audio-decoder.crossOriginIsolated.https.any.js.ini
@@ -0,0 +1,18 @@
+[audio-decoder.crossOriginIsolated.https.any.html]
+ expected:
+ if (os == "android") and debug and not swgl: [OK, TIMEOUT]
+ [Test isConfigSupported() and configure() using a SharedArrayBuffer]
+ expected: FAIL
+
+ [Test isConfigSupported() and configure() using a Uint8Array(SharedArrayBuffer)]
+ expected: FAIL
+
+
+[audio-decoder.crossOriginIsolated.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test isConfigSupported() and configure() using a SharedArrayBuffer]
+ expected: FAIL
+
+ [Test isConfigSupported() and configure() using a Uint8Array(SharedArrayBuffer)]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/audio-decoder.https.any.js.ini b/testing/web-platform/meta/webcodecs/audio-decoder.https.any.js.ini
new file mode 100644
index 0000000000..23dbf89e76
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/audio-decoder.https.any.js.ini
@@ -0,0 +1,78 @@
+[audio-decoder.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test that AudioDecoder.isConfigSupported() rejects invalid config:Empty codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.isConfigSupported() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.isConfigSupported() rejects invalid config:Video codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.isConfigSupported() rejects invalid config:Ambiguous codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.isConfigSupported() rejects invalid config:Codec with MIME type]
+ expected: FAIL
+
+ [Test that AudioDecoder.configure() rejects invalid config:Empty codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.configure() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.configure() rejects invalid config:Video codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.configure() rejects invalid config:Ambiguous codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.configure() rejects invalid config:Codec with MIME type]
+ expected: FAIL
+
+ [Test AudioDecoder construction]
+ expected: FAIL
+
+ [Verify unconfigured AudioDecoder operations]
+ expected: FAIL
+
+
+[audio-decoder.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test that AudioDecoder.isConfigSupported() rejects invalid config:Empty codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.isConfigSupported() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.isConfigSupported() rejects invalid config:Video codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.isConfigSupported() rejects invalid config:Ambiguous codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.isConfigSupported() rejects invalid config:Codec with MIME type]
+ expected: FAIL
+
+ [Test that AudioDecoder.configure() rejects invalid config:Empty codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.configure() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.configure() rejects invalid config:Video codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.configure() rejects invalid config:Ambiguous codec]
+ expected: FAIL
+
+ [Test that AudioDecoder.configure() rejects invalid config:Codec with MIME type]
+ expected: FAIL
+
+ [Test AudioDecoder construction]
+ expected: FAIL
+
+ [Verify unconfigured AudioDecoder operations]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/audio-encoder-config.https.any.js.ini b/testing/web-platform/meta/webcodecs/audio-encoder-config.https.any.js.ini
new file mode 100644
index 0000000000..b7e073d1b6
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/audio-encoder-config.https.any.js.ini
@@ -0,0 +1,126 @@
+[audio-encoder-config.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Emtpy codec]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Sample rate is too small]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Sample rate is too large]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Too few channels]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Way too many channels]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Bit rate too big]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() doesn't support config:Too many channels]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() doesn't support config:Bitrate is too low]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":8000,"numberOfChannels":1}]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":48000,"numberOfChannels":2}]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":48000,"numberOfChannels":2,"bitrate":128000,"bogus":123}]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Opus complexity too big]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Opus packetlossperc too big]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Opus frame duration too small]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Opus frame duration too big]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Invalid Opus frameDuration]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":48000,"numberOfChannels":2,"opus":{"complexity":5,"frameDuration":20000,"packetlossperc":10,"useinbandfec":true}}]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":48000,"numberOfChannels":2,"opus":{"format":"opus","complexity":10,"frameDuration":60000,"packetlossperc":20,"usedtx":true,"bogus":456}}]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":48000,"numberOfChannels":2,"opus":{}}]
+ expected: FAIL
+
+
+[audio-encoder-config.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Emtpy codec]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Sample rate is too small]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Sample rate is too large]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Too few channels]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Way too many channels]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Bit rate too big]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() doesn't support config:Too many channels]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() doesn't support config:Bitrate is too low]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":8000,"numberOfChannels":1}]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":48000,"numberOfChannels":2}]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":48000,"numberOfChannels":2,"bitrate":128000,"bogus":123}]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Opus complexity too big]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Opus packetlossperc too big]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Opus frame duration too small]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Opus frame duration too big]
+ expected: FAIL
+
+ [Test that AudioEncoder.isConfigSupported() rejects invalid config:Invalid Opus frameDuration]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":48000,"numberOfChannels":2,"opus":{"complexity":5,"frameDuration":20000,"packetlossperc":10,"useinbandfec":true}}]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":48000,"numberOfChannels":2,"opus":{"format":"opus","complexity":10,"frameDuration":60000,"packetlossperc":20,"usedtx":true,"bogus":456}}]
+ expected: FAIL
+
+ [AudioEncoder.isConfigSupported() supports:{"codec":"opus","sampleRate":48000,"numberOfChannels":2,"opus":{}}]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/audio-encoder.https.any.js.ini b/testing/web-platform/meta/webcodecs/audio-encoder.https.any.js.ini
new file mode 100644
index 0000000000..9fa3a69b1e
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/audio-encoder.https.any.js.ini
@@ -0,0 +1,9 @@
+[audio-encoder.https.any.html]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Simple audio encoding]
+ expected: FAIL
+
+ [Encode audio with negative timestamp]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/audioDecoder-codec-specific.https.any.js.ini b/testing/web-platform/meta/webcodecs/audioDecoder-codec-specific.https.any.js.ini
new file mode 100644
index 0000000000..ca61aaf9c0
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/audioDecoder-codec-specific.https.any.js.ini
@@ -0,0 +1,378 @@
+[audioDecoder-codec-specific.https.any.html?adts_aac]
+ expected: ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.worker.html?pcm_mulaw]
+ expected: ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.html?mp3]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.worker.html?adts_aac]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.worker.html?mp4_aac]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.html?opus]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.worker.html?mp3]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.html?mp4_aac]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.worker.html?opus]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.html?pcm_mulaw]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.worker.html?pcm_alaw]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[audioDecoder-codec-specific.https.any.html?pcm_alaw]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test that AudioDecoder.isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Verify closed AudioDecoder operations]
+ expected: NOTRUN
+
+ [Test decoding]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [AudioDecoder decodeQueueSize test]
+ expected: NOTRUN
diff --git a/testing/web-platform/meta/webcodecs/chunk-serialization.any.js.ini b/testing/web-platform/meta/webcodecs/chunk-serialization.any.js.ini
new file mode 100644
index 0000000000..9bdb3c4b99
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/chunk-serialization.any.js.ini
@@ -0,0 +1,9 @@
+[chunk-serialization.any.html]
+ [Verify EncodedAudioChunk is serializable.]
+ expected: FAIL
+
+ [Verify EncodedVideoChunk is serializable.]
+ expected: FAIL
+
+ [Verify EncodedVideoChunk cannot be stored]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/encoded-audio-chunk.any.js.ini b/testing/web-platform/meta/webcodecs/encoded-audio-chunk.any.js.ini
new file mode 100644
index 0000000000..4e9157cdb5
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/encoded-audio-chunk.any.js.ini
@@ -0,0 +1,18 @@
+[encoded-audio-chunk.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test we can construct an EncodedAudioChunk.]
+ expected: FAIL
+
+ [Test copyTo() exception if destination invalid]
+ expected: FAIL
+
+
+[encoded-audio-chunk.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test we can construct an EncodedAudioChunk.]
+ expected: FAIL
+
+ [Test copyTo() exception if destination invalid]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/encoded-audio-chunk.crossOriginIsolated.https.any.js.ini b/testing/web-platform/meta/webcodecs/encoded-audio-chunk.crossOriginIsolated.https.any.js.ini
new file mode 100644
index 0000000000..b1aa737d3b
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/encoded-audio-chunk.crossOriginIsolated.https.any.js.ini
@@ -0,0 +1,18 @@
+[encoded-audio-chunk.crossOriginIsolated.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test construction and copyTo() using a SharedArrayBuffer]
+ expected: FAIL
+
+ [Test construction and copyTo() using a Uint8Array(SharedArrayBuffer)]
+ expected: FAIL
+
+
+[encoded-audio-chunk.crossOriginIsolated.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test construction and copyTo() using a SharedArrayBuffer]
+ expected: FAIL
+
+ [Test construction and copyTo() using a Uint8Array(SharedArrayBuffer)]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/encoded-video-chunk.any.js.ini b/testing/web-platform/meta/webcodecs/encoded-video-chunk.any.js.ini
new file mode 100644
index 0000000000..ea9eb1080c
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/encoded-video-chunk.any.js.ini
@@ -0,0 +1,18 @@
+[encoded-video-chunk.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test we can construct an EncodedVideoChunk.]
+ expected: FAIL
+
+ [Test copyTo() exception if destiation invalid]
+ expected: FAIL
+
+
+[encoded-video-chunk.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test we can construct an EncodedVideoChunk.]
+ expected: FAIL
+
+ [Test copyTo() exception if destiation invalid]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/encoded-video-chunk.crossOriginIsolated.https.any.js.ini b/testing/web-platform/meta/webcodecs/encoded-video-chunk.crossOriginIsolated.https.any.js.ini
new file mode 100644
index 0000000000..c8caee1431
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/encoded-video-chunk.crossOriginIsolated.https.any.js.ini
@@ -0,0 +1,19 @@
+[encoded-video-chunk.crossOriginIsolated.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test construction and copyTo() using a SharedArrayBuffer]
+ expected: FAIL
+
+ [Test construction and copyTo() using a Uint8Array(SharedArrayBuffer)]
+ expected: FAIL
+
+
+[encoded-video-chunk.crossOriginIsolated.https.any.worker.html]
+ expected:
+ if (os == "android") and not fission and debug and not swgl: [OK, TIMEOUT]
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test construction and copyTo() using a SharedArrayBuffer]
+ expected: FAIL
+
+ [Test construction and copyTo() using a Uint8Array(SharedArrayBuffer)]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/full-cycle-test.https.any.js.ini b/testing/web-platform/meta/webcodecs/full-cycle-test.https.any.js.ini
new file mode 100644
index 0000000000..3c6f2c912a
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/full-cycle-test.https.any.js.ini
@@ -0,0 +1,112 @@
+[full-cycle-test.https.any.html?vp9_p2]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+ [Encoding and decoding cycle w/ stripped color space]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.html?vp9_p0]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+ [Encoding and decoding cycle w/ stripped color space]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.html?vp8]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.html?h264_avc]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+ [Encoding and decoding cycle w/ stripped color space]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.html?av1]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+ [Encoding and decoding cycle w/ stripped color space]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.worker.html?av1]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+ [Encoding and decoding cycle w/ stripped color space]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.worker.html?vp8]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.html?h264_annexb]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+ [Encoding and decoding cycle w/ stripped color space]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.worker.html?vp9_p0]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+ [Encoding and decoding cycle w/ stripped color space]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.worker.html?h264_avc]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+ [Encoding and decoding cycle w/ stripped color space]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.worker.html?h264_annexb]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+ [Encoding and decoding cycle w/ stripped color space]
+ expected: FAIL
+
+
+[full-cycle-test.https.any.worker.html?vp9_p2]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Encoding and decoding cycle]
+ expected: FAIL
+
+ [Encoding and decoding cycle w/ stripped color space]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/idlharness.https.any.js.ini b/testing/web-platform/meta/webcodecs/idlharness.https.any.js.ini
new file mode 100644
index 0000000000..08c443f5dc
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/idlharness.https.any.js.ini
@@ -0,0 +1,1812 @@
+[idlharness.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [AudioDecoder interface: existence and properties of interface object]
+ expected: FAIL
+
+ [AudioDecoder interface object length]
+ expected: FAIL
+
+ [AudioDecoder interface object name]
+ expected: FAIL
+
+ [AudioDecoder interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [AudioDecoder interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [AudioDecoder interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [AudioDecoder interface: attribute state]
+ expected: FAIL
+
+ [AudioDecoder interface: attribute decodeQueueSize]
+ expected: FAIL
+
+ [AudioDecoder interface: attribute ondequeue]
+ expected: FAIL
+
+ [AudioDecoder interface: operation configure(AudioDecoderConfig)]
+ expected: FAIL
+
+ [AudioDecoder interface: operation decode(EncodedAudioChunk)]
+ expected: FAIL
+
+ [AudioDecoder interface: operation flush()]
+ expected: FAIL
+
+ [AudioDecoder interface: operation reset()]
+ expected: FAIL
+
+ [AudioDecoder interface: operation close()]
+ expected: FAIL
+
+ [AudioDecoder interface: operation isConfigSupported(AudioDecoderConfig)]
+ expected: FAIL
+
+ [AudioDecoder must be primary interface of new AudioDecoder(defaultCodecInit)]
+ expected: FAIL
+
+ [Stringification of new AudioDecoder(defaultCodecInit)]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "state" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "decodeQueueSize" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "ondequeue" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "configure(AudioDecoderConfig)" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: calling configure(AudioDecoderConfig) on new AudioDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "decode(EncodedAudioChunk)" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: calling decode(EncodedAudioChunk) on new AudioDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "flush()" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "reset()" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "isConfigSupported(AudioDecoderConfig)" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: calling isConfigSupported(AudioDecoderConfig) on new AudioDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoDecoder interface: existence and properties of interface object]
+ expected: FAIL
+
+ [VideoDecoder interface object length]
+ expected: FAIL
+
+ [VideoDecoder interface object name]
+ expected: FAIL
+
+ [VideoDecoder interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [VideoDecoder interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [VideoDecoder interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [VideoDecoder interface: attribute state]
+ expected: FAIL
+
+ [VideoDecoder interface: attribute decodeQueueSize]
+ expected: FAIL
+
+ [VideoDecoder interface: attribute ondequeue]
+ expected: FAIL
+
+ [VideoDecoder interface: operation configure(VideoDecoderConfig)]
+ expected: FAIL
+
+ [VideoDecoder interface: operation decode(EncodedVideoChunk)]
+ expected: FAIL
+
+ [VideoDecoder interface: operation flush()]
+ expected: FAIL
+
+ [VideoDecoder interface: operation reset()]
+ expected: FAIL
+
+ [VideoDecoder interface: operation close()]
+ expected: FAIL
+
+ [VideoDecoder interface: operation isConfigSupported(VideoDecoderConfig)]
+ expected: FAIL
+
+ [VideoDecoder must be primary interface of new VideoDecoder(defaultCodecInit)]
+ expected: FAIL
+
+ [Stringification of new VideoDecoder(defaultCodecInit)]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "state" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "decodeQueueSize" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "ondequeue" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "configure(VideoDecoderConfig)" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: calling configure(VideoDecoderConfig) on new VideoDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "decode(EncodedVideoChunk)" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: calling decode(EncodedVideoChunk) on new VideoDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "flush()" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "reset()" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "isConfigSupported(VideoDecoderConfig)" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: calling isConfigSupported(VideoDecoderConfig) on new VideoDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioEncoder interface: existence and properties of interface object]
+ expected: FAIL
+
+ [AudioEncoder interface object length]
+ expected: FAIL
+
+ [AudioEncoder interface object name]
+ expected: FAIL
+
+ [AudioEncoder interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [AudioEncoder interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [AudioEncoder interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [AudioEncoder interface: attribute state]
+ expected: FAIL
+
+ [AudioEncoder interface: attribute encodeQueueSize]
+ expected: FAIL
+
+ [AudioEncoder interface: attribute ondequeue]
+ expected: FAIL
+
+ [AudioEncoder interface: operation configure(AudioEncoderConfig)]
+ expected: FAIL
+
+ [AudioEncoder interface: operation encode(AudioData)]
+ expected: FAIL
+
+ [AudioEncoder interface: operation flush()]
+ expected: FAIL
+
+ [AudioEncoder interface: operation reset()]
+ expected: FAIL
+
+ [AudioEncoder interface: operation close()]
+ expected: FAIL
+
+ [AudioEncoder interface: operation isConfigSupported(AudioEncoderConfig)]
+ expected: FAIL
+
+ [AudioEncoder must be primary interface of new AudioEncoder(defaultCodecInit)]
+ expected: FAIL
+
+ [Stringification of new AudioEncoder(defaultCodecInit)]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "state" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "encodeQueueSize" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "ondequeue" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "configure(AudioEncoderConfig)" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: calling configure(AudioEncoderConfig) on new AudioEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "encode(AudioData)" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: calling encode(AudioData) on new AudioEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "flush()" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "reset()" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "isConfigSupported(AudioEncoderConfig)" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: calling isConfigSupported(AudioEncoderConfig) on new AudioEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoEncoder interface: existence and properties of interface object]
+ expected: FAIL
+
+ [VideoEncoder interface object length]
+ expected: FAIL
+
+ [VideoEncoder interface object name]
+ expected: FAIL
+
+ [VideoEncoder interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [VideoEncoder interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [VideoEncoder interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [VideoEncoder interface: attribute state]
+ expected: FAIL
+
+ [VideoEncoder interface: attribute encodeQueueSize]
+ expected: FAIL
+
+ [VideoEncoder interface: attribute ondequeue]
+ expected: FAIL
+
+ [VideoEncoder interface: operation configure(VideoEncoderConfig)]
+ expected: FAIL
+
+ [VideoEncoder interface: operation encode(VideoFrame, optional VideoEncoderEncodeOptions)]
+ expected: FAIL
+
+ [VideoEncoder interface: operation flush()]
+ expected: FAIL
+
+ [VideoEncoder interface: operation reset()]
+ expected: FAIL
+
+ [VideoEncoder interface: operation close()]
+ expected: FAIL
+
+ [VideoEncoder interface: operation isConfigSupported(VideoEncoderConfig)]
+ expected: FAIL
+
+ [VideoEncoder must be primary interface of new VideoEncoder(defaultCodecInit)]
+ expected: FAIL
+
+ [Stringification of new VideoEncoder(defaultCodecInit)]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "state" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "encodeQueueSize" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "ondequeue" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "configure(VideoEncoderConfig)" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: calling configure(VideoEncoderConfig) on new VideoEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "encode(VideoFrame, optional VideoEncoderEncodeOptions)" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: calling encode(VideoFrame, optional VideoEncoderEncodeOptions) on new VideoEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "flush()" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "reset()" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "isConfigSupported(VideoEncoderConfig)" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: calling isConfigSupported(VideoEncoderConfig) on new VideoEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: existence and properties of interface object]
+ expected: FAIL
+
+ [EncodedAudioChunk interface object length]
+ expected: FAIL
+
+ [EncodedAudioChunk interface object name]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: attribute type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: attribute timestamp]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: attribute duration]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: attribute byteLength]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: operation copyTo(BufferSource)]
+ expected: FAIL
+
+ [EncodedAudioChunk must be primary interface of new EncodedAudioChunk(defaultAudioChunkInit)]
+ expected: FAIL
+
+ [Stringification of new EncodedAudioChunk(defaultAudioChunkInit)]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: new EncodedAudioChunk(defaultAudioChunkInit) must inherit property "type" with the proper type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: new EncodedAudioChunk(defaultAudioChunkInit) must inherit property "timestamp" with the proper type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: new EncodedAudioChunk(defaultAudioChunkInit) must inherit property "duration" with the proper type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: new EncodedAudioChunk(defaultAudioChunkInit) must inherit property "byteLength" with the proper type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: new EncodedAudioChunk(defaultAudioChunkInit) must inherit property "copyTo(BufferSource)" with the proper type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: calling copyTo(BufferSource) on new EncodedAudioChunk(defaultAudioChunkInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: existence and properties of interface object]
+ expected: FAIL
+
+ [EncodedVideoChunk interface object length]
+ expected: FAIL
+
+ [EncodedVideoChunk interface object name]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: attribute type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: attribute timestamp]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: attribute duration]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: attribute byteLength]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: operation copyTo(BufferSource)]
+ expected: FAIL
+
+ [EncodedVideoChunk must be primary interface of new EncodedVideoChunk(defaultVideoChunkInit)]
+ expected: FAIL
+
+ [Stringification of new EncodedVideoChunk(defaultVideoChunkInit)]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: new EncodedVideoChunk(defaultVideoChunkInit) must inherit property "type" with the proper type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: new EncodedVideoChunk(defaultVideoChunkInit) must inherit property "timestamp" with the proper type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: new EncodedVideoChunk(defaultVideoChunkInit) must inherit property "duration" with the proper type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: new EncodedVideoChunk(defaultVideoChunkInit) must inherit property "byteLength" with the proper type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: new EncodedVideoChunk(defaultVideoChunkInit) must inherit property "copyTo(BufferSource)" with the proper type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: calling copyTo(BufferSource) on new EncodedVideoChunk(defaultVideoChunkInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioData interface: existence and properties of interface object]
+ expected: FAIL
+
+ [AudioData interface object length]
+ expected: FAIL
+
+ [AudioData interface object name]
+ expected: FAIL
+
+ [AudioData interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [AudioData interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [AudioData interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [AudioData interface: attribute format]
+ expected: FAIL
+
+ [AudioData interface: attribute sampleRate]
+ expected: FAIL
+
+ [AudioData interface: attribute numberOfFrames]
+ expected: FAIL
+
+ [AudioData interface: attribute numberOfChannels]
+ expected: FAIL
+
+ [AudioData interface: attribute duration]
+ expected: FAIL
+
+ [AudioData interface: attribute timestamp]
+ expected: FAIL
+
+ [AudioData interface: operation allocationSize(AudioDataCopyToOptions)]
+ expected: FAIL
+
+ [AudioData interface: operation copyTo(BufferSource, AudioDataCopyToOptions)]
+ expected: FAIL
+
+ [AudioData interface: operation clone()]
+ expected: FAIL
+
+ [AudioData interface: operation close()]
+ expected: FAIL
+
+ [AudioData must be primary interface of make_audio_data(1234, 2, 8000, 100)]
+ expected: FAIL
+
+ [Stringification of make_audio_data(1234, 2, 8000, 100)]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "format" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "sampleRate" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "numberOfFrames" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "numberOfChannels" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "duration" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "timestamp" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "allocationSize(AudioDataCopyToOptions)" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: calling allocationSize(AudioDataCopyToOptions) on make_audio_data(1234, 2, 8000, 100) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "copyTo(BufferSource, AudioDataCopyToOptions)" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: calling copyTo(BufferSource, AudioDataCopyToOptions) on make_audio_data(1234, 2, 8000, 100) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "clone()" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: existence and properties of interface object]
+ expected: FAIL
+
+ [VideoFrame interface object length]
+ expected: FAIL
+
+ [VideoFrame interface object name]
+ expected: FAIL
+
+ [VideoFrame interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [VideoFrame interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [VideoFrame interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [VideoFrame interface: attribute format]
+ expected: FAIL
+
+ [VideoFrame interface: attribute codedWidth]
+ expected: FAIL
+
+ [VideoFrame interface: attribute codedHeight]
+ expected: FAIL
+
+ [VideoFrame interface: attribute codedRect]
+ expected: FAIL
+
+ [VideoFrame interface: attribute visibleRect]
+ expected: FAIL
+
+ [VideoFrame interface: attribute displayWidth]
+ expected: FAIL
+
+ [VideoFrame interface: attribute displayHeight]
+ expected: FAIL
+
+ [VideoFrame interface: attribute duration]
+ expected: FAIL
+
+ [VideoFrame interface: attribute timestamp]
+ expected: FAIL
+
+ [VideoFrame interface: attribute colorSpace]
+ expected: FAIL
+
+ [VideoFrame interface: operation metadata()]
+ expected: FAIL
+
+ [VideoFrame interface: operation allocationSize(optional VideoFrameCopyToOptions)]
+ expected: FAIL
+
+ [VideoFrame interface: operation copyTo(BufferSource, optional VideoFrameCopyToOptions)]
+ expected: FAIL
+
+ [VideoFrame interface: operation clone()]
+ expected: FAIL
+
+ [VideoFrame interface: operation close()]
+ expected: FAIL
+
+ [VideoFrame must be primary interface of new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33})]
+ expected: FAIL
+
+ [Stringification of new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33})]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "format" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "codedWidth" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "codedHeight" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "codedRect" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "visibleRect" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "displayWidth" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "displayHeight" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "duration" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "timestamp" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "colorSpace" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "metadata()" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "allocationSize(optional VideoFrameCopyToOptions)" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: calling allocationSize(optional VideoFrameCopyToOptions) on new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "copyTo(BufferSource, optional VideoFrameCopyToOptions)" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: calling copyTo(BufferSource, optional VideoFrameCopyToOptions) on new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "clone()" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: existence and properties of interface object]
+ expected: FAIL
+
+ [VideoColorSpace interface object length]
+ expected: FAIL
+
+ [VideoColorSpace interface object name]
+ expected: FAIL
+
+ [VideoColorSpace interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [VideoColorSpace interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [VideoColorSpace interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [VideoColorSpace interface: attribute primaries]
+ expected: FAIL
+
+ [VideoColorSpace interface: attribute transfer]
+ expected: FAIL
+
+ [VideoColorSpace interface: attribute matrix]
+ expected: FAIL
+
+ [VideoColorSpace interface: attribute fullRange]
+ expected: FAIL
+
+ [VideoColorSpace interface: operation toJSON()]
+ expected: FAIL
+
+ [VideoColorSpace must be primary interface of new VideoColorSpace()]
+ expected: FAIL
+
+ [Stringification of new VideoColorSpace()]
+ expected: FAIL
+
+ [VideoColorSpace interface: new VideoColorSpace() must inherit property "primaries" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: new VideoColorSpace() must inherit property "transfer" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: new VideoColorSpace() must inherit property "matrix" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: new VideoColorSpace() must inherit property "fullRange" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: new VideoColorSpace() must inherit property "toJSON()" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: default toJSON operation on new VideoColorSpace()]
+ expected: FAIL
+
+ [ImageDecoder interface: existence and properties of interface object]
+ expected: FAIL
+
+ [ImageDecoder interface object length]
+ expected: FAIL
+
+ [ImageDecoder interface object name]
+ expected: FAIL
+
+ [ImageDecoder interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [ImageDecoder interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [ImageDecoder interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [ImageDecoder interface: attribute type]
+ expected: FAIL
+
+ [ImageDecoder interface: attribute complete]
+ expected: FAIL
+
+ [ImageDecoder interface: attribute completed]
+ expected: FAIL
+
+ [ImageDecoder interface: attribute tracks]
+ expected: FAIL
+
+ [ImageDecoder interface: operation decode(optional ImageDecodeOptions)]
+ expected: FAIL
+
+ [ImageDecoder interface: operation reset()]
+ expected: FAIL
+
+ [ImageDecoder interface: operation close()]
+ expected: FAIL
+
+ [ImageDecoder interface: operation isTypeSupported(DOMString)]
+ expected: FAIL
+
+ [ImageDecoder must be primary interface of new ImageDecoder({data: self.imageBody, type: 'image/png'})]
+ expected: FAIL
+
+ [Stringification of new ImageDecoder({data: self.imageBody, type: 'image/png'})]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "type" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "complete" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "completed" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "tracks" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "decode(optional ImageDecodeOptions)" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: calling decode(optional ImageDecodeOptions) on new ImageDecoder({data: self.imageBody, type: 'image/png'}) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "reset()" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "isTypeSupported(DOMString)" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: calling isTypeSupported(DOMString) on new ImageDecoder({data: self.imageBody, type: 'image/png'}) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [ImageTrackList interface: existence and properties of interface object]
+ expected: FAIL
+
+ [ImageTrackList interface object length]
+ expected: FAIL
+
+ [ImageTrackList interface object name]
+ expected: FAIL
+
+ [ImageTrackList interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [ImageTrackList interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [ImageTrackList interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [ImageTrackList interface: attribute ready]
+ expected: FAIL
+
+ [ImageTrackList interface: attribute length]
+ expected: FAIL
+
+ [ImageTrackList interface: attribute selectedIndex]
+ expected: FAIL
+
+ [ImageTrackList interface: attribute selectedTrack]
+ expected: FAIL
+
+ [ImageTrackList must be primary interface of new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks]
+ expected: FAIL
+
+ [Stringification of new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks]
+ expected: FAIL
+
+ [ImageTrackList interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks must inherit property "ready" with the proper type]
+ expected: FAIL
+
+ [ImageTrackList interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks must inherit property "length" with the proper type]
+ expected: FAIL
+
+ [ImageTrackList interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks must inherit property "selectedIndex" with the proper type]
+ expected: FAIL
+
+ [ImageTrackList interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks must inherit property "selectedTrack" with the proper type]
+ expected: FAIL
+
+ [ImageTrack interface: existence and properties of interface object]
+ expected: FAIL
+
+ [ImageTrack interface object length]
+ expected: FAIL
+
+ [ImageTrack interface object name]
+ expected: FAIL
+
+ [ImageTrack interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [ImageTrack interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [ImageTrack interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [ImageTrack interface: attribute animated]
+ expected: FAIL
+
+ [ImageTrack interface: attribute frameCount]
+ expected: FAIL
+
+ [ImageTrack interface: attribute repetitionCount]
+ expected: FAIL
+
+ [ImageTrack interface: attribute selected]
+ expected: FAIL
+
+ [ImageTrack must be primary interface of new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\]]
+ expected: FAIL
+
+ [Stringification of new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\]]
+ expected: FAIL
+
+ [ImageTrack interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\] must inherit property "animated" with the proper type]
+ expected: FAIL
+
+ [ImageTrack interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\] must inherit property "frameCount" with the proper type]
+ expected: FAIL
+
+ [ImageTrack interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\] must inherit property "repetitionCount" with the proper type]
+ expected: FAIL
+
+ [ImageTrack interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\] must inherit property "selected" with the proper type]
+ expected: FAIL
+
+
+[idlharness.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [AudioDecoder interface: existence and properties of interface object]
+ expected: FAIL
+
+ [AudioDecoder interface object length]
+ expected: FAIL
+
+ [AudioDecoder interface object name]
+ expected: FAIL
+
+ [AudioDecoder interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [AudioDecoder interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [AudioDecoder interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [AudioDecoder interface: attribute state]
+ expected: FAIL
+
+ [AudioDecoder interface: attribute decodeQueueSize]
+ expected: FAIL
+
+ [AudioDecoder interface: attribute ondequeue]
+ expected: FAIL
+
+ [AudioDecoder interface: operation configure(AudioDecoderConfig)]
+ expected: FAIL
+
+ [AudioDecoder interface: operation decode(EncodedAudioChunk)]
+ expected: FAIL
+
+ [AudioDecoder interface: operation flush()]
+ expected: FAIL
+
+ [AudioDecoder interface: operation reset()]
+ expected: FAIL
+
+ [AudioDecoder interface: operation close()]
+ expected: FAIL
+
+ [AudioDecoder interface: operation isConfigSupported(AudioDecoderConfig)]
+ expected: FAIL
+
+ [AudioDecoder must be primary interface of new AudioDecoder(defaultCodecInit)]
+ expected: FAIL
+
+ [Stringification of new AudioDecoder(defaultCodecInit)]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "state" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "decodeQueueSize" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "ondequeue" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "configure(AudioDecoderConfig)" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: calling configure(AudioDecoderConfig) on new AudioDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "decode(EncodedAudioChunk)" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: calling decode(EncodedAudioChunk) on new AudioDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "flush()" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "reset()" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: new AudioDecoder(defaultCodecInit) must inherit property "isConfigSupported(AudioDecoderConfig)" with the proper type]
+ expected: FAIL
+
+ [AudioDecoder interface: calling isConfigSupported(AudioDecoderConfig) on new AudioDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoDecoder interface: existence and properties of interface object]
+ expected: FAIL
+
+ [VideoDecoder interface object length]
+ expected: FAIL
+
+ [VideoDecoder interface object name]
+ expected: FAIL
+
+ [VideoDecoder interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [VideoDecoder interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [VideoDecoder interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [VideoDecoder interface: attribute state]
+ expected: FAIL
+
+ [VideoDecoder interface: attribute decodeQueueSize]
+ expected: FAIL
+
+ [VideoDecoder interface: attribute ondequeue]
+ expected: FAIL
+
+ [VideoDecoder interface: operation configure(VideoDecoderConfig)]
+ expected: FAIL
+
+ [VideoDecoder interface: operation decode(EncodedVideoChunk)]
+ expected: FAIL
+
+ [VideoDecoder interface: operation flush()]
+ expected: FAIL
+
+ [VideoDecoder interface: operation reset()]
+ expected: FAIL
+
+ [VideoDecoder interface: operation close()]
+ expected: FAIL
+
+ [VideoDecoder interface: operation isConfigSupported(VideoDecoderConfig)]
+ expected: FAIL
+
+ [VideoDecoder must be primary interface of new VideoDecoder(defaultCodecInit)]
+ expected: FAIL
+
+ [Stringification of new VideoDecoder(defaultCodecInit)]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "state" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "decodeQueueSize" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "ondequeue" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "configure(VideoDecoderConfig)" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: calling configure(VideoDecoderConfig) on new VideoDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "decode(EncodedVideoChunk)" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: calling decode(EncodedVideoChunk) on new VideoDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "flush()" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "reset()" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: new VideoDecoder(defaultCodecInit) must inherit property "isConfigSupported(VideoDecoderConfig)" with the proper type]
+ expected: FAIL
+
+ [VideoDecoder interface: calling isConfigSupported(VideoDecoderConfig) on new VideoDecoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioEncoder interface: existence and properties of interface object]
+ expected: FAIL
+
+ [AudioEncoder interface object length]
+ expected: FAIL
+
+ [AudioEncoder interface object name]
+ expected: FAIL
+
+ [AudioEncoder interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [AudioEncoder interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [AudioEncoder interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [AudioEncoder interface: attribute state]
+ expected: FAIL
+
+ [AudioEncoder interface: attribute encodeQueueSize]
+ expected: FAIL
+
+ [AudioEncoder interface: attribute ondequeue]
+ expected: FAIL
+
+ [AudioEncoder interface: operation configure(AudioEncoderConfig)]
+ expected: FAIL
+
+ [AudioEncoder interface: operation encode(AudioData)]
+ expected: FAIL
+
+ [AudioEncoder interface: operation flush()]
+ expected: FAIL
+
+ [AudioEncoder interface: operation reset()]
+ expected: FAIL
+
+ [AudioEncoder interface: operation close()]
+ expected: FAIL
+
+ [AudioEncoder interface: operation isConfigSupported(AudioEncoderConfig)]
+ expected: FAIL
+
+ [AudioEncoder must be primary interface of new AudioEncoder(defaultCodecInit)]
+ expected: FAIL
+
+ [Stringification of new AudioEncoder(defaultCodecInit)]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "state" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "encodeQueueSize" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "ondequeue" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "configure(AudioEncoderConfig)" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: calling configure(AudioEncoderConfig) on new AudioEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "encode(AudioData)" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: calling encode(AudioData) on new AudioEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "flush()" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "reset()" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: new AudioEncoder(defaultCodecInit) must inherit property "isConfigSupported(AudioEncoderConfig)" with the proper type]
+ expected: FAIL
+
+ [AudioEncoder interface: calling isConfigSupported(AudioEncoderConfig) on new AudioEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoEncoder interface: existence and properties of interface object]
+ expected: FAIL
+
+ [VideoEncoder interface object length]
+ expected: FAIL
+
+ [VideoEncoder interface object name]
+ expected: FAIL
+
+ [VideoEncoder interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [VideoEncoder interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [VideoEncoder interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [VideoEncoder interface: attribute state]
+ expected: FAIL
+
+ [VideoEncoder interface: attribute encodeQueueSize]
+ expected: FAIL
+
+ [VideoEncoder interface: attribute ondequeue]
+ expected: FAIL
+
+ [VideoEncoder interface: operation configure(VideoEncoderConfig)]
+ expected: FAIL
+
+ [VideoEncoder interface: operation encode(VideoFrame, optional VideoEncoderEncodeOptions)]
+ expected: FAIL
+
+ [VideoEncoder interface: operation flush()]
+ expected: FAIL
+
+ [VideoEncoder interface: operation reset()]
+ expected: FAIL
+
+ [VideoEncoder interface: operation close()]
+ expected: FAIL
+
+ [VideoEncoder interface: operation isConfigSupported(VideoEncoderConfig)]
+ expected: FAIL
+
+ [VideoEncoder must be primary interface of new VideoEncoder(defaultCodecInit)]
+ expected: FAIL
+
+ [Stringification of new VideoEncoder(defaultCodecInit)]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "state" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "encodeQueueSize" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "ondequeue" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "configure(VideoEncoderConfig)" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: calling configure(VideoEncoderConfig) on new VideoEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "encode(VideoFrame, optional VideoEncoderEncodeOptions)" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: calling encode(VideoFrame, optional VideoEncoderEncodeOptions) on new VideoEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "flush()" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "reset()" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: new VideoEncoder(defaultCodecInit) must inherit property "isConfigSupported(VideoEncoderConfig)" with the proper type]
+ expected: FAIL
+
+ [VideoEncoder interface: calling isConfigSupported(VideoEncoderConfig) on new VideoEncoder(defaultCodecInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: existence and properties of interface object]
+ expected: FAIL
+
+ [EncodedAudioChunk interface object length]
+ expected: FAIL
+
+ [EncodedAudioChunk interface object name]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: attribute type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: attribute timestamp]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: attribute duration]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: attribute byteLength]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: operation copyTo(BufferSource)]
+ expected: FAIL
+
+ [EncodedAudioChunk must be primary interface of new EncodedAudioChunk(defaultAudioChunkInit)]
+ expected: FAIL
+
+ [Stringification of new EncodedAudioChunk(defaultAudioChunkInit)]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: new EncodedAudioChunk(defaultAudioChunkInit) must inherit property "type" with the proper type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: new EncodedAudioChunk(defaultAudioChunkInit) must inherit property "timestamp" with the proper type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: new EncodedAudioChunk(defaultAudioChunkInit) must inherit property "duration" with the proper type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: new EncodedAudioChunk(defaultAudioChunkInit) must inherit property "byteLength" with the proper type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: new EncodedAudioChunk(defaultAudioChunkInit) must inherit property "copyTo(BufferSource)" with the proper type]
+ expected: FAIL
+
+ [EncodedAudioChunk interface: calling copyTo(BufferSource) on new EncodedAudioChunk(defaultAudioChunkInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: existence and properties of interface object]
+ expected: FAIL
+
+ [EncodedVideoChunk interface object length]
+ expected: FAIL
+
+ [EncodedVideoChunk interface object name]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: attribute type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: attribute timestamp]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: attribute duration]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: attribute byteLength]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: operation copyTo(BufferSource)]
+ expected: FAIL
+
+ [EncodedVideoChunk must be primary interface of new EncodedVideoChunk(defaultVideoChunkInit)]
+ expected: FAIL
+
+ [Stringification of new EncodedVideoChunk(defaultVideoChunkInit)]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: new EncodedVideoChunk(defaultVideoChunkInit) must inherit property "type" with the proper type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: new EncodedVideoChunk(defaultVideoChunkInit) must inherit property "timestamp" with the proper type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: new EncodedVideoChunk(defaultVideoChunkInit) must inherit property "duration" with the proper type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: new EncodedVideoChunk(defaultVideoChunkInit) must inherit property "byteLength" with the proper type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: new EncodedVideoChunk(defaultVideoChunkInit) must inherit property "copyTo(BufferSource)" with the proper type]
+ expected: FAIL
+
+ [EncodedVideoChunk interface: calling copyTo(BufferSource) on new EncodedVideoChunk(defaultVideoChunkInit) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioData interface: existence and properties of interface object]
+ expected: FAIL
+
+ [AudioData interface object length]
+ expected: FAIL
+
+ [AudioData interface object name]
+ expected: FAIL
+
+ [AudioData interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [AudioData interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [AudioData interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [AudioData interface: attribute format]
+ expected: FAIL
+
+ [AudioData interface: attribute sampleRate]
+ expected: FAIL
+
+ [AudioData interface: attribute numberOfFrames]
+ expected: FAIL
+
+ [AudioData interface: attribute numberOfChannels]
+ expected: FAIL
+
+ [AudioData interface: attribute duration]
+ expected: FAIL
+
+ [AudioData interface: attribute timestamp]
+ expected: FAIL
+
+ [AudioData interface: operation allocationSize(AudioDataCopyToOptions)]
+ expected: FAIL
+
+ [AudioData interface: operation copyTo(BufferSource, AudioDataCopyToOptions)]
+ expected: FAIL
+
+ [AudioData interface: operation clone()]
+ expected: FAIL
+
+ [AudioData interface: operation close()]
+ expected: FAIL
+
+ [AudioData must be primary interface of make_audio_data(1234, 2, 8000, 100)]
+ expected: FAIL
+
+ [Stringification of make_audio_data(1234, 2, 8000, 100)]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "format" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "sampleRate" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "numberOfFrames" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "numberOfChannels" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "duration" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "timestamp" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "allocationSize(AudioDataCopyToOptions)" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: calling allocationSize(AudioDataCopyToOptions) on make_audio_data(1234, 2, 8000, 100) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "copyTo(BufferSource, AudioDataCopyToOptions)" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: calling copyTo(BufferSource, AudioDataCopyToOptions) on make_audio_data(1234, 2, 8000, 100) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "clone()" with the proper type]
+ expected: FAIL
+
+ [AudioData interface: make_audio_data(1234, 2, 8000, 100) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: existence and properties of interface object]
+ expected: FAIL
+
+ [VideoFrame interface object length]
+ expected: FAIL
+
+ [VideoFrame interface object name]
+ expected: FAIL
+
+ [VideoFrame interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [VideoFrame interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [VideoFrame interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [VideoFrame interface: attribute format]
+ expected: FAIL
+
+ [VideoFrame interface: attribute codedWidth]
+ expected: FAIL
+
+ [VideoFrame interface: attribute codedHeight]
+ expected: FAIL
+
+ [VideoFrame interface: attribute codedRect]
+ expected: FAIL
+
+ [VideoFrame interface: attribute visibleRect]
+ expected: FAIL
+
+ [VideoFrame interface: attribute displayWidth]
+ expected: FAIL
+
+ [VideoFrame interface: attribute displayHeight]
+ expected: FAIL
+
+ [VideoFrame interface: attribute duration]
+ expected: FAIL
+
+ [VideoFrame interface: attribute timestamp]
+ expected: FAIL
+
+ [VideoFrame interface: attribute colorSpace]
+ expected: FAIL
+
+ [VideoFrame interface: operation metadata()]
+ expected: FAIL
+
+ [VideoFrame interface: operation allocationSize(optional VideoFrameCopyToOptions)]
+ expected: FAIL
+
+ [VideoFrame interface: operation copyTo(BufferSource, optional VideoFrameCopyToOptions)]
+ expected: FAIL
+
+ [VideoFrame interface: operation clone()]
+ expected: FAIL
+
+ [VideoFrame interface: operation close()]
+ expected: FAIL
+
+ [VideoFrame must be primary interface of new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33})]
+ expected: FAIL
+
+ [Stringification of new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33})]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "format" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "codedWidth" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "codedHeight" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "codedRect" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "visibleRect" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "displayWidth" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "displayHeight" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "duration" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "timestamp" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "colorSpace" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "metadata()" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "allocationSize(optional VideoFrameCopyToOptions)" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: calling allocationSize(optional VideoFrameCopyToOptions) on new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "copyTo(BufferSource, optional VideoFrameCopyToOptions)" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: calling copyTo(BufferSource, optional VideoFrameCopyToOptions) on new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "clone()" with the proper type]
+ expected: FAIL
+
+ [VideoFrame interface: new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33}) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: existence and properties of interface object]
+ expected: FAIL
+
+ [VideoColorSpace interface object length]
+ expected: FAIL
+
+ [VideoColorSpace interface object name]
+ expected: FAIL
+
+ [VideoColorSpace interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [VideoColorSpace interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [VideoColorSpace interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [VideoColorSpace interface: attribute primaries]
+ expected: FAIL
+
+ [VideoColorSpace interface: attribute transfer]
+ expected: FAIL
+
+ [VideoColorSpace interface: attribute matrix]
+ expected: FAIL
+
+ [VideoColorSpace interface: attribute fullRange]
+ expected: FAIL
+
+ [VideoColorSpace interface: operation toJSON()]
+ expected: FAIL
+
+ [VideoColorSpace must be primary interface of new VideoColorSpace()]
+ expected: FAIL
+
+ [Stringification of new VideoColorSpace()]
+ expected: FAIL
+
+ [VideoColorSpace interface: new VideoColorSpace() must inherit property "primaries" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: new VideoColorSpace() must inherit property "transfer" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: new VideoColorSpace() must inherit property "matrix" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: new VideoColorSpace() must inherit property "fullRange" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: new VideoColorSpace() must inherit property "toJSON()" with the proper type]
+ expected: FAIL
+
+ [VideoColorSpace interface: default toJSON operation on new VideoColorSpace()]
+ expected: FAIL
+
+ [ImageDecoder interface: existence and properties of interface object]
+ expected: FAIL
+
+ [ImageDecoder interface object length]
+ expected: FAIL
+
+ [ImageDecoder interface object name]
+ expected: FAIL
+
+ [ImageDecoder interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [ImageDecoder interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [ImageDecoder interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [ImageDecoder interface: attribute type]
+ expected: FAIL
+
+ [ImageDecoder interface: attribute complete]
+ expected: FAIL
+
+ [ImageDecoder interface: attribute completed]
+ expected: FAIL
+
+ [ImageDecoder interface: attribute tracks]
+ expected: FAIL
+
+ [ImageDecoder interface: operation decode(optional ImageDecodeOptions)]
+ expected: FAIL
+
+ [ImageDecoder interface: operation reset()]
+ expected: FAIL
+
+ [ImageDecoder interface: operation close()]
+ expected: FAIL
+
+ [ImageDecoder interface: operation isTypeSupported(DOMString)]
+ expected: FAIL
+
+ [ImageDecoder must be primary interface of new ImageDecoder({data: self.imageBody, type: 'image/png'})]
+ expected: FAIL
+
+ [Stringification of new ImageDecoder({data: self.imageBody, type: 'image/png'})]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "type" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "complete" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "completed" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "tracks" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "decode(optional ImageDecodeOptions)" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: calling decode(optional ImageDecodeOptions) on new ImageDecoder({data: self.imageBody, type: 'image/png'}) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "reset()" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "close()" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}) must inherit property "isTypeSupported(DOMString)" with the proper type]
+ expected: FAIL
+
+ [ImageDecoder interface: calling isTypeSupported(DOMString) on new ImageDecoder({data: self.imageBody, type: 'image/png'}) with too few arguments must throw TypeError]
+ expected: FAIL
+
+ [ImageTrackList interface: existence and properties of interface object]
+ expected: FAIL
+
+ [ImageTrackList interface object length]
+ expected: FAIL
+
+ [ImageTrackList interface object name]
+ expected: FAIL
+
+ [ImageTrackList interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [ImageTrackList interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [ImageTrackList interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [ImageTrackList interface: attribute ready]
+ expected: FAIL
+
+ [ImageTrackList interface: attribute length]
+ expected: FAIL
+
+ [ImageTrackList interface: attribute selectedIndex]
+ expected: FAIL
+
+ [ImageTrackList interface: attribute selectedTrack]
+ expected: FAIL
+
+ [ImageTrackList must be primary interface of new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks]
+ expected: FAIL
+
+ [Stringification of new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks]
+ expected: FAIL
+
+ [ImageTrackList interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks must inherit property "ready" with the proper type]
+ expected: FAIL
+
+ [ImageTrackList interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks must inherit property "length" with the proper type]
+ expected: FAIL
+
+ [ImageTrackList interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks must inherit property "selectedIndex" with the proper type]
+ expected: FAIL
+
+ [ImageTrackList interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks must inherit property "selectedTrack" with the proper type]
+ expected: FAIL
+
+ [ImageTrack interface: existence and properties of interface object]
+ expected: FAIL
+
+ [ImageTrack interface object length]
+ expected: FAIL
+
+ [ImageTrack interface object name]
+ expected: FAIL
+
+ [ImageTrack interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [ImageTrack interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [ImageTrack interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [ImageTrack interface: attribute animated]
+ expected: FAIL
+
+ [ImageTrack interface: attribute frameCount]
+ expected: FAIL
+
+ [ImageTrack interface: attribute repetitionCount]
+ expected: FAIL
+
+ [ImageTrack interface: attribute selected]
+ expected: FAIL
+
+ [ImageTrack must be primary interface of new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\]]
+ expected: FAIL
+
+ [Stringification of new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\]]
+ expected: FAIL
+
+ [ImageTrack interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\] must inherit property "animated" with the proper type]
+ expected: FAIL
+
+ [ImageTrack interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\] must inherit property "frameCount" with the proper type]
+ expected: FAIL
+
+ [ImageTrack interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\] must inherit property "repetitionCount" with the proper type]
+ expected: FAIL
+
+ [ImageTrack interface: new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0\] must inherit property "selected" with the proper type]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/image-decoder-image-orientation-none.https.html.ini b/testing/web-platform/meta/webcodecs/image-decoder-image-orientation-none.https.html.ini
new file mode 100644
index 0000000000..06504a120f
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/image-decoder-image-orientation-none.https.html.ini
@@ -0,0 +1,50 @@
+[image-decoder-image-orientation-none.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test JPEG w/ EXIF orientation top-left on canvas w/o orientation]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation top-right on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation bottom-right on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation bottom-left on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation left-top on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation right-top on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation right-bottom on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation left-bottom on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation top-left on canvas w/o orientation]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation top-right on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation bottom-right on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation bottom-left on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation left-top on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation right-top on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation right-bottom on canvas w/o orientation.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation left-bottom on canvas w/o orientation.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/image-decoder.crossOriginIsolated.https.any.js.ini b/testing/web-platform/meta/webcodecs/image-decoder.crossOriginIsolated.https.any.js.ini
new file mode 100644
index 0000000000..be67aef8a5
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/image-decoder.crossOriginIsolated.https.any.js.ini
@@ -0,0 +1,18 @@
+[image-decoder.crossOriginIsolated.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test ImageDecoder decoding with a SharedArrayBuffer source]
+ expected: FAIL
+
+ [Test ImageDecoder decoding with a Uint8Array(SharedArrayBuffer) source]
+ expected: FAIL
+
+
+[image-decoder.crossOriginIsolated.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test ImageDecoder decoding with a SharedArrayBuffer source]
+ expected: FAIL
+
+ [Test ImageDecoder decoding with a Uint8Array(SharedArrayBuffer) source]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/image-decoder.https.any.js.ini b/testing/web-platform/meta/webcodecs/image-decoder.https.any.js.ini
new file mode 100644
index 0000000000..a391295c89
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/image-decoder.https.any.js.ini
@@ -0,0 +1,252 @@
+[image-decoder.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test JPEG image decoding.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation top-left.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation top-right.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation bottom-right.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation bottom-left.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation left-top.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation right-top.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation right-bottom.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation left-bottom.]
+ expected: FAIL
+
+ [Test PNG image decoding.]
+ expected: FAIL
+
+ [Test AVIF image decoding.]
+ expected: FAIL
+
+ [Test high bit depth HDR AVIF image decoding.]
+ expected: FAIL
+
+ [Test multi-track AVIF image decoding w/ preferAnimation=false.]
+ expected: FAIL
+
+ [Test multi-track AVIF image decoding w/ preferAnimation=true.]
+ expected: FAIL
+
+ [Test WEBP image decoding.]
+ expected: FAIL
+
+ [Test GIF image decoding.]
+ expected: FAIL
+
+ [Test JPEG image YUV 4:2:0 decoding.]
+ expected: FAIL
+
+ [Test AVIF image YUV 4:2:0 decoding.]
+ expected: FAIL
+
+ [Test AVIF image YUV 4:2:2 decoding.]
+ expected: FAIL
+
+ [Test AVIF image YUV 4:4:4 decoding.]
+ expected: FAIL
+
+ [Test WEBP image YUV 4:2:0 decoding.]
+ expected: FAIL
+
+ [Test invalid mime type rejects decode() requests]
+ expected: FAIL
+
+ [Test invalid mime type rejects decodeMetadata() requests]
+ expected: FAIL
+
+ [Test out of range index returns RangeError]
+ expected: FAIL
+
+ [Test partial decoding without a frame results in an error]
+ expected: FAIL
+
+ [Test completed property on fully buffered decode]
+ expected: FAIL
+
+ [Test decode, decodeMetadata after no track selected.]
+ expected: FAIL
+
+ [Test track selection in multi track image.]
+ expected: FAIL
+
+ [Test ReadableStream of gif]
+ expected: FAIL
+
+ [Test that decode requests are serialized.]
+ expected: FAIL
+
+ [Test ReadableStream aborts promises on track change]
+ expected: FAIL
+
+ [Test ReadableStream aborts completed on close]
+ expected: FAIL
+
+ [Test ReadableStream resolves completed]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation top-left.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation top-right.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation bottom-right.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation bottom-left.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation left-top.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation right-top.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation right-bottom.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation left-bottom.]
+ expected: FAIL
+
+
+[image-decoder.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test JPEG image decoding.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation top-left.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation top-right.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation bottom-right.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation bottom-left.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation left-top.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation right-top.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation right-bottom.]
+ expected: FAIL
+
+ [Test JPEG w/ EXIF orientation left-bottom.]
+ expected: FAIL
+
+ [Test PNG image decoding.]
+ expected: FAIL
+
+ [Test AVIF image decoding.]
+ expected: FAIL
+
+ [Test high bit depth HDR AVIF image decoding.]
+ expected: FAIL
+
+ [Test multi-track AVIF image decoding w/ preferAnimation=false.]
+ expected: FAIL
+
+ [Test multi-track AVIF image decoding w/ preferAnimation=true.]
+ expected: FAIL
+
+ [Test WEBP image decoding.]
+ expected: FAIL
+
+ [Test GIF image decoding.]
+ expected: FAIL
+
+ [Test JPEG image YUV 4:2:0 decoding.]
+ expected: FAIL
+
+ [Test AVIF image YUV 4:2:0 decoding.]
+ expected: FAIL
+
+ [Test AVIF image YUV 4:2:2 decoding.]
+ expected: FAIL
+
+ [Test AVIF image YUV 4:4:4 decoding.]
+ expected: FAIL
+
+ [Test WEBP image YUV 4:2:0 decoding.]
+ expected: FAIL
+
+ [Test invalid mime type rejects decode() requests]
+ expected: FAIL
+
+ [Test invalid mime type rejects decodeMetadata() requests]
+ expected: FAIL
+
+ [Test out of range index returns RangeError]
+ expected: FAIL
+
+ [Test partial decoding without a frame results in an error]
+ expected: FAIL
+
+ [Test completed property on fully buffered decode]
+ expected: FAIL
+
+ [Test decode, decodeMetadata after no track selected.]
+ expected: FAIL
+
+ [Test track selection in multi track image.]
+ expected: FAIL
+
+ [Test ReadableStream of gif]
+ expected: FAIL
+
+ [Test that decode requests are serialized.]
+ expected: FAIL
+
+ [Test ReadableStream aborts promises on track change]
+ expected: FAIL
+
+ [Test ReadableStream aborts completed on close]
+ expected: FAIL
+
+ [Test ReadableStream resolves completed]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation top-left.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation top-right.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation bottom-right.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation bottom-left.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation left-top.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation right-top.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation right-bottom.]
+ expected: FAIL
+
+ [Test 4:2:0 JPEG w/ EXIF orientation left-bottom.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/reconfiguring-encoder.https.any.js.ini b/testing/web-platform/meta/webcodecs/reconfiguring-encoder.https.any.js.ini
new file mode 100644
index 0000000000..81a04ca5c5
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/reconfiguring-encoder.https.any.js.ini
@@ -0,0 +1,82 @@
+[reconfiguring-encoder.https.any.worker.html?h264_avc]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.html?av1]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.html?vp9_p0]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.worker.html?vp9_p2]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.worker.html?vp9_p0]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.html?h264_annexb]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.worker.html?h264_annexb]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.html?vp9_p2]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.worker.html?av1]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.worker.html?vp8]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.html?h264_avc]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
+
+
+[reconfiguring-encoder.https.any.html?vp8]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Reconfiguring encoder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/temporal-svc-encoding.https.any.js.ini b/testing/web-platform/meta/webcodecs/temporal-svc-encoding.https.any.js.ini
new file mode 100644
index 0000000000..c79018a211
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/temporal-svc-encoding.https.any.js.ini
@@ -0,0 +1,78 @@
+[temporal-svc-encoding.https.any.worker.html?av1]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [SVC L1T2]
+ expected: FAIL
+
+ [SVC L1T3]
+ expected: FAIL
+
+
+[temporal-svc-encoding.https.any.worker.html?vp9]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [SVC L1T2]
+ expected: FAIL
+
+ [SVC L1T3]
+ expected: FAIL
+
+
+[temporal-svc-encoding.https.any.html?av1]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [SVC L1T2]
+ expected: FAIL
+
+ [SVC L1T3]
+ expected: FAIL
+
+
+[temporal-svc-encoding.https.any.html?vp8]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [SVC L1T2]
+ expected: FAIL
+
+ [SVC L1T3]
+ expected: FAIL
+
+
+[temporal-svc-encoding.https.any.worker.html?vp8]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [SVC L1T2]
+ expected: FAIL
+
+ [SVC L1T3]
+ expected: FAIL
+
+
+[temporal-svc-encoding.https.any.html?h264]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [SVC L1T2]
+ expected: FAIL
+
+ [SVC L1T3]
+ expected: FAIL
+
+
+[temporal-svc-encoding.https.any.html?vp9]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [SVC L1T2]
+ expected: FAIL
+
+ [SVC L1T3]
+ expected: FAIL
+
+
+[temporal-svc-encoding.https.any.worker.html?h264]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [SVC L1T2]
+ expected: FAIL
+
+ [SVC L1T3]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/video-decoder.crossOriginIsolated.https.any.js.ini b/testing/web-platform/meta/webcodecs/video-decoder.crossOriginIsolated.https.any.js.ini
new file mode 100644
index 0000000000..8ef08f143b
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/video-decoder.crossOriginIsolated.https.any.js.ini
@@ -0,0 +1,18 @@
+[video-decoder.crossOriginIsolated.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test isConfigSupported() and configure() using a SharedArrayBuffer]
+ expected: FAIL
+
+ [Test isConfigSupported() and configure() using a Uint8Array(SharedArrayBuffer)]
+ expected: FAIL
+
+
+[video-decoder.crossOriginIsolated.https.any.worker.html]
+ expected:
+ if (os == "android") and debug and not swgl: [OK, TIMEOUT]
+ [Test isConfigSupported() and configure() using a SharedArrayBuffer]
+ expected: FAIL
+
+ [Test isConfigSupported() and configure() using a Uint8Array(SharedArrayBuffer)]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/video-decoder.https.any.js.ini b/testing/web-platform/meta/webcodecs/video-decoder.https.any.js.ini
new file mode 100644
index 0000000000..35182032f4
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/video-decoder.https.any.js.ini
@@ -0,0 +1,72 @@
+[video-decoder.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test that VideoDecoder.isConfigSupported() rejects invalid config:Empty codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.isConfigSupported() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.isConfigSupported() rejects invalid config:Audio codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.isConfigSupported() rejects invalid config:Ambiguous codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.isConfigSupported() rejects invalid config:Codec with MIME type]
+ expected: FAIL
+
+ [Test that VideoDecoder.configure() rejects invalid config:Empty codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.configure() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.configure() rejects invalid config:Audio codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.configure() rejects invalid config:Ambiguous codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.configure() rejects invalid config:Codec with MIME type]
+ expected: FAIL
+
+ [Test VideoDecoder construction]
+ expected: FAIL
+
+
+[video-decoder.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test that VideoDecoder.isConfigSupported() rejects invalid config:Empty codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.isConfigSupported() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.isConfigSupported() rejects invalid config:Audio codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.isConfigSupported() rejects invalid config:Ambiguous codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.isConfigSupported() rejects invalid config:Codec with MIME type]
+ expected: FAIL
+
+ [Test that VideoDecoder.configure() rejects invalid config:Empty codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.configure() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.configure() rejects invalid config:Audio codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.configure() rejects invalid config:Ambiguous codec]
+ expected: FAIL
+
+ [Test that VideoDecoder.configure() rejects invalid config:Codec with MIME type]
+ expected: FAIL
+
+ [Test VideoDecoder construction]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/video-encoder-config.https.any.js.ini b/testing/web-platform/meta/webcodecs/video-encoder-config.https.any.js.ini
new file mode 100644
index 0000000000..55ed43a33a
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/video-encoder-config.https.any.js.ini
@@ -0,0 +1,66 @@
+[video-encoder-config.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test that VideoEncoder.isConfigSupported() rejects invalid config:Emtpy codec]
+ expected: FAIL
+
+ [Test that VideoEncoder.isConfigSupported() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that VideoEncoder.isConfigSupported() rejects invalid config:Width is too large]
+ expected: FAIL
+
+ [Test that VideoEncoder.isConfigSupported() rejects invalid config:Height is too large]
+ expected: FAIL
+
+ [Test that VideoEncoder.isConfigSupported() rejects invalid config:Invalid scalability mode]
+ expected: FAIL
+
+ [VideoEncoder.isConfigSupported() doesn't support config:Too strenuous accelerated encoding parameters]
+ expected: FAIL
+
+ [VideoEncoder.isConfigSupported() supports:{"codec":"avc1.42001E","hardwareAcceleration":"no-preference","width":640,"height":480,"bitrate":5000000,"framerate":24,"avc":{"format":"annexb"},"futureConfigFeature":"foo"}]
+ expected: FAIL
+
+ [VideoEncoder.isConfigSupported() supports:{"codec":"vp09.00.10.08","hardwareAcceleration":"no-preference","width":1280,"height":720,"bitrate":7000000,"bitrateMode":"constant","framerate":25,"futureConfigFeature":"foo","latencyMode":"realtime","alpha":"discard"}]
+ expected: FAIL
+
+ [VideoEncoder.isConfigSupported() doesn't support config:Odd sized frames for H264]
+ expected: FAIL
+
+ [VideoEncoder.isConfigSupported() supports:{"codec":"vp8","hardwareAcceleration":"no-preference","width":800,"height":600,"bitrate":7000000,"bitrateMode":"variable","framerate":60,"scalabilityMode":"L1T2","futureConfigFeature":"foo","latencyMode":"quality","avc":{"format":"annexb"}}]
+ expected: FAIL
+
+
+[video-encoder-config.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test that VideoEncoder.isConfigSupported() rejects invalid config:Emtpy codec]
+ expected: FAIL
+
+ [Test that VideoEncoder.isConfigSupported() rejects invalid config:Unrecognized codec]
+ expected: FAIL
+
+ [Test that VideoEncoder.isConfigSupported() rejects invalid config:Width is too large]
+ expected: FAIL
+
+ [Test that VideoEncoder.isConfigSupported() rejects invalid config:Height is too large]
+ expected: FAIL
+
+ [Test that VideoEncoder.isConfigSupported() rejects invalid config:Invalid scalability mode]
+ expected: FAIL
+
+ [VideoEncoder.isConfigSupported() doesn't support config:Too strenuous accelerated encoding parameters]
+ expected: FAIL
+
+ [VideoEncoder.isConfigSupported() supports:{"codec":"avc1.42001E","hardwareAcceleration":"no-preference","width":640,"height":480,"bitrate":5000000,"framerate":24,"avc":{"format":"annexb"},"futureConfigFeature":"foo"}]
+ expected: FAIL
+
+ [VideoEncoder.isConfigSupported() supports:{"codec":"vp09.00.10.08","hardwareAcceleration":"no-preference","width":1280,"height":720,"bitrate":7000000,"bitrateMode":"constant","framerate":25,"futureConfigFeature":"foo","latencyMode":"realtime","alpha":"discard"}]
+ expected: FAIL
+
+ [VideoEncoder.isConfigSupported() doesn't support config:Odd sized frames for H264]
+ expected: FAIL
+
+ [VideoEncoder.isConfigSupported() supports:{"codec":"vp8","hardwareAcceleration":"no-preference","width":800,"height":600,"bitrate":7000000,"bitrateMode":"variable","framerate":60,"scalabilityMode":"L1T2","futureConfigFeature":"foo","latencyMode":"quality","avc":{"format":"annexb"}}]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/video-encoder.https.any.js.ini b/testing/web-platform/meta/webcodecs/video-encoder.https.any.js.ini
new file mode 100644
index 0000000000..7003ac148b
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/video-encoder.https.any.js.ini
@@ -0,0 +1,66 @@
+[video-encoder.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test VideoEncoder construction]
+ expected: FAIL
+
+ [Test VideoEncoder.configure()]
+ expected: FAIL
+
+ [Test successful configure(), encode(), and flush()]
+ expected: FAIL
+
+ [encodeQueueSize test]
+ expected: FAIL
+
+ [Test successful reset() and re-confiugre()]
+ expected: FAIL
+
+ [Test successful encode() after re-configure().]
+ expected: FAIL
+
+ [Verify closed VideoEncoder operations]
+ expected: FAIL
+
+ [Verify unconfigured VideoEncoder operations]
+ expected: FAIL
+
+ [Verify encoding closed frames throws.]
+ expected: FAIL
+
+ [Encode video with negative timestamp]
+ expected: FAIL
+
+
+[video-encoder.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test VideoEncoder construction]
+ expected: FAIL
+
+ [Test VideoEncoder.configure()]
+ expected: FAIL
+
+ [Test successful configure(), encode(), and flush()]
+ expected: FAIL
+
+ [encodeQueueSize test]
+ expected: FAIL
+
+ [Test successful reset() and re-confiugre()]
+ expected: FAIL
+
+ [Test successful encode() after re-configure().]
+ expected: FAIL
+
+ [Verify closed VideoEncoder operations]
+ expected: FAIL
+
+ [Verify unconfigured VideoEncoder operations]
+ expected: FAIL
+
+ [Verify encoding closed frames throws.]
+ expected: FAIL
+
+ [Encode video with negative timestamp]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/video-frame-serialization.any.js.ini b/testing/web-platform/meta/webcodecs/video-frame-serialization.any.js.ini
new file mode 100644
index 0000000000..ef2523e7a9
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/video-frame-serialization.any.js.ini
@@ -0,0 +1,20 @@
+[video-frame-serialization.any.worker.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Verify transferring frames closes them.]
+ expected: FAIL
+
+ [Verify closing a frame doesn't affect its clones.]
+ expected: FAIL
+
+
+[video-frame-serialization.any.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Verify transferring frames closes them.]
+ expected: FAIL
+
+ [Verify closing a frame doesn't affect its clones.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/videoColorSpace.any.js.ini b/testing/web-platform/meta/webcodecs/videoColorSpace.any.js.ini
new file mode 100644
index 0000000000..371c920220
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoColorSpace.any.js.ini
@@ -0,0 +1,9 @@
+[videoColorSpace.any.worker.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[videoColorSpace.any.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/webcodecs/videoDecoder-codec-specific.https.any.js.ini b/testing/web-platform/meta/webcodecs/videoDecoder-codec-specific.https.any.js.ini
new file mode 100644
index 0000000000..fcaad81c2f
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoDecoder-codec-specific.https.any.js.ini
@@ -0,0 +1,588 @@
+[videoDecoder-codec-specific.https.any.worker.html?vp8]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test isConfigSupported() with 1080p crop]
+ expected: NOTRUN
+
+ [Test that isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test invalid configs]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Decode a key frame]
+ expected: NOTRUN
+
+ [Decode a non key frame first fails]
+ expected: NOTRUN
+
+ [Verify reset() suppresses outputs]
+ expected: NOTRUN
+
+ [Test unconfigured VideoDecoder operations]
+ expected: NOTRUN
+
+ [Test closed VideoDecoder operations]
+ expected: NOTRUN
+
+ [Decode empty frame]
+ expected: NOTRUN
+
+ [Decode corrupt frame]
+ expected: NOTRUN
+
+ [Close while decoding corrupt frame]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [Test low-latency decoding]
+ expected: NOTRUN
+
+ [VideoDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[videoDecoder-codec-specific.https.any.worker.html?h264_avc]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test isConfigSupported() with 1080p crop]
+ expected: NOTRUN
+
+ [Test that isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test invalid configs]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Decode a key frame]
+ expected: NOTRUN
+
+ [Decode a non key frame first fails]
+ expected: NOTRUN
+
+ [Verify reset() suppresses outputs]
+ expected: NOTRUN
+
+ [Test unconfigured VideoDecoder operations]
+ expected: NOTRUN
+
+ [Test closed VideoDecoder operations]
+ expected: NOTRUN
+
+ [Decode empty frame]
+ expected: NOTRUN
+
+ [Decode corrupt frame]
+ expected: NOTRUN
+
+ [Close while decoding corrupt frame]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [Test low-latency decoding]
+ expected: NOTRUN
+
+ [VideoDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[videoDecoder-codec-specific.https.any.worker.html?vp9]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test isConfigSupported() with 1080p crop]
+ expected: NOTRUN
+
+ [Test that isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test invalid configs]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Decode a key frame]
+ expected: NOTRUN
+
+ [Decode a non key frame first fails]
+ expected: NOTRUN
+
+ [Verify reset() suppresses outputs]
+ expected: NOTRUN
+
+ [Test unconfigured VideoDecoder operations]
+ expected: NOTRUN
+
+ [Test closed VideoDecoder operations]
+ expected: NOTRUN
+
+ [Decode empty frame]
+ expected: NOTRUN
+
+ [Decode corrupt frame]
+ expected: NOTRUN
+
+ [Close while decoding corrupt frame]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [Test low-latency decoding]
+ expected: NOTRUN
+
+ [VideoDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[videoDecoder-codec-specific.https.any.worker.html?h264_annexb]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test isConfigSupported() with 1080p crop]
+ expected: NOTRUN
+
+ [Test that isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test invalid configs]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Decode a key frame]
+ expected: NOTRUN
+
+ [Decode a non key frame first fails]
+ expected: NOTRUN
+
+ [Verify reset() suppresses outputs]
+ expected: NOTRUN
+
+ [Test unconfigured VideoDecoder operations]
+ expected: NOTRUN
+
+ [Test closed VideoDecoder operations]
+ expected: NOTRUN
+
+ [Decode empty frame]
+ expected: NOTRUN
+
+ [Decode corrupt frame]
+ expected: NOTRUN
+
+ [Close while decoding corrupt frame]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [Test low-latency decoding]
+ expected: NOTRUN
+
+ [VideoDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[videoDecoder-codec-specific.https.any.html?vp8]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test isConfigSupported() with 1080p crop]
+ expected: NOTRUN
+
+ [Test that isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test invalid configs]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Decode a key frame]
+ expected: NOTRUN
+
+ [Decode a non key frame first fails]
+ expected: NOTRUN
+
+ [Verify reset() suppresses outputs]
+ expected: NOTRUN
+
+ [Test unconfigured VideoDecoder operations]
+ expected: NOTRUN
+
+ [Test closed VideoDecoder operations]
+ expected: NOTRUN
+
+ [Decode empty frame]
+ expected: NOTRUN
+
+ [Decode corrupt frame]
+ expected: NOTRUN
+
+ [Close while decoding corrupt frame]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [Test low-latency decoding]
+ expected: NOTRUN
+
+ [VideoDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[videoDecoder-codec-specific.https.any.html?av1]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test isConfigSupported() with 1080p crop]
+ expected: NOTRUN
+
+ [Test that isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test invalid configs]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Decode a key frame]
+ expected: NOTRUN
+
+ [Decode a non key frame first fails]
+ expected: NOTRUN
+
+ [Verify reset() suppresses outputs]
+ expected: NOTRUN
+
+ [Test unconfigured VideoDecoder operations]
+ expected: NOTRUN
+
+ [Test closed VideoDecoder operations]
+ expected: NOTRUN
+
+ [Decode empty frame]
+ expected: NOTRUN
+
+ [Decode corrupt frame]
+ expected: NOTRUN
+
+ [Close while decoding corrupt frame]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [Test low-latency decoding]
+ expected: NOTRUN
+
+ [VideoDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[videoDecoder-codec-specific.https.any.worker.html?av1]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test isConfigSupported() with 1080p crop]
+ expected: NOTRUN
+
+ [Test that isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test invalid configs]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Decode a key frame]
+ expected: NOTRUN
+
+ [Decode a non key frame first fails]
+ expected: NOTRUN
+
+ [Verify reset() suppresses outputs]
+ expected: NOTRUN
+
+ [Test unconfigured VideoDecoder operations]
+ expected: NOTRUN
+
+ [Test closed VideoDecoder operations]
+ expected: NOTRUN
+
+ [Decode empty frame]
+ expected: NOTRUN
+
+ [Decode corrupt frame]
+ expected: NOTRUN
+
+ [Close while decoding corrupt frame]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [Test low-latency decoding]
+ expected: NOTRUN
+
+ [VideoDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[videoDecoder-codec-specific.https.any.html?vp9]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test isConfigSupported() with 1080p crop]
+ expected: NOTRUN
+
+ [Test that isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test invalid configs]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Decode a key frame]
+ expected: NOTRUN
+
+ [Decode a non key frame first fails]
+ expected: NOTRUN
+
+ [Verify reset() suppresses outputs]
+ expected: NOTRUN
+
+ [Test unconfigured VideoDecoder operations]
+ expected: NOTRUN
+
+ [Test closed VideoDecoder operations]
+ expected: NOTRUN
+
+ [Decode empty frame]
+ expected: NOTRUN
+
+ [Decode corrupt frame]
+ expected: NOTRUN
+
+ [Close while decoding corrupt frame]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [Test low-latency decoding]
+ expected: NOTRUN
+
+ [VideoDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[videoDecoder-codec-specific.https.any.html?h264_avc]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test isConfigSupported() with 1080p crop]
+ expected: NOTRUN
+
+ [Test that isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test invalid configs]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Decode a key frame]
+ expected: NOTRUN
+
+ [Decode a non key frame first fails]
+ expected: NOTRUN
+
+ [Verify reset() suppresses outputs]
+ expected: NOTRUN
+
+ [Test unconfigured VideoDecoder operations]
+ expected: NOTRUN
+
+ [Test closed VideoDecoder operations]
+ expected: NOTRUN
+
+ [Decode empty frame]
+ expected: NOTRUN
+
+ [Decode corrupt frame]
+ expected: NOTRUN
+
+ [Close while decoding corrupt frame]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [Test low-latency decoding]
+ expected: NOTRUN
+
+ [VideoDecoder decodeQueueSize test]
+ expected: NOTRUN
+
+
+[videoDecoder-codec-specific.https.any.html?h264_annexb]
+ expected:
+ if (os == "android") and fission: [ERROR, TIMEOUT]
+ ERROR
+ [Test isConfigSupported()]
+ expected: NOTRUN
+
+ [Test isConfigSupported() with 1080p crop]
+ expected: NOTRUN
+
+ [Test that isConfigSupported() returns a parsed configuration]
+ expected: NOTRUN
+
+ [Test invalid configs]
+ expected: NOTRUN
+
+ [Test configure()]
+ expected: NOTRUN
+
+ [Decode a key frame]
+ expected: NOTRUN
+
+ [Decode a non key frame first fails]
+ expected: NOTRUN
+
+ [Verify reset() suppresses outputs]
+ expected: NOTRUN
+
+ [Test unconfigured VideoDecoder operations]
+ expected: NOTRUN
+
+ [Test closed VideoDecoder operations]
+ expected: NOTRUN
+
+ [Decode empty frame]
+ expected: NOTRUN
+
+ [Decode corrupt frame]
+ expected: NOTRUN
+
+ [Close while decoding corrupt frame]
+ expected: NOTRUN
+
+ [Test decoding after flush]
+ expected: NOTRUN
+
+ [Test decoding a with negative timestamp]
+ expected: NOTRUN
+
+ [Test reset during flush]
+ expected: NOTRUN
+
+ [Test low-latency decoding]
+ expected: NOTRUN
+
+ [VideoDecoder decodeQueueSize test]
+ expected: NOTRUN
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-alpha.any.js.ini b/testing/web-platform/meta/webcodecs/videoFrame-alpha.any.js.ini
new file mode 100644
index 0000000000..bee1597f54
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-alpha.any.js.ini
@@ -0,0 +1,18 @@
+[videoFrame-alpha.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [OffscreenCanvas source preserves alpha]
+ expected: FAIL
+
+ [ImageBitmap source preserves alpha]
+ expected: FAIL
+
+
+[videoFrame-alpha.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [OffscreenCanvas source preserves alpha]
+ expected: FAIL
+
+ [ImageBitmap source preserves alpha]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-canvasImageSource.html.ini b/testing/web-platform/meta/webcodecs/videoFrame-canvasImageSource.html.ini
new file mode 100644
index 0000000000..7b8362de81
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-canvasImageSource.html.ini
@@ -0,0 +1,20 @@
+[videoFrame-canvasImageSource.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [<video> and VideoFrame constructed VideoFrame]
+ expected: FAIL
+
+ [CSSImageValue constructed VideoFrame]
+ expected: FAIL
+
+ [Image element constructed VideoFrame]
+ expected: FAIL
+
+ [SVGImageElement constructed VideoFrame]
+ expected: FAIL
+
+ [Canvas element constructed VideoFrame]
+ expected: FAIL
+
+ [Copy of canvas element constructed VideoFrame]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-construction.any.js.ini b/testing/web-platform/meta/webcodecs/videoFrame-construction.any.js.ini
new file mode 100644
index 0000000000..eec8a31a79
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-construction.any.js.ini
@@ -0,0 +1,20 @@
+[videoFrame-construction.any.worker.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test planar constructed I420 VideoFrame with null colorSpace values]
+ expected: FAIL
+
+ [Test closed VideoFrame.]
+ expected: FAIL
+
+
+[videoFrame-construction.any.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test planar constructed I420 VideoFrame with null colorSpace values]
+ expected: FAIL
+
+ [Test closed VideoFrame.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-construction.crossOriginIsolated.https.any.js.ini b/testing/web-platform/meta/webcodecs/videoFrame-construction.crossOriginIsolated.https.any.js.ini
new file mode 100644
index 0000000000..2b212ac30f
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-construction.crossOriginIsolated.https.any.js.ini
@@ -0,0 +1,10 @@
+[videoFrame-construction.crossOriginIsolated.https.any.worker.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and debug and not swgl: [OK, TIMEOUT]
+
+[videoFrame-construction.crossOriginIsolated.https.any.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and not swgl and not fission: [OK, TIMEOUT]
+ if (os == "android") and not swgl and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-construction.crossOriginSource.sub.html.ini b/testing/web-platform/meta/webcodecs/videoFrame-construction.crossOriginSource.sub.html.ini
new file mode 100644
index 0000000000..ed5989e9d5
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-construction.crossOriginSource.sub.html.ini
@@ -0,0 +1,6 @@
+[videoFrame-construction.crossOriginSource.sub.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test creating a VideoFrame with a CORS enabled cross-origin SVGImageElement with crossorigin="anonymous"]
+ disabled: https://bugzilla.mozilla.org/show_bug.cgi?id=1789880
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-construction.window.js.ini b/testing/web-platform/meta/webcodecs/videoFrame-construction.window.js.ini
new file mode 100644
index 0000000000..7d6d5ffb84
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-construction.window.js.ini
@@ -0,0 +1,7 @@
+[videoFrame-construction.window.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[Test that timestamp is required when constructing VideoFrame from HTMLImageElement]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-copyTo.any.js.ini b/testing/web-platform/meta/webcodecs/videoFrame-copyTo.any.js.ini
new file mode 100644
index 0000000000..f5c78489a4
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-copyTo.any.js.ini
@@ -0,0 +1,13 @@
+[videoFrame-copyTo.any.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Test I420A stride and offset work.]
+ expected:
+ if (os == "android") and fission: [PASS, FAIL]
+
+
+[videoFrame-copyTo.any.worker.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-copyTo.crossOriginIsolated.https.any.js.ini b/testing/web-platform/meta/webcodecs/videoFrame-copyTo.crossOriginIsolated.https.any.js.ini
new file mode 100644
index 0000000000..969d667cd9
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-copyTo.crossOriginIsolated.https.any.js.ini
@@ -0,0 +1,9 @@
+[videoFrame-copyTo.crossOriginIsolated.https.any.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[videoFrame-copyTo.crossOriginIsolated.https.any.worker.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-createImageBitmap.any.js.ini b/testing/web-platform/meta/webcodecs/videoFrame-createImageBitmap.any.js.ini
new file mode 100644
index 0000000000..31edd108a8
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-createImageBitmap.any.js.ini
@@ -0,0 +1,48 @@
+[videoFrame-createImageBitmap.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [ImageBitmap<->VideoFrame with canvas(48x36 srgb uint8).]
+ expected: FAIL
+
+ [ImageBitmap<->VideoFrame with canvas(480x360 srgb uint8).]
+ expected: FAIL
+
+ [ImageBitmap<->VideoFrame with canvas(48x36 display-p3 uint8).]
+ expected: FAIL
+
+ [ImageBitmap<->VideoFrame with canvas(480x360 display-p3 uint8).]
+ expected: FAIL
+
+ [ImageBitmap<->VideoFrame with canvas(48x36 rec2020 uint8).]
+ expected: FAIL
+
+ [ImageBitmap<->VideoFrame with canvas(480x360 rec2020 uint8).]
+ expected: FAIL
+
+ [createImageBitmap uses frame display size]
+ expected: FAIL
+
+
+[videoFrame-createImageBitmap.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [ImageBitmap<->VideoFrame with canvas(48x36 srgb uint8).]
+ expected: FAIL
+
+ [ImageBitmap<->VideoFrame with canvas(480x360 srgb uint8).]
+ expected: FAIL
+
+ [ImageBitmap<->VideoFrame with canvas(48x36 display-p3 uint8).]
+ expected: FAIL
+
+ [ImageBitmap<->VideoFrame with canvas(480x360 display-p3 uint8).]
+ expected: FAIL
+
+ [ImageBitmap<->VideoFrame with canvas(48x36 rec2020 uint8).]
+ expected: FAIL
+
+ [ImageBitmap<->VideoFrame with canvas(480x360 rec2020 uint8).]
+ expected: FAIL
+
+ [createImageBitmap uses frame display size]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-createImageBitmap.https.any.js.ini b/testing/web-platform/meta/webcodecs/videoFrame-createImageBitmap.https.any.js.ini
new file mode 100644
index 0000000000..73bdd4a3ee
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-createImageBitmap.https.any.js.ini
@@ -0,0 +1,12 @@
+[videoFrame-createImageBitmap.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Create ImageBitmap for a VideoFrame from VP9 decoder.]
+ expected: FAIL
+
+
+[videoFrame-createImageBitmap.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Create ImageBitmap for a VideoFrame from VP9 decoder.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-drawImage.any.js.ini b/testing/web-platform/meta/webcodecs/videoFrame-drawImage.any.js.ini
new file mode 100644
index 0000000000..13c02aee3b
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-drawImage.any.js.ini
@@ -0,0 +1,54 @@
+[videoFrame-drawImage.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [drawImage(VideoFrame) with canvas(48x36 srgb uint8).]
+ expected: FAIL
+
+ [drawImage(VideoFrame) with canvas(480x360 srgb uint8).]
+ expected: FAIL
+
+ [drawImage(VideoFrame) with canvas(48x36 display-p3 uint8).]
+ expected: FAIL
+
+ [drawImage(VideoFrame) with canvas(480x360 display-p3 uint8).]
+ expected: FAIL
+
+ [drawImage(VideoFrame) with canvas(48x36 rec2020 uint8).]
+ expected: FAIL
+
+ [drawImage on a closed VideoFrame throws InvalidStateError.]
+ expected: FAIL
+
+ [drawImage of nested frame works properly]
+ expected: FAIL
+
+ [drawImage with display size != visible size]
+ expected: FAIL
+
+
+[videoFrame-drawImage.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [drawImage(VideoFrame) with canvas(48x36 srgb uint8).]
+ expected: FAIL
+
+ [drawImage(VideoFrame) with canvas(480x360 srgb uint8).]
+ expected: FAIL
+
+ [drawImage(VideoFrame) with canvas(48x36 display-p3 uint8).]
+ expected: FAIL
+
+ [drawImage(VideoFrame) with canvas(480x360 display-p3 uint8).]
+ expected: FAIL
+
+ [drawImage(VideoFrame) with canvas(48x36 rec2020 uint8).]
+ expected: FAIL
+
+ [drawImage on a closed VideoFrame throws InvalidStateError.]
+ expected: FAIL
+
+ [drawImage of nested frame works properly]
+ expected: FAIL
+
+ [drawImage with display size != visible size]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-serialization.crossAgentCluster.https.html.ini b/testing/web-platform/meta/webcodecs/videoFrame-serialization.crossAgentCluster.https.html.ini
new file mode 100644
index 0000000000..0b79f20636
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-serialization.crossAgentCluster.https.html.ini
@@ -0,0 +1,11 @@
+[videoFrame-serialization.crossAgentCluster.https.html]
+ prefs: [dom.media.webcodecs.enabled:true]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [Verify frames can be passed back and forth between main and sharedworker]
+ expected:
+ if (os == "android") and fission: TIMEOUT
+
+ [Verify frames cannot be passed to serviceworker]
+ expected:
+ if (os == "android") and fission: NOTRUN
diff --git a/testing/web-platform/meta/webcodecs/videoFrame-texImage.any.js.ini b/testing/web-platform/meta/webcodecs/videoFrame-texImage.any.js.ini
new file mode 100644
index 0000000000..d59451956a
--- /dev/null
+++ b/testing/web-platform/meta/webcodecs/videoFrame-texImage.any.js.ini
@@ -0,0 +1,42 @@
+[videoFrame-texImage.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [texImage2D with 48x36 srgb VideoFrame.]
+ expected: FAIL
+
+ [texSubImage2D with 48x36 srgb VideoFrame.]
+ expected: FAIL
+
+ [texImage2D with 480x360 srgb VideoFrame.]
+ expected: FAIL
+
+ [texSubImage2D with 480x360 srgb VideoFrame.]
+ expected: FAIL
+
+ [texImage2D with a closed VideoFrame.]
+ expected: FAIL
+
+ [texSubImage2D with a closed VideoFrame.]
+ expected: FAIL
+
+
+[videoFrame-texImage.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [texImage2D with 48x36 srgb VideoFrame.]
+ expected: FAIL
+
+ [texSubImage2D with 48x36 srgb VideoFrame.]
+ expected: FAIL
+
+ [texImage2D with 480x360 srgb VideoFrame.]
+ expected: FAIL
+
+ [texSubImage2D with 480x360 srgb VideoFrame.]
+ expected: FAIL
+
+ [texImage2D with a closed VideoFrame.]
+ expected: FAIL
+
+ [texSubImage2D with a closed VideoFrame.]
+ expected: FAIL