32 lines
1.2 KiB
HTML
32 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<head>
|
|
<title>
|
|
Test permissions policy on enumerateDevices() after getUserMedia()
|
|
</title>
|
|
<link rel="help" href="https://w3c.github.io/mediacapture-output/#privacy-obtaining-consent">
|
|
<meta charset=utf-8>
|
|
<body>
|
|
<p class="instructions">If prompted, <strong>please allow</strong> access to
|
|
a microphone device.</p>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/common/get-host-info.sub.js"></script>
|
|
<script src="/permissions-policy/resources/permissions-policy.js"></script>
|
|
<script>
|
|
'use strict';
|
|
|
|
promise_test(async () => {
|
|
const frame = document.createElement('iframe');
|
|
frame.allow = "speaker-selection 'none'"
|
|
const promise_load = new Promise(r => frame.onload = r);
|
|
document.body.appendChild(frame);
|
|
await promise_load;
|
|
|
|
const fDevices = frame.contentWindow.navigator.mediaDevices;
|
|
await fDevices.getUserMedia({ audio: true });
|
|
const list = await fDevices.enumerateDevices();
|
|
const outputDevicesList = list.filter(({kind}) => kind == "audiooutput");
|
|
assert_equals(outputDevicesList.length, 0, "number of output devices.");
|
|
}, "permissions policy on enumerateDevices() after getUserMedia()");
|
|
</script>
|
|
</body>
|