Name Description Size
accessibility.js Mapping of text size to contrast ratio score levels 6124
async-storage.js Adapted from (converted to use Promises instead of callbacks). This file defines an asynchronous version of the localStorage API, backed by an IndexedDB database. It creates a global asyncStorage object that has methods like the localStorage object. To store a value use setItem: asyncStorage.setItem("key", "value"); This returns a promise in case you want confirmation that the value has been stored. asyncStorage.setItem("key", "newvalue").then(function() { console.log("new value stored"); }); To read a value, call getItem(), but note that you must wait for a promise resolution for the value to be retrieved. asyncStorage.getItem("key").then(function(value) { console.log("The value of key is:", value); }); Note that unlike localStorage, asyncStorage does not allow you to store and retrieve values by setting and querying properties directly. You cannot just write asyncStorage.key; you have to explicitly call setItem() or getItem(). removeItem(), clear(), length(), and key() are like the same-named methods of localStorage, and all return a promise. The asynchronous nature of getItem() makes it tricky to retrieve multiple values. But unlike localStorage, asyncStorage does not require the values you store to be strings. So if you need to save multiple values and want to retrieve them together, in a single asynchronous operation, just group the values into a single object. The properties of this object may not include DOM elements, but they may include things like Blobs and typed arrays. 6432
async-utils.js Helpers for async functions. An async function returns a Promise for the resolution of the function. When the function returns, the promise is resolved with the returned value. If it throws the promise rejects with the thrown error. 2227
base-loader.js exported Loader, resolveURI, Module, Require, unload 17875
builtin-modules.js This module defines custom globals injected in all our modules and also pseudo modules that aren't separate files but just dynamically set values. As it does so, the module itself doesn't have access to these globals, nor the pseudo modules. Be careful to avoid loading any other js module as they would also miss them. 8898
commands # Commands 11
compatibility # Compatibility Dataset 6
constants.js Constants used in various panels, shared between client and the server. 4792
content-observer.js Handles adding an observer for the creation of content document globals, event sent immediately after a web content document window has been set up, but before any script code has been executed. 2229
css 8
debounce.js Create a debouncing function wrapper to only call the target function after a certain amount of time has passed without it being called. @param {Function} func The function to debounce @param {number} wait The wait period @param {Object} scope The scope to use for func @return {Function} The debounced function, which has a `cancel` method that the consumer can call to cancel any pending setTimeout callback. 1218
defer.js Create a Promise and return it in an object with its resolve and reject functions. This is useful when you need to settle a promise in a different location than where it is created. @returns {Object} An object with the following properties: - {Promise} promise: The created DOM promise - {Function} resolve: The resolve parameter of `promise` - {Function} reject: The reject parameter of `promise` 855
DevToolsUtils.js globals setImmediate, rpc 30420
discovery 3
dom-helpers.js A simple way to be notified (once) when a window becomes interactive (DOMContentLoaded). It is based on the chromeEventHandler. This is useful when chrome iframes are loaded in content docshells (in Firefox tabs for example). @param nsIDOMWindow win The content window, owning the document to traverse. @param Function callback The method to call when the frame is loaded. @param String targetURL (optional) Check that the frame URL corresponds to the provided URL before calling the callback. 1903
dom-node-constants.js 783
dom-node-filter-constants.js 708
event-emitter.js Registers an event `listener` that is called every time events of specified `type` is emitted on the given event `target`. @param {Object} target Event target object. @param {String} type The type of event. @param {Function|Object} listener The listener that processes the event. @returns {Function} A function that removes the listener when called. 13426
extend.js Utility function, that is useful for creating objects that inherit from other objects, without associated classes. Replacement for `extends` API from "sdk/core/heritage". 547
flags.js This module controls various global flags that can be toggled on and off. These flags are generally used to change the behavior of the code during testing. They are tracked by preferences so that they are propagated between the parent and content processes. The flags are exposed via a module as a conveniene and to stop from littering preference names throughout the code ase. Each of the flags is documented where it is defined. 2641
generate-uuid.js Returns a new `uuid`. 430
heapsnapshot 30
indentation.js Get the number of indentation units to use to indent a "block" and a boolean indicating whether indentation must be done using tabs. @return {Object} an object of the form {indentUnit, indentWithTabs}. |indentUnit| is the number of indentation units to use to indent a "block". |indentWithTabs| is a boolean which is true if indentation should be done using tabs. 5259
indexed-db.js This indexedDB helper is a simplified version of sdk/indexed-db. It creates a DB with a principal dedicated to DevTools. 1503
inspector 3 919
jsbeautify 4
l10n.js Memoized getter for properties files that ensures a given url is only required and parsed once. @param {String} url The URL of the properties file to parse. @return {Object} parsed properties mapped in an object. 8595
layout 3
loader-plugin-raw.jsm A function that can be used as part of a require hook for a loader.js Loader. This function handles "raw!" and "theme-loader!" requires. See also: 1390
Loader.jsm Manages the base loader (base-loader.js) instance used to load the developer tools. 7138
locales 4 1778
natural-sort.js Sort numbers, strings, IP Addresses, Dates, Filenames, version numbers etc. "the way humans do." This function should only be called via naturalSortCaseSensitive and naturalSortCaseInsensitive. e.g. [3, 2, 1, 10].sort(naturalSort) @param {Object} a Passed in by Array.sort(a, b) @param {Object} b Passed in by Array.sort(a, b) @param {Boolean} insensitive Should the search be case insensitive? 3695
node-properties 3
path.js Join all the arguments together and normalize the resulting URI. The initial path must be an full URI with a protocol (i.e. http://). 616
performance 4
performance-new 3
picker-constants.js Types of content pickers that can be triggered from DevTools. Used for instance by RDM to keep track of which picker is currently enabled. 446
platform 4
plural-form.js The code below is mostly is a slight modification of intl/locale/PluralForm.jsm that removes dependencies on chrome privileged APIs. To make maintenance easier, this file is kept as close as possible to the original in terms of implementation. The modified methods here are - makeGetter (remove code adding the caller name to the log) - get ruleNum() (rely on LocalizationHelper instead of - log() (rely on console.log) Disable eslint warnings to preserve original code style. 7030
protocol 12
protocol.js 1262
qrcode 5
security 7
specs 60
sprintfjs 3
storage 3
system.js Information from nsIXULAppInfo, regarding the application itself. 5680
test-helpers 4
tests 3
ThreadSafeDevToolsUtils.js General utilities used throughout devtools that can also be used in workers. 9800
throttle.js 1539
transport 10
wasm-source-map.js SourceMapConsumer for WebAssembly source maps. It transposes columns with lines, which allows mapping data to be used with SpiderMonkey Debugger API. 2659
webconsole 8
webextension-fallback.html 295
worker 5
.eslintrc.js 439