blob: ba903634185f27c14a29bf86616f41719972333a [file] [log] [blame]
<!DOCTYPE html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
function with_iframe(url, allow) {
let frame = document.createElement('iframe');
frame.src = url;
frame.setAttribute('allow', allow);
return new Promise(resolve => {
frame.onload = () => { resolve(frame); };
document.body.appendChild(frame);
});
}
promise_test(async () => {
let frame1 = await with_iframe("resources/", "microphone:'none'; camera:'none'");
let devices = await frame1.contentWindow.navigator.mediaDevices.enumerateDevices();
assert_equals(devices.length, 0);
frame1.removeAttribute('allow');
devices = await frame1.contentWindow.navigator.mediaDevices.enumerateDevices();
assert_not_equals(devices.length, 0);
}, "allow attribute can be updated dynamically");
</script>
</body>