46 lines
1.1 KiB
HTML
46 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<title>Badging: attempting to badge non-fully active document</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<body></body>
|
|
<script>
|
|
promise_test(async (t) => {
|
|
const iframe = document.createElement("iframe");
|
|
document.body.appendChild(iframe);
|
|
await new Promise((resolve) => {
|
|
iframe.onload = resolve;
|
|
iframe.src = "about:blank";
|
|
});
|
|
const exceptionCtor = iframe.contentWindow.DOMException;
|
|
const { navigator: nav } = iframe.contentWindow;
|
|
iframe.remove();
|
|
|
|
await promise_rejects_dom(
|
|
t,
|
|
"InvalidStateError",
|
|
exceptionCtor,
|
|
nav.setAppBadge()
|
|
);
|
|
|
|
await promise_rejects_dom(
|
|
t,
|
|
"InvalidStateError",
|
|
exceptionCtor,
|
|
nav.setAppBadge(1)
|
|
);
|
|
|
|
await promise_rejects_dom(
|
|
t,
|
|
"InvalidStateError",
|
|
exceptionCtor,
|
|
nav.setAppBadge(0)
|
|
);
|
|
|
|
await promise_rejects_dom(
|
|
t,
|
|
"InvalidStateError",
|
|
exceptionCtor,
|
|
nav.clearAppBadge()
|
|
);
|
|
}, "badging a non-fully active document should reject with InvalidStateError");
|
|
</script>
|