tor-browser

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

document-exit-fullscreen-nested.html (1732B)


      1 <!DOCTYPE html>
      2 <title>Document#exitFullscreen() for nested fullscreen</title>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script src="/resources/testdriver.js"></script>
      6 <script src="/resources/testdriver-vendor.js"></script>
      7 <script src="../trusted-click.js"></script>
      8 <div><div></div></div>
      9 <script>
     10    promise_test(async (t) => {
     11        const outer = document.querySelector("div");
     12        const inner = outer.firstChild;
     13 
     14        document.onfullscreenerror = t.unreached_func("fullscreenerror event");
     15 
     16        // First request fullscreen for the outer element.
     17        await Promise.all([
     18            fullScreenChange(),
     19            trusted_request(outer),
     20        ]);
     21 
     22        assert_equals(document.fullscreenElement, outer);
     23 
     24        // Then request fullscreen for the inner element.
     25        const p = trusted_request(inner);
     26 
     27        // Even though we are already in fullscreen, the change in
     28        // document.fullscreenElement should not happen synchronously.
     29        assert_equals(document.fullscreenElement, outer);
     30        await Promise.all([
     31            fullScreenChange(),
     32            p,
     33        ]);
     34        assert_equals(document.fullscreenElement, inner);
     35 
     36        // Now exit fullscreen.
     37        const exitP = document.exitFullscreen();
     38        // Even though we don't need to exit fullscreen, the change in
     39        // document.fullscreenElement should not happen synchronously.
     40        assert_equals(document.fullscreenElement, inner);
     41        await Promise.all([
     42            exitP,
     43            fullScreenChange(),
     44        ]);
     45        assert_equals(document.fullscreenElement, outer);
     46    }, "Exit fullscreen for nested fullscreen");
     47 </script>