tor-browser

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

browser_toolbox_swap_inspector.js (1456B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 // Verify that inspector does not reboot when opening and closing RDM.
      7 
      8 const TEST_URL = "http://example.com/";
      9 
     10 const checkToolbox = async function (tab, location) {
     11  const toolbox = gDevTools.getToolboxForTab(tab);
     12  ok(!!toolbox, `Toolbox exists ${location}`);
     13 };
     14 
     15 addRDMTask(
     16  "",
     17  async function () {
     18    const tab = await addTab(TEST_URL);
     19 
     20    info("Open toolbox outside RDM");
     21    {
     22      const { toolbox, inspector } = await openInspector();
     23      inspector.walker.once("new-root", () => {
     24        ok(false, "Inspector saw new root, would reboot!");
     25      });
     26      checkToolbox(tab, "outside RDM");
     27      await openRDM(tab);
     28      checkToolbox(tab, "after opening RDM");
     29      await closeRDM(tab);
     30      checkToolbox(tab, tab.linkedBrowser, "after closing RDM");
     31      await toolbox.destroy();
     32    }
     33 
     34    info("Open toolbox inside RDM");
     35    {
     36      const { ui } = await openRDM(tab);
     37      const { toolbox, inspector } = await openInspector();
     38      inspector.walker.once("new-root", () => {
     39        ok(false, "Inspector saw new root, would reboot!");
     40      });
     41      checkToolbox(tab, ui.getViewportBrowser(), "inside RDM");
     42      await closeRDM(tab);
     43      checkToolbox(tab, tab.linkedBrowser, "after closing RDM");
     44      await toolbox.destroy();
     45    }
     46 
     47    await removeTab(tab);
     48  },
     49  { onlyPrefAndTask: true }
     50 );