tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>