| <!doctype html> | |
| <meta charset=utf-8> | |
| <title>getDisplayMedia</title> | |
| <meta name="timeout" content="long"> | |
| <button id="button">User gesture</button> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/resources/testdriver.js"></script> | |
| <script src="/resources/testdriver-vendor.js"></script> | |
| <video id="display"></video> | |
| <script> | |
| 'use strict'; | |
| const stopTracks = stream => stream.getTracks().forEach(track => track.stop()); | |
| async function getDisplayMedia(constraints) { | |
| const p = new Promise(r => button.onclick = r); | |
| await test_driver.click(button); | |
| await p; | |
| return navigator.mediaDevices.getDisplayMedia(constraints); | |
| } | |
| promise_test(async t => { | |
| const stream = await getDisplayMedia({video: true}); | |
| const track = stream.getVideoTracks()[0]; | |
| t.add_cleanup(() => stopTracks(stream)); | |
| const settings = track.getSettings(); | |
| const capabilities = track.getCapabilities(); | |
| assert_true("deviceId" in settings); | |
| assert_equals(capabilities.deviceId, settings.deviceId); | |
| }, "getDisplayMedia() deviceId setting and capability"); | |
| promise_test(async t => { | |
| const stream = await getDisplayMedia({video: true}); | |
| const track = stream.getVideoTracks()[0]; | |
| t.add_cleanup(() => stopTracks(stream)); | |
| const settings = track.getSettings(); | |
| const capabilities = track.getCapabilities(); | |
| assert_false("facingMode" in settings); | |
| assert_false("facingMode" in capabilities); | |
| }, "getDisplayMedia() and facingMode"); | |
| </script> |