tor-browser

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

multi-screen-window-open.tentative.https.html (1519B)


      1 <!DOCTYPE html>
      2 <meta name="timeout" content="long">
      3 <!-- user agents are not required to support open features other than `noopener`
      4     and on some platforms position and size features don't make sense -->
      5 <meta name="flags" content="may">
      6 <title>Window Management test: target-screen window.open()</title>
      7 <link rel="help" href="https://w3c.github.io/window-management/">
      8 Tests use of multi-screen details to open a popup window on each screen.<br>
      9 The host device must have 2+ screens to yield meaningful results.<br><br>
     10 <button id="closeButton" onclick="closePopups">Close popups</button><br>
     11 <input id="autoClose" type="checkbox" checked=true>Auto-close popups</input>
     12 <ul id="list"></ul>
     13 <script src="/resources/testharness.js"></script>
     14 <script src="/resources/testharnessreport.js"></script>
     15 <script src="/resources/testdriver.js"></script>
     16 <script src="/resources/testdriver-vendor.js"></script>
     17 <script src="resources/helpers.js"></script>
     18 <script>
     19 'use strict';
     20 
     21 let popups = [];
     22 function closePopups() {
     23  popups.forEach(p => p.close());
     24  popups = [];
     25 }
     26 
     27 promise_test(async setUpTest => {
     28  await setUpWindowManagement(setUpTest);
     29  for (const s of window.screenDetails.screens) {
     30    const name = `Open a popup on '${s.label}'`;
     31    await promise_test(async test => {
     32      await buttonClick(test, name);
     33      popups.push(await openPopupOnScreen(s));
     34      if (autoClose.checked)
     35        closePopups();
     36    }, name);
     37  }
     38 }, 'Use multi-screen details to open a popup window on each screen');
     39 </script>