Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /permissions/crashtests/permissions-query.any.html - WPT Dashboard Interop Dashboard
- /permissions/crashtests/permissions-query.any.serviceworker.html - WPT Dashboard Interop Dashboard
- /permissions/crashtests/permissions-query.any.sharedworker.html - WPT Dashboard Interop Dashboard
- /permissions/crashtests/permissions-query.any.worker.html - WPT Dashboard Interop Dashboard
// META: global=window,worker
const permissionNames = [
// Powerful features in https://w3c.github.io/permissions/#registry-table-of-standardized-permissions
"geolocation",
"notifications",
"push",
"accelerometer",
"background-fetch",
"camera",
"display-capture",
"gyroscope",
"local-network",
"loopback-network",
"magnetometer",
"microphone",
"midi",
"nfc",
"persistent-storage",
"screen-wake-lock",
"speaker-selection",
"storage-access",
];
for (const permissionName of permissionNames) {
promise_test(async () => {
try {
await navigator.permissions.query({ name: permissionName });
} catch (e) {
assert_equals(e.name, "TypeError", `${permissionName} can throw a TypeError if unsupported`);
}
}, `${permissionName} should be queried without crash`);
}