browser_sizemodeBeforeMinimized.js (1362B)
1 add_task(async function test() { 2 // Test for bugfix 384278. Confirms that sizemodeBeforeMinimized is set properly when window state is saved. 3 let win = await BrowserTestUtils.openNewBrowserWindow(); 4 5 async function changeSizeMode(mode) { 6 let promise = BrowserTestUtils.waitForEvent(win, "sizemodechange"); 7 win[mode](); 8 await promise; 9 } 10 11 function checkCurrentState(sizemodeBeforeMinimized) { 12 let state = ss.getWindowState(win); 13 let winState = state.windows[0]; 14 is( 15 winState.sizemodeBeforeMinimized, 16 sizemodeBeforeMinimized, 17 "sizemodeBeforeMinimized should match" 18 ); 19 } 20 21 // Note: Uses ss.getWindowState(win); as a more time efficient alternative to forceSaveState(); (causing timeouts). 22 // Simulates FF restart. 23 24 if (win.windowState != win.STATE_NORMAL) { 25 await changeSizeMode("restore"); 26 } 27 ss.getWindowState(win); 28 await changeSizeMode("minimize"); 29 checkCurrentState("normal"); 30 31 // Need to create new window or test will timeout on linux. 32 await BrowserTestUtils.closeWindow(win); 33 win = await BrowserTestUtils.openNewBrowserWindow(); 34 35 if (win.windowState != win.STATE_MAXIMIZED) { 36 await changeSizeMode("maximize"); 37 } 38 ss.getWindowState(win); 39 await changeSizeMode("minimize"); 40 checkCurrentState("maximized"); 41 42 // Clean up. 43 await BrowserTestUtils.closeWindow(win); 44 });