blob: e5eea367950ebefc8d2cc77c67877eba521552de [file] [edit]
<!doctype html><!-- webkit-test-runner [ ExposeCaptureDevicesAfterCaptureEnabled=false ] -->
<html>
<head>
<meta charset="utf-8">
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
promise_test(async (test) => {
const stream = await navigator.mediaDevices.getUserMedia({ audio : true });
test.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
if (window.testRunner)
testRunner.resetUserMediaPermission();
const devices = await navigator.mediaDevices.enumerateDevices();
for (const device of devices)
assert_true(device.label === "" || device.kind !== "videoinput");
}, "enumerateDevices() filters out cameras if camera permission is prompt");
promise_test(async (test) => {
if (window.testRunner)
testRunner.setMicrophonePermission(false);
const stream = await navigator.mediaDevices.getUserMedia({ audio : true });
test.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const devices = await navigator.mediaDevices.enumerateDevices();
for (const device of devices)
assert_true(device.label === "" || device.kind !== "videoinput");
}, "enumerateDevices() filters out cameras if camera permission is denied");
promise_test(async (test) => {
if (window.testRunner)
testRunner.setMicrophonePermission(true);
const stream = await navigator.mediaDevices.getUserMedia({ audio : true });
test.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const devices = await navigator.mediaDevices.enumerateDevices();
for (const device of devices) {
if (device.kind === "videoinput")
assert_not_equals(device.label, "");
}
}, "enumerateDevices() does not filter out cameras if camera permission is granted");
</script>
</head>
<body>
</body>
</html>