browser_aboutdebugging_devtoolstoolbox_reload.js (2185B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 // Test can run for a long time on debug platforms. 7 requestLongerTimeout(5); 8 9 /* import-globals-from helper-collapsibilities.js */ 10 Services.scriptloader.loadSubScript( 11 CHROME_URL_ROOT + "helper-collapsibilities.js", 12 this 13 ); 14 15 const TOOLS = [ 16 "inspector", 17 "webconsole", 18 "jsdebugger", 19 "styleeditor", 20 "memory", 21 "netmonitor", 22 "storage", 23 "accessibility", 24 ]; 25 26 /** 27 * Test whether about:devtools-toolbox display correctly after reloading. 28 */ 29 add_task(async function () { 30 info("Force all debug target panes to be expanded"); 31 prepareCollapsibilitiesTest(); 32 33 for (const toolId of TOOLS) { 34 await testReloadAboutDevToolsToolbox(toolId); 35 } 36 }); 37 38 async function testReloadAboutDevToolsToolbox(toolId) { 39 const { document, tab, window } = await openAboutDebugging(); 40 await selectThisFirefoxPage(document, window.AboutDebugging.store); 41 // We set the options panel to be the default one because slower panels might lead to 42 // race conditions which create leaks in debug mode. 43 await pushPref("devtools.toolbox.selectedTool", "options"); 44 const { devtoolsBrowser, devtoolsTab, devtoolsWindow } = 45 await openAboutDevtoolsToolbox(document, tab, window); 46 47 info(`Select tool: ${toolId}`); 48 const toolbox = getToolbox(devtoolsWindow); 49 await toolbox.selectTool(toolId); 50 51 info("Wait for requests to settle before reloading"); 52 await toolbox.commands.client.waitForRequestsToSettle(); 53 54 info("Reload about:devtools-toolbox page"); 55 devtoolsBrowser.reload(); 56 await gDevTools.once("toolbox-ready"); 57 ok(true, "Toolbox is re-created again"); 58 59 // Check that about:devtools-toolbox is still selected tab. See Bug 1570692. 60 is( 61 devtoolsBrowser, 62 gBrowser.selectedBrowser, 63 "about:devtools-toolbox is still selected" 64 ); 65 66 info("Check whether about:devtools-toolbox page displays correctly"); 67 ok( 68 devtoolsBrowser.contentDocument.querySelector(".debug-target-info"), 69 "about:devtools-toolbox page displays correctly" 70 ); 71 72 await closeAboutDevtoolsToolbox(document, devtoolsTab, window); 73 await removeTab(tab); 74 }