summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/media-source/idlharness.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/media-source/idlharness.window.js')
-rw-r--r--testing/web-platform/tests/media-source/idlharness.window.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/testing/web-platform/tests/media-source/idlharness.window.js b/testing/web-platform/tests/media-source/idlharness.window.js
new file mode 100644
index 0000000000..9300f67fe0
--- /dev/null
+++ b/testing/web-platform/tests/media-source/idlharness.window.js
@@ -0,0 +1,35 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+// META: timeout=long
+
+// https://w3c.github.io/media-source/
+
+'use strict';
+
+idl_test(
+ ['media-source'],
+ ['dom', 'html', 'url'],
+ async idl_array => {
+ idl_array.add_objects({
+ MediaSource: ['mediaSource'],
+ SourceBuffer: ['sourceBuffer'],
+ SourceBufferList: ['mediaSource.sourceBuffers'],
+ });
+
+ const video = document.createElement('video');
+ self.mediaSource = new MediaSource();
+ video.src = URL.createObjectURL(mediaSource);
+
+ self.sourceBuffer = await new Promise((resolve, reject) => {
+ mediaSource.addEventListener('sourceopen', () => {
+ var defaultType = 'video/webm;codecs="vp8,vorbis"';
+ if (MediaSource.isTypeSupported(defaultType)) {
+ resolve(mediaSource.addSourceBuffer(defaultType));
+ } else {
+ resolve(mediaSource.addSourceBuffer('video/mp4'));
+ }
+ });
+ step_timeout(() => reject(new Error('sourceopen event not fired')), 3000);
+ });
+ }
+);