test_trigger_fullscreen_by_pointer_events.html (1822B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>Test for triggering Fullscreen by pointer events</title> 6 <script src="/tests/SimpleTest/SimpleTest.js"></script> 7 <script src="/tests/SimpleTest/EventUtils.js"></script> 8 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 9 </head> 10 <body> 11 <script> 12 SimpleTest.waitForExplicitFinish(); 13 14 function startTest() { 15 let win = window.open("file_test_trigger_fullscreen.html", "_blank"); 16 win.addEventListener("load", () => { 17 let target = win.document.getElementById("target"); 18 target.addEventListener("pointerdown", () => { 19 target.requestFullscreen(); 20 target.addEventListener("pointerdown", () => { 21 win.document.exitFullscreen(); 22 }, {once: true}); 23 }, {once: true}); 24 25 win.document.addEventListener("fullscreenchange", () => { 26 if (win.document.fullscreenElement) { 27 is(win.document.fullscreenElement, target, "fullscreenElement should be the div element"); 28 // synthesize mouse events to generate pointer events and leave full screen. 29 synthesizeMouseAtCenter(target, { type: "mousedown" }, win); 30 synthesizeMouseAtCenter(target, { type: "mouseup" }, win); 31 } else { 32 win.close(); 33 SimpleTest.finish(); 34 } 35 }); 36 // Make sure our window is focused before starting the test 37 SimpleTest.waitForFocus(() => { 38 // synthesize mouse events to generate pointer events and enter full screen. 39 synthesizeMouseAtCenter(target, { type: "mousedown" }, win); 40 synthesizeMouseAtCenter(target, { type: "mouseup" }, win); 41 }, win); 42 }); 43 } 44 45 SimpleTest.waitForFocus(() => { 46 SpecialPowers.pushPrefEnv({ 47 "set": [ 48 ["full-screen-api.allow-trusted-requests-only", false] 49 ] 50 }, startTest); 51 }); 52 </script> 53 </body> 54 </html>