47 lines
1.5 KiB
HTML
47 lines
1.5 KiB
HTML
<!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>
|