diff --git a/devtools/client/framework/test/metrics/browser_metrics_debugger.js b/devtools/client/framework/test/metrics/browser_metrics_debugger.js index 63910d3a0957..4ca24a0bbb79 100644 --- a/devtools/client/framework/test/metrics/browser_metrics_debugger.js +++ b/devtools/client/framework/test/metrics/browser_metrics_debugger.js @@ -14,11 +14,17 @@ const TEST_URL = add_task(async function() { const toolbox = await openNewTabAndToolbox(TEST_URL, "jsdebugger"); - const panel = toolbox.getCurrentPanel(); + const toolboxBrowserLoader = toolbox.win.getBrowserLoaderForWindow(); // Retrieve the browser loader dedicated to the Debugger. + const panel = toolbox.getCurrentPanel(); const debuggerLoader = panel.panelWin.getBrowserLoaderForWindow(); - const loaders = [loader.loader, debuggerLoader.loader]; + + const loaders = [ + loader.loader, + toolboxBrowserLoader.loader, + debuggerLoader.loader, + ]; const whitelist = [ "@loader/unload.js", @@ -33,6 +39,7 @@ add_task(async function() { "resource://devtools/client/shared/vendor/react-redux.js", "resource://devtools/client/shared/vendor/redux.js", "resource://devtools/client/debugger/src/workers/parser/index.js", + "resource://devtools/client/shared/source-map/index.js", ]; runDuplicatedModulesTest(loaders, whitelist); diff --git a/devtools/client/framework/test/metrics/browser_metrics_inspector.js b/devtools/client/framework/test/metrics/browser_metrics_inspector.js index 7c976bc8ccc2..7d50e4e6c7b7 100644 --- a/devtools/client/framework/test/metrics/browser_metrics_inspector.js +++ b/devtools/client/framework/test/metrics/browser_metrics_inspector.js @@ -13,14 +13,30 @@ const TEST_URL = "data:text/html;charset=UTF-8,
Inspector modules load test
"; add_task(async function() { - await openNewTabAndToolbox(TEST_URL, "inspector"); + const toolbox = await openNewTabAndToolbox(TEST_URL, "inspector"); + const toolboxBrowserLoader = toolbox.win.getBrowserLoaderForWindow(); - // The inspector does not use a dedicated browser loader. - const loaders = [loader.loader]; + // Most panels involve three loaders: + // - the global devtools loader + // - the browser loader used by the toolbox + // - a specific browser loader created for the panel + // But the inspector is a specific case, because it reuses the BrowserLoader + // of the toolbox to load its react components. This is why we only list + // two loaders here. + const loaders = [loader.loader, toolboxBrowserLoader.loader]; - // Duplicated modules whitelist for the inspector is empty because the - // inspector is only using the DevTools loader. - runDuplicatedModulesTest(loaders, []); + runDuplicatedModulesTest(loaders, [ + "@loader/unload.js", + "@loader/options.js", + "chrome.js", + "resource://devtools/client/shared/vendor/react.js", + "resource://devtools/client/shared/vendor/react-dom-factories.js", + "resource://devtools/client/shared/vendor/react-prop-types.js", + "resource://devtools/client/shared/vendor/react-redux.js", + "resource://devtools/client/shared/vendor/redux.js", + "resource://devtools/client/inspector/flexbox/actions/index.js", + "resource://devtools/client/inspector/grids/actions/index.js", + ]); runMetricsTest({ filterString: "devtools/client/inspector", diff --git a/devtools/client/framework/test/metrics/browser_metrics_netmonitor.js b/devtools/client/framework/test/metrics/browser_metrics_netmonitor.js index e83d584e94a5..e4f6008af94a 100644 --- a/devtools/client/framework/test/metrics/browser_metrics_netmonitor.js +++ b/devtools/client/framework/test/metrics/browser_metrics_netmonitor.js @@ -14,11 +14,17 @@ const TEST_URL = add_task(async function() { const toolbox = await openNewTabAndToolbox(TEST_URL, "netmonitor"); - const panel = toolbox.getCurrentPanel(); + const toolboxBrowserLoader = toolbox.win.getBrowserLoaderForWindow(); // Retrieve the browser loader dedicated to the Netmonitor. + const panel = toolbox.getCurrentPanel(); const netmonitorLoader = panel.panelWin.getBrowserLoaderForWindow(); - const loaders = [loader.loader, netmonitorLoader.loader]; + + const loaders = [ + loader.loader, + toolboxBrowserLoader.loader, + netmonitorLoader.loader, + ]; // Uncomment after Bug 1581068 is fixed, otherwise the test might fail too // frequently. diff --git a/devtools/client/framework/test/metrics/browser_metrics_webconsole.js b/devtools/client/framework/test/metrics/browser_metrics_webconsole.js index 5d4744863c67..e313396cf77f 100644 --- a/devtools/client/framework/test/metrics/browser_metrics_webconsole.js +++ b/devtools/client/framework/test/metrics/browser_metrics_webconsole.js @@ -14,11 +14,17 @@ const TEST_URL = add_task(async function() { const toolbox = await openNewTabAndToolbox(TEST_URL, "webconsole"); - const panel = toolbox.getCurrentPanel(); + const toolboxBrowserLoader = toolbox.win.getBrowserLoaderForWindow(); // Retrieve the browser loader dedicated to the WebConsole. + const panel = toolbox.getCurrentPanel(); const webconsoleLoader = panel._frameWindow.getBrowserLoaderForWindow(); - const loaders = [loader.loader, webconsoleLoader.loader]; + + const loaders = [ + loader.loader, + toolboxBrowserLoader.loader, + webconsoleLoader.loader, + ]; const whitelist = [ "@loader/unload.js", @@ -30,6 +36,10 @@ add_task(async function() { "resource://devtools/client/webconsole/utils/l10n.js", "resource://devtools/client/netmonitor/src/utils/request-utils.js", "resource://devtools/client/webconsole/types.js", + "resource://devtools/client/shared/vendor/react.js", + "resource://devtools/client/shared/vendor/react-dom.js", + "resource://devtools/client/shared/vendor/react-prop-types.js", + "resource://devtools/client/shared/vendor/react-dom-factories.js", ]; runDuplicatedModulesTest(loaders, whitelist);