36 lines
1.4 KiB
HTML
36 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<title>Element#requestFullscreen() twice</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>
|
|
promise_test(async (t) => {
|
|
const div = document.querySelector("div");
|
|
await trusted_click(document.body);
|
|
const p = div.requestFullscreen();
|
|
assert_equals(
|
|
document.fullscreenElement,
|
|
null,
|
|
"fullscreenElement after first requestFullscreen()"
|
|
);
|
|
const rejectedPromises = [
|
|
promise_rejects_js(t, TypeError, div.requestFullscreen()),
|
|
promise_rejects_js(t, TypeError, div.requestFullscreen()),
|
|
];
|
|
await Promise.all([p, fullScreenChange()]);
|
|
assert_equals(
|
|
document.fullscreenElement,
|
|
div,
|
|
"fullscreenElement after entering fullscreen"
|
|
);
|
|
// Ensure that there's are not more changes fullscreenchange event.
|
|
document.onfullscreenchange = t.unreached_func(
|
|
"second fullscreenchange event"
|
|
);
|
|
await Promise.all(rejectedPromises);
|
|
await new Promise((r) => requestAnimationFrame(r));
|
|
}, "requestFullscreen() multiple times after going fullscreen");
|
|
</script>
|