| <!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> |