Name Description Size
actions 3
browser-menus.js This module inject dynamically menu items into browser UI. Menu definitions are fetched from: - devtools/client/menus for top level entires - devtools/client/definitions for tool-specifics entries 8649
components 9
connect 3
devtools-browser.js This is the main module loaded in Firefox desktop that handles browser windows and coordinates devtools around each window. This module is loaded lazily by devtools-clhandler.js, once the first browser window is ready (i.e. fired browser-delayed-startup-finished event) 27846
devtools.js DevTools is a class that represents a set of developer tools, it holds a set of tools and keeps track of open toolboxes in the browser. 27774
menu-item.js A partial implementation of the MenuItem API provided by electron: Missing features: - id String - Unique within a single menu. If defined then it can be used as a reference to this item by the position attribute. - role String - Define the action of the menu item; when specified the click property will be ignored - sublabel String - accelerator Accelerator - icon NativeImage - position String - This field allows fine-grained definition of the specific location within a given menu. Implemented features: @param Object options String accelerator Text that appears beside the menu label to indicate the shortcut key (accelerator key) to use to invoke the command. Unlike the Electron API, this is a label only and does not actually register a handler for the key. String accesskey [non-standard] A single character used as the shortcut key. This should be one of the characters that appears in the label. Function click Will be called with click(menuItem, browserWindow) when the menu item is clicked String type Can be normal, separator, submenu, checkbox or radio String label Boolean enabled If false, the menu item will be greyed out and unclickable. Boolean checked Should only be specified for checkbox or radio type menu items. Menu submenu Should be specified for submenu type menu items. If submenu is specified, the type: 'submenu' can be omitted. If the value is not a Menu then it will be automatically converted to one using Menu.buildFromTemplate. Boolean visible If false, the menu item will be entirely hidden. 2699
menu.js A partial implementation of the Menu API provided by electron: Extra features: - Emits an 'open' and 'close' event when the menu is opened/closed @param String id (non standard) Needed so tests can confirm the XUL implementation is working 6171 1326
options-panel.css 2948
reducers 3
selection.js Selection is a singleton belonging to the Toolbox that manages the current selected NodeFront. In addition, it provides some helpers about the context of the selected node. API new Selection() destroy() nodeFront (readonly) setNodeFront(node, origin="unknown") Helpers: window document isRoot() isNode() isHTMLNode() Check the nature of the node: isElementNode() isAttributeNode() isTextNode() isCDATANode() isEntityRefNode() isEntityNode() isProcessingInstructionNode() isCommentNode() isDocumentNode() isDocumentTypeNode() isDocumentFragmentNode() isNotationNode() Events: "new-node-front" when the inner node changed "attribute-changed" when an attribute is changed "detached-front" when the node (or one of its parents) is removed from the document "reparented" when the node (or one of its parents) is moved under a different node 7726
sidebar.js ToolSidebar provides methods to register tabs in the sidebar. It's assumed that the sidebar contains a xul:tabbox. Typically, you'll want the tabbox parameter to be a XUL tabbox like this: <tabbox id="inspector-sidebar" handleCtrlTab="false" class="devtools-sidebar-tabs"> <tabs/> <tabpanels flex="1"/> </tabbox> The ToolSidebar API has a method to add new tabs, so the tabs and tabpanels nodes can be empty. But they can also already contain items before the ToolSidebar is created. Tabs added through the addTab method are only identified by an ID and a URL which is used as the href of an iframe node that is inserted in the newly created tabpanel. Tabs already present before the ToolSidebar is created may contain anything. However, these tabs must have ID attributes if it is required for the various methods that accept an ID as argument to work here. @param {Node} tabbox <tabbox> node; @param {ToolPanel} panel Related ToolPanel instance; @param {String} uid Unique ID @param {Object} options - hideTabstripe: Should the tabs be hidden. Defaults to false - showAllTabsMenu: Should a drop-down menu be displayed in case tabs become hidden. Defaults to false. - disableTelemetry: By default, switching tabs on and off in the sidebar will record tool usage in telemetry, pass this option to true to avoid it. Events raised: - new-tab-registered : After a tab has been added via addTab. The tab ID is passed with the event. This however, is raised before the tab iframe is fully loaded. - <tabid>-ready : After the tab iframe has been loaded - <tabid>-selected : After tab <tabid> was selected - select : Same as above, but for any tab, the ID is passed with the event - <tabid>-unselected : After tab <tabid> is unselected 18100
source-map-url-service.js A simple service to track source actors and keep a mapping between original URLs and objects holding the source or style actor's ID (which is used as a cookie by the devtools-source-map service) and the source map URL. @param {object} toolbox The toolbox. @param {SourceMapService} sourceMapService The devtools-source-map functions 13982
store-provider.js 352
store.js 476
target-from-url.js Construct a Target for a given URL object having various query parameters: - host, port & ws: See the documentation for clientFromURL - type: tab, process, window {String} The type of target to connect to. If type == "tab": - id: {Number} the tab outerWindowID - chrome: Optional {Boolean} Force the creation of a chrome target. Gives more privileges to the target actor. Allows chrome execution in the webconsole and see chrome files in the debugger. (handy when contributing to firefox) If type == "process": - id: {Number} the process id to debug. Default to 0, which is the parent process. If type == "window": - id: {Number} the window outerWindowID @param {URL} url The url to fetch query params from. @return A target object 5915
target.js Functions for creating Targets 3239
test 152
toolbox-context-menu.js Lazily load strings for the edit menu. 2961
toolbox-host-manager.js Implement a wrapper on the chrome side to setup a Toolbox within Firefox UI. This component handles iframe creation within Firefox, in which we are loading the toolbox document. Then both the chrome and the toolbox document communicate via "message" events. Messages sent by the toolbox to the chrome: - switch-host: Order to display the toolbox in another host (side, bottom, window, or the previously used one) - raise-host: Focus the tools - set-host-title: When using the window host, update the window title Messages sent by the chrome to the toolbox: - switched-host: The `switch-host` command sent by the toolbox is done 8978
toolbox-hosts.js A host should always allow this much space for the page to be displayed. There is also a min-height on the browser, but we still don't want to set frame.height to be larger than that, since it can cause problems with resizing the toolbox and panel layout. 11269
toolbox-init.js eslint-env browser 5840
toolbox-options.js Represents the Options Panel in the Toolbox. 20282
toolbox-options.xhtml Toolbox option 9057
toolbox-process-window.css 938
toolbox-process-window.html 1123
toolbox-process-window.js Shortcuts for accessing various debugger preferences. 9198
toolbox-tabs-order-manager.js Manage the order of devtools tabs. 10412
toolbox-window.xul 752
toolbox.js 125564
toolbox.xul 2364
ToolboxProcess.jsm Constructor for creating a process that will hold a chrome toolbox. @param function onClose [optional] A function called when the process stops running. @param function onRun [optional] A function called when the process starts running. 11571