getdisplaymedia-settings.https.html (1512B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <title>getDisplayMedia</title> 4 <meta name="timeout" content="long"> 5 <button id="button">User gesture</button> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 <script src="/resources/testdriver.js"></script> 9 <script src="/resources/testdriver-vendor.js"></script> 10 <video id="display"></video> 11 <script> 12 'use strict'; 13 14 const stopTracks = stream => stream.getTracks().forEach(track => track.stop()); 15 16 async function getDisplayMedia(constraints) { 17 const p = new Promise(r => button.onclick = r); 18 await test_driver.click(button); 19 await p; 20 return navigator.mediaDevices.getDisplayMedia(constraints); 21 } 22 23 promise_test(async t => { 24 const stream = await getDisplayMedia({video: true}); 25 const track = stream.getVideoTracks()[0]; 26 t.add_cleanup(() => stopTracks(stream)); 27 28 const settings = track.getSettings(); 29 const capabilities = track.getCapabilities(); 30 31 assert_true("deviceId" in settings); 32 assert_equals(capabilities.deviceId, settings.deviceId); 33 }, "getDisplayMedia() deviceId setting and capability"); 34 35 promise_test(async t => { 36 const stream = await getDisplayMedia({video: true}); 37 const track = stream.getVideoTracks()[0]; 38 t.add_cleanup(() => stopTracks(stream)); 39 40 const settings = track.getSettings(); 41 const capabilities = track.getCapabilities(); 42 43 assert_false("facingMode" in settings); 44 assert_false("facingMode" in capabilities); 45 }, "getDisplayMedia() and facingMode"); 46 47 </script>