browser_popup_linux_move.js (1631B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 function createLinuxMoveTests(aFirstValue, aSecondValue, aMsg) { 5 for (let prop of ["screenX", "screenY"]) { 6 let first = {}; 7 first[prop] = aFirstValue; 8 let second = {}; 9 second[prop] = aSecondValue; 10 new ResizeMoveTest( 11 [first, second], 12 /* aInstant */ true, 13 `${aMsg} ${prop},${prop}` 14 ); 15 new ResizeMoveTest( 16 [first, second], 17 /* aInstant */ false, 18 `${aMsg} ${prop},${prop}` 19 ); 20 } 21 } 22 23 if (AppConstants.platform == "linux" && gfxInfo.windowProtocol == "wayland") { 24 add_task(async () => { 25 let tab = await ResizeMoveTest.GetOrCreateTab(); 26 let browsingContext = 27 await ResizeMoveTest.GetOrCreatePopupBrowsingContext(); 28 let win = browsingContext.topChromeWindow; 29 let targetX = win.screenX + 10; 30 win.moveTo(targetX, win.screenY); 31 await BrowserTestUtils.waitForCondition(() => win.screenX == targetX).catch( 32 () => {} 33 ); 34 todo(win.screenX == targetX, "Moving windows on wayland."); 35 win.close(); 36 await BrowserTestUtils.removeTab(tab); 37 }); 38 } else { 39 createLinuxMoveTests(9, 10, "Move"); 40 createLinuxMoveTests(10, 0, "Move revert"); 41 createLinuxMoveTests(10, 10, "Move repeat"); 42 43 new ResizeMoveTest( 44 [{ screenX: 10 }, { screenY: 10 }, { screenX: 20 }], 45 /* aInstant */ true, 46 "Move sequence", 47 /* aWaitForCompletion */ true 48 ); 49 50 new ResizeMoveTest( 51 [{ screenX: 10 }, { screenY: 10 }, { screenX: 20 }], 52 /* aInstant */ false, 53 "Move sequence", 54 /* aWaitForCompletion */ true 55 ); 56 }