browser_drag_outside_palette.js (1789B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 /** 7 * Check that moving items from the toolbar or panel to the palette by 8 * dropping on the panel container (not inside the visible panel) works. 9 */ 10 add_task(async function () { 11 await startCustomizing(); 12 let panelContainer = document.getElementById("customization-panel-container"); 13 // Try dragging an item from the navbar: 14 let stopReloadButton = document.getElementById("stop-reload-button"); 15 let oldNavbarPlacements = CustomizableUI.getWidgetIdsInArea("nav-bar"); 16 simulateItemDrag(stopReloadButton, panelContainer); 17 assertAreaPlacements( 18 CustomizableUI.AREA_NAVBAR, 19 oldNavbarPlacements.filter(w => w != "stop-reload-button") 20 ); 21 ok( 22 stopReloadButton.closest("#customization-palette"), 23 "Button should be in the palette" 24 ); 25 26 // Put it in the panel and try again from there: 27 let panelHolder = document.getElementById("customization-panelHolder"); 28 simulateItemDrag(stopReloadButton, panelHolder); 29 assertAreaPlacements(CustomizableUI.AREA_FIXED_OVERFLOW_PANEL, [ 30 "stop-reload-button", 31 ]); 32 33 simulateItemDrag(stopReloadButton, panelContainer); 34 assertAreaPlacements(CustomizableUI.AREA_FIXED_OVERFLOW_PANEL, []); 35 36 ok( 37 stopReloadButton.closest("#customization-palette"), 38 "Button should be in the palette" 39 ); 40 41 // Check we can't move non-removable items like this: 42 let urlbar = document.getElementById("urlbar-container"); 43 simulateItemDrag(urlbar, panelContainer); 44 assertAreaPlacements( 45 CustomizableUI.AREA_NAVBAR, 46 oldNavbarPlacements.filter(w => w != "stop-reload-button") 47 ); 48 }); 49 50 registerCleanupFunction(async function () { 51 await gCustomizeMode.reset(); 52 await endCustomizing(); 53 });