enumerateDevices-permissions-policy.https.html (1257B)
1 <!DOCTYPE html> 2 <head> 3 <title> 4 Test permissions policy on enumerateDevices() after getUserMedia() 5 </title> 6 <link rel="help" href="https://w3c.github.io/mediacapture-output/#privacy-obtaining-consent"> 7 <meta charset=utf-8> 8 <body> 9 <p class="instructions">If prompted, <strong>please allow</strong> access to 10 a microphone device.</p> 11 <script src="/resources/testharness.js"></script> 12 <script src="/resources/testharnessreport.js"></script> 13 <script src="/common/get-host-info.sub.js"></script> 14 <script src="/permissions-policy/resources/permissions-policy.js"></script> 15 <script> 16 'use strict'; 17 18 promise_test(async () => { 19 const frame = document.createElement('iframe'); 20 frame.allow = "speaker-selection 'none'" 21 const promise_load = new Promise(r => frame.onload = r); 22 document.body.appendChild(frame); 23 await promise_load; 24 25 const fDevices = frame.contentWindow.navigator.mediaDevices; 26 await fDevices.getUserMedia({ audio: true }); 27 const list = await fDevices.enumerateDevices(); 28 const outputDevicesList = list.filter(({kind}) => kind == "audiooutput"); 29 assert_equals(outputDevicesList.length, 0, "number of output devices."); 30 }, "permissions policy on enumerateDevices() after getUserMedia()"); 31 </script> 32 </body>