diff options
Diffstat (limited to 'dom/base/test/fullscreen/file_fullscreen-async.html')
-rw-r--r-- | dom/base/test/fullscreen/file_fullscreen-async.html | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/dom/base/test/fullscreen/file_fullscreen-async.html b/dom/base/test/fullscreen/file_fullscreen-async.html new file mode 100644 index 0000000000..e9b4147124 --- /dev/null +++ b/dom/base/test/fullscreen/file_fullscreen-async.html @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<title>Test for Bug 1129227</title> +<script src="/tests/SimpleTest/SimpleTest.js"></script> +<script src="/tests/SimpleTest/EventUtils.js"></script> +<script src="file_fullscreen-utils.js"></script> +<style> +</style> +<button>Async Request Fullscreen</button> +<script> +function ok(condition, msg) { + opener.ok(condition, "[async] " + msg); +} + +function is(a, b, msg) { + opener.is(a, b, "[async] " + msg); +} + +function begin() { + SpecialPowers.pushPrefEnv({ + "set":[["full-screen-api.allow-trusted-requests-only", true]] + }, startTest); +} + +function startTest() { + let button = document.querySelector("button"); + button.addEventListener("click", () => { + setTimeout(() => document.body.requestFullscreen(), 0); + }); + addFullscreenChangeContinuation("enter", enteredFullscreen); + addFullscreenErrorContinuation(() => { + ok(false, "Failed to enter fullscreen"); + exitedFullscreen(); + }); + synthesizeMouseAtCenter(button, {}); +} + +function enteredFullscreen() { + is(document.fullscreenElement, document.body, "Entered fullscreen"); + addFullscreenChangeContinuation("exit", exitedFullscreen); + document.exitFullscreen(); +} + +function exitedFullscreen() { + SpecialPowers.popPrefEnv(finish); +} + +function finish() { + opener.nextTest(); +} +</script> |