diff options
Diffstat (limited to 'devtools/client/responsive/test/browser/browser_toolbox_swap_inspector.js')
-rw-r--r-- | devtools/client/responsive/test/browser/browser_toolbox_swap_inspector.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/devtools/client/responsive/test/browser/browser_toolbox_swap_inspector.js b/devtools/client/responsive/test/browser/browser_toolbox_swap_inspector.js new file mode 100644 index 0000000000..a5262eeec5 --- /dev/null +++ b/devtools/client/responsive/test/browser/browser_toolbox_swap_inspector.js @@ -0,0 +1,50 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Verify that inspector does not reboot when opening and closing RDM. + +const TEST_URL = "http://example.com/"; + +const checkToolbox = async function (tab, location) { + const toolbox = gDevTools.getToolboxForTab(tab); + ok(!!toolbox, `Toolbox exists ${location}`); +}; + +addRDMTask( + "", + async function () { + const tab = await addTab(TEST_URL); + + info("Open toolbox outside RDM"); + { + const { toolbox, inspector } = await openInspector(); + inspector.walker.once("new-root", () => { + ok(false, "Inspector saw new root, would reboot!"); + }); + checkToolbox(tab, "outside RDM"); + await openRDM(tab); + checkToolbox(tab, "after opening RDM"); + await closeRDM(tab); + checkToolbox(tab, tab.linkedBrowser, "after closing RDM"); + await toolbox.destroy(); + } + + info("Open toolbox inside RDM"); + { + const { ui } = await openRDM(tab); + const { toolbox, inspector } = await openInspector(); + inspector.walker.once("new-root", () => { + ok(false, "Inspector saw new root, would reboot!"); + }); + checkToolbox(tab, ui.getViewportBrowser(), "inside RDM"); + await closeRDM(tab); + checkToolbox(tab, tab.linkedBrowser, "after closing RDM"); + await toolbox.destroy(); + } + + await removeTab(tab); + }, + { onlyPrefAndTask: true } +); |