blob: 9fd00114bdfdb49fe293c265ee6baf497b464d7f [file] [log] [blame] [edit]
<!DOCTYPE html>
<meta charset=utf-8>
<link rel="help" href="https://github.com/WICG/PEPC/blob/main/explainer.md#locking-the-pepc-style">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-actions.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<body>
<permission id="permission_element" type="camera"></permission>
<script>
promise_test(async() => {
// Set the initial camera state to denied.
await test_driver.set_permission({name: "camera"}, "denied");
await navigator.permissions.query({name: "camera"});
assert_false(permission_element.matches(":granted"));
// Set the camera state to allowed.
await test_driver.set_permission({name: "camera"}, "granted");
await navigator.permissions.query({name: "camera"});
// The granted selector should now be applied.
assert_true(permission_element.matches(":granted"));
// Set the camera state to denied.
await test_driver.set_permission({name: "camera"}, "denied");
await navigator.permissions.query({name: "camera"});
// The granted selector should now be removed.
assert_false(permission_element.matches(":granted"));
}, "Permission element should not have the granted selector when the \
permission is not granted.")
</script>