diff options
Diffstat (limited to 'testing/web-platform/tests/fullscreen/api/element-request-fullscreen-twice.html')
-rw-r--r-- | testing/web-platform/tests/fullscreen/api/element-request-fullscreen-twice.html | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fullscreen/api/element-request-fullscreen-twice.html b/testing/web-platform/tests/fullscreen/api/element-request-fullscreen-twice.html new file mode 100644 index 0000000000..db53aec544 --- /dev/null +++ b/testing/web-platform/tests/fullscreen/api/element-request-fullscreen-twice.html @@ -0,0 +1,36 @@ +<!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> |