summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/mediacapture-record/idlharness.window.js
blob: 99e884530c0f42ba8f42e6c51dcddb13cae45681 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js

'use strict';

// https://w3c.github.io/mediacapture-record/

idl_test(
  ['mediastream-recording'],
  ['mediacapture-streams', 'FileAPI', 'html', 'dom', 'webidl'],
  idl_array => {
    // Ignored errors will be surfaced in idlharness.js's test_object below.
    let recorder, blob, error;
    try {
      const canvas = document.createElement('canvas');
      document.body.appendChild(canvas);
      const context = canvas.getContext("2d");
      context.fillStyle = "red";
      context.fillRect(0, 0, 10, 10);
      const stream = canvas.captureStream();
      recorder = new MediaRecorder(stream);
    } catch(e) {}
    idl_array.add_objects({ MediaRecorder: [recorder] });

    try {
      blob = new BlobEvent("type", {
        data: new Blob(),
        timecode: performance.now(),
      });
    } catch(e) {}
    idl_array.add_objects({ BlobEvent: [blob] });

    try {
      error = new MediaRecorderErrorEvent("type", {
        error: new DOMException,
      });
    } catch(e) {}
    idl_array.add_objects({ MediaRecorderErrorEvent: [error] });
  }
);