file_fullscreen-async.html (1275B)
1 <!DOCTYPE html> 2 <title>Test for Bug 1129227</title> 3 <script src="/tests/SimpleTest/SimpleTest.js"></script> 4 <script src="/tests/SimpleTest/EventUtils.js"></script> 5 <script src="file_fullscreen-utils.js"></script> 6 <style> 7 </style> 8 <button>Async Request Fullscreen</button> 9 <script> 10 function ok(condition, msg) { 11 opener.ok(condition, "[async] " + msg); 12 } 13 14 function is(a, b, msg) { 15 opener.is(a, b, "[async] " + msg); 16 } 17 18 function begin() { 19 SpecialPowers.pushPrefEnv({ 20 "set":[["full-screen-api.allow-trusted-requests-only", true]] 21 }, startTest); 22 } 23 24 function startTest() { 25 let button = document.querySelector("button"); 26 button.addEventListener("click", () => { 27 setTimeout(() => document.body.requestFullscreen(), 0); 28 }); 29 addFullscreenChangeContinuation("enter", enteredFullscreen); 30 addFullscreenErrorContinuation(() => { 31 ok(false, "Failed to enter fullscreen"); 32 exitedFullscreen(); 33 }); 34 synthesizeMouseAtCenter(button, {}); 35 } 36 37 function enteredFullscreen() { 38 is(document.fullscreenElement, document.body, "Entered fullscreen"); 39 addFullscreenChangeContinuation("exit", exitedFullscreen); 40 document.exitFullscreen(); 41 } 42 43 function exitedFullscreen() { 44 SpecialPowers.popPrefEnv(finish); 45 } 46 47 function finish() { 48 opener.nextTest(); 49 } 50 </script>