tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 }