Files
sousa-gecko/testing/web-platform/tests/permissions/revocation.https.html
T
Marcos Cáceres 3b3cdd64b5 Bug 1949610 [wpt PR 50850] - Permissions: add missing tests, a=testonly
Automatic update from web-platform-tests
Permissions: add missing tests (#50850)

* Permissions: add missing tests
Add tests for edge cases, event model, revocation, and worker permissions.

* Remove timeouts

* review 1

* round 2
--

wpt-commits: d01af4e7944f63a9002e6dc26ed5af28a4282dcc
wpt-pr: 50850
2025-06-30 09:18:54 +00:00

60 lines
2.0 KiB
HTML

<!DOCTYPE html>
<meta charset="utf-8" />
<title>Permissions API - Revocation Tests</title>
<link rel="help" href="https://www.w3.org/TR/permissions/" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<body>
<script>
promise_test(async (t) => {
await test_driver.set_permission(
{ name: "geolocation" },
"granted"
);
const status = await navigator.permissions.query({
name: "geolocation",
});
assert_equals(
status.state,
"granted",
'Initial state is "granted"'
);
const p = new Promise((resolve) => {
status.addEventListener("change", resolve, { once: true });
});
await test_driver.set_permission({ name: "geolocation" }, "prompt");
await p;
assert_equals(status.state, "prompt", 'Now in "prompt" state');
}, 'Transition "granted" -> "prompt" fires a "change" event');
promise_test(async (t) => {
await test_driver.set_permission(
{ name: "geolocation" },
"granted"
);
const status = await navigator.permissions.query({
name: "geolocation",
});
assert_equals(
status.state,
"granted",
'Initial state is "granted"'
);
const p = new Promise((resolve) => {
status.addEventListener("change", resolve, { once: true });
});
await test_driver.set_permission({ name: "geolocation" }, "denied");
await p;
assert_equals(status.state, "denied", 'Now in "denied" state');
}, 'Transition "granted" -> "denied" fires a "change" event');
</script>
</body>