tor-browser

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

browser_metrics_webconsole.js (2176B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 /**
      7 * This test records the number of modules loaded by DevTools, as well as the total count
      8 * of characters in those modules, when opening the webconsole. These metrics are
      9 * retrieved by perfherder via logs.
     10 */
     11 
     12 const TEST_URL =
     13  "data:text/html;charset=UTF-8,<div>Webconsole modules load test</div>";
     14 
     15 add_task(async function () {
     16  const toolbox = await openNewTabAndToolbox(TEST_URL, "webconsole");
     17  const toolboxBrowserLoader = toolbox.win.getBrowserLoaderForWindow();
     18 
     19  // Retrieve the browser loader dedicated to the WebConsole.
     20  const panel = toolbox.getCurrentPanel();
     21  const webconsoleLoader = panel._frameWindow.getBrowserLoaderForWindow();
     22 
     23  const loaders = [
     24    loader.loader,
     25    toolboxBrowserLoader.loader,
     26    webconsoleLoader.loader,
     27  ];
     28 
     29  const allowedDupes = [
     30    "@loader/unload.js",
     31    "@loader/options.js",
     32    "resource://devtools/client/webconsole/constants.js",
     33    "resource://devtools/client/webconsole/utils.js",
     34    "resource://devtools/client/webconsole/utils/messages.js",
     35    "resource://devtools/client/webconsole/utils/l10n.js",
     36    "resource://devtools/client/netmonitor/src/utils/request-utils.js",
     37    "resource://devtools/client/webconsole/types.js",
     38    "resource://devtools/client/shared/vendor/fluent-react.js",
     39    "resource://devtools/client/shared/vendor/react-redux.js",
     40    "resource://devtools/client/shared/vendor/redux.js",
     41    "resource://devtools/client/shared/redux/middleware/thunk.js",
     42    "resource://devtools/client/shared/redux/middleware/ignore.js",
     43 
     44    // React components loaded from Toolbox and Panel BrowserLoaders
     45    "resource://devtools/client/shared/components/menu/MenuButton.js",
     46    "resource://devtools/client/shared/components/menu/MenuItem.js",
     47    "resource://devtools/client/shared/components/menu/MenuList.js",
     48    "resource://devtools/client/shared/components/AppErrorBoundary.js",
     49  ];
     50  runDuplicatedModulesTest(loaders, allowedDupes);
     51 
     52  runMetricsTest({
     53    filterString: "devtools/client/webconsole",
     54    loaders,
     55    panelName: "webconsole",
     56  });
     57 });