file_fullscreen-sub-iframe.html (1412B)
1 <!DOCTYPE html> 2 <title>Test for Bug 1609180</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>Request Fullscreen on sub iframe</button> 9 <iframe src="dummy_page.html" allowfullscreen></iframe> 10 <script> 11 function ok(condition, msg) { 12 opener.ok(condition, "[sub-iframe] " + msg); 13 } 14 15 function is(a, b, msg) { 16 opener.is(a, b, "[sub-iframe] " + msg); 17 } 18 19 function begin() { 20 SpecialPowers.pushPrefEnv({ 21 "set":[["full-screen-api.allow-trusted-requests-only", true]] 22 }, startTest); 23 } 24 25 let doc; 26 function startTest() { 27 let button = document.querySelector("button"); 28 doc = document.querySelector("iframe").contentDocument; 29 button.addEventListener("click", () => { 30 doc.documentElement.requestFullscreen(); 31 }); 32 addFullscreenChangeContinuation("enter", enteredFullscreen, doc); 33 addFullscreenErrorContinuation(() => { 34 ok(false, "Failed to enter fullscreen"); 35 exitedFullscreen(); 36 }, doc); 37 synthesizeMouseAtCenter(button, {}); 38 } 39 40 function enteredFullscreen() { 41 is(doc.fullscreenElement, doc.documentElement, "Entered fullscreen"); 42 addFullscreenChangeContinuation("exit", exitedFullscreen, doc); 43 doc.exitFullscreen(); 44 } 45 46 function exitedFullscreen() { 47 SpecialPowers.popPrefEnv(finish); 48 } 49 50 function finish() { 51 opener.nextTest(); 52 } 53 </script>