tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>