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>