tor-browser

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

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>