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 );