summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webcodecs/image-decoder.crossOriginIsolated.https.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/webcodecs/image-decoder.crossOriginIsolated.https.any.js')
-rw-r--r--testing/web-platform/tests/webcodecs/image-decoder.crossOriginIsolated.https.any.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webcodecs/image-decoder.crossOriginIsolated.https.any.js b/testing/web-platform/tests/webcodecs/image-decoder.crossOriginIsolated.https.any.js
new file mode 100644
index 0000000000..f10cf7a067
--- /dev/null
+++ b/testing/web-platform/tests/webcodecs/image-decoder.crossOriginIsolated.https.any.js
@@ -0,0 +1,27 @@
+// META: global=window,dedicatedworker
+// META: script=/webcodecs/image-decoder-utils.js
+
+function testSharedArrayBuffer(useView) {
+ const mimeType = 'image/png';
+ var decoder = null;
+ return ImageDecoder.isTypeSupported(mimeType).then(support => {
+ assert_implements_optional(
+ support, 'Optional codec ' + mimeType + ' not supported.');
+ return fetch('four-colors.png').then(response => {
+ return response.arrayBuffer().then(buffer => {
+ let data = new SharedArrayBuffer(buffer.byteLength);
+ let view = new Uint8Array(data);
+ view.set(new Uint8Array(buffer));
+ return testFourColorsDecodeBuffer(useView ? view : data, mimeType);
+ });
+ });
+ });
+}
+
+promise_test(t => {
+ return testSharedArrayBuffer(/*useView=*/ false);
+}, 'Test ImageDecoder decoding with a SharedArrayBuffer source');
+
+promise_test(t => {
+ return testSharedArrayBuffer(/*useView=*/ true);
+}, 'Test ImageDecoder decoding with a Uint8Array(SharedArrayBuffer) source');