element-request-fullscreen-screen-size.https.html (2802B)
1 <!DOCTYPE html> 2 <title> 3 Element#requestFullscreen() does not affect Screen sizes 4 </title> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="/resources/testdriver.js"></script> 8 <script src="/resources/testdriver-vendor.js"></script> 9 <script src="../trusted-click.js"></script> 10 <body></body> 11 <script> 12 promise_test(async (t) => { 13 const screenWidth = window.screen.width; 14 const screenHeight = window.screen.height; 15 16 if ('onchange' in window.screen) { 17 window.screen.onchange = () => { 18 assert_equals(window.screen.width, screenWidth); 19 assert_equals(window.screen.height, screenHeight); 20 } 21 t.add_cleanup(() => { window.screen.onchange = null; }); 22 } 23 24 // Await a test_driver or manual click, fullscreen promise, and change. 25 await Promise.all([trusted_request(), fullScreenChange()]); 26 t.add_cleanup(() => { document.exitFullscreen(); }); 27 assert_not_equals(document.fullscreenElement, null); 28 29 // Ensure the screen size is unchanged during fullscreen. 30 assert_equals(window.screen.width, screenWidth); 31 assert_equals(window.screen.height, screenHeight); 32 }, "Screen size is unchanged during element fullscreen"); 33 34 promise_test(async (t) => { 35 const screenWidth = window.screen.width; 36 const screenHeight = window.screen.height; 37 38 if ('onchange' in window.screen) { 39 window.screen.onchange = () => { 40 assert_equals(window.screen.width, screenWidth); 41 assert_equals(window.screen.height, screenHeight); 42 } 43 t.add_cleanup(() => { window.screen.onchange = null; }); 44 } 45 46 // Await a test_driver or manual click to start tab content capture. 47 await trusted_click(); 48 const stream = await navigator.mediaDevices.getDisplayMedia( 49 {video:{displaySurface:"browser"}, selfBrowserSurface:"include"}); 50 const capabilities = stream.getVideoTracks()[0].getCapabilities(); 51 assert_equals(capabilities.displaySurface, "browser"); 52 t.add_cleanup(() => { stream.getTracks().forEach(t => t.stop()) }); 53 54 // Await a test_driver or manual click, fullscreen promise, and change. 55 await Promise.all([trusted_request(), fullScreenChange()]); 56 t.add_cleanup(() => { document.exitFullscreen(); }); 57 assert_not_equals(document.fullscreenElement, null); 58 59 // Ensure the screen size is unchanged during tab-capture fullscreen. 60 assert_equals(window.screen.width, screenWidth); 61 assert_equals(window.screen.height, screenHeight); 62 }, "Screen size is unchanged during tab-capture element fullscreen"); 63 </script>