37 lines
1.5 KiB
HTML
37 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<title>Element#requestFullscreen() for an element in null namespace</title>
|
|
<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>
|
|
<script src="../trusted-click.js"></script>
|
|
<div id="log"></div>
|
|
<script>
|
|
const supportedNS = [
|
|
{ ns: "http://www.w3.org/1999/xhtml", elemName: "div" },
|
|
{ ns: "http://www.w3.org/2000/svg", elemName: "svg" },
|
|
{ ns: "http://www.w3.org/1998/Math/MathML", elemName: "math" },
|
|
];
|
|
|
|
const unsupportedNS = [null, "https://unknown.namespace", ""];
|
|
|
|
for (const ns of unsupportedNS) {
|
|
promise_test(async (t) => {
|
|
const element = document.createElementNS(ns, "element");
|
|
document.body.appendChild(element);
|
|
document.onfullscreenchange = t.unreached_func(
|
|
"fullscreenchange event"
|
|
);
|
|
await promise_rejects_js(t, TypeError, trusted_request(element));
|
|
}, `requestFullscreen() fails for an element in ${ns} namespace`);
|
|
}
|
|
|
|
for (const { ns, elemName } of supportedNS) {
|
|
promise_test(async (t) => {
|
|
const element = document.createElementNS(ns, elemName);
|
|
document.body.appendChild(element);
|
|
await Promise.all([trusted_request(element), fullScreenChange()]);
|
|
await document.exitFullscreen();
|
|
}, `requestFullscreen() succeed for an element in ${ns} namespace`);
|
|
}
|
|
</script>
|