blob: 500720b8795005c0929b47157760cf0c0a46a228 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>Media Capture from DOM Elements IDL test</title>
<link rel="help" href="https://w3c.github.io/mediacapture-fromelement/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>
</head>
<body>
<media id='media' width=10 height=10/>
<canvas id='canvas' width=10 height=10/>
<pre id="idl" style="display: none">
// https://w3c.github.io/mediacapture-fromelement/
partial interface HTMLMediaElement {
MediaStream captureStream();
};
partial interface HTMLCanvasElement {
MediaStream captureStream(optional double frameRequestRate);
};
interface CanvasCaptureMediaStreamTrack : MediaStreamTrack {
readonly attribute HTMLCanvasElement canvas;
void requestFrame();
};
</pre>
<script>
'use strict';
promise_test(async () => {
const main = await fetch('/interfaces/mediacapture-main.idl').then(r => r.text());
const html = await fetch('/interfaces/html.idl').then(r => r.text());
const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
var idl_array = new IdlArray();
idl_array.add_idls(document.getElementById("idl").textContent);
idl_array.add_dependency_idls(main);
idl_array.add_dependency_idls(html);
idl_array.add_dependency_idls(dom);
idl_array.add_objects({
HTMLMediaElement: ['document.getElementById("media")'],
HTMLCanvasElement: ['document.getElementById("canvas")'],
CanvasCaptureMediaStreamTrack: ['canvas.captureStream().getTracks()[0]'],
});
idl_array.test();
}, 'Test mediacapture-fromelement IDL interfaces');
</script>
<div id="log"></div>
</body>
</html>