Name Description Size
browsing-context-helpers.sys.mjs Retrieve the addon id corresponding to a given window global. This is usually extracted from the principal, but in case we are dealing with a DevTools webextension fallback window, the addon id will be available in the URL. @param {WindowGlobalChild|WindowGlobalParent} windowGlobal The WindowGlobal from which we want to extract the addonId. Either a WindowGlobalParent or a WindowGlobalChild depending on where this helper is used from. @return {String} Returns the addon id if any could found, null otherwise. 18479
moz.build 452
ParentProcessWatcherRegistry.sys.mjs Helper module around `sharedData` object that helps storing the state of all observed Targets and Resources, that, for all DevTools connections. Here is a few words about the C++ implementation of sharedData: https://searchfox.org/mozilla-central/rev/bc3600def806859c31b2c7ac06e3d69271052a89/dom/ipc/SharedMap.h#30-55 We may have more than one DevToolsServer and one server may have more than one client. This module will be the single source of truth in the parent process, in order to know which targets/resources are currently observed. It will also be used to declare when something starts/stops being observed. `sharedData` is a platform API that helps sharing JS Objects across processes. We use it in order to communicate to the content process which targets and resources should be observed. Content processes read this data only once, as soon as they are created. It isn't used beyond this point. Content processes are not going to update it. We will notify about changes in observed targets and resources for already running processes by some other means. (Via JS Window Actor queries "DevTools:(un)watch(Resources|Target)") This means that only this module will update the "DevTools:watchedPerWatcher" value. From the parent process, we should be going through this module to fetch the data, while from the content process, we will read `sharedData` directly. 16970
session-context.js Create the SessionContext used by the Browser Toolbox and Browser Console. This context means debugging everything. The whole browser: - all processes: parent and content, - all privileges: privileged/chrome and content/web, - all components/targets: HTML documents, processes, workers, add-ons,... 8615
SessionDataHelpers.sys.mjs Helper module alongside ParentProcessWatcherRegistry, which focus on updating the "sessionData" object. This object is shared across processes and threads and have to be maintained in all these runtimes. 6990