Name Description Size
.eslintrc.js Silencing the error because ... 7082
child
components.conf 1215
ConduitsChild.sys.mjs This @file implements the child side of Conduits, an abstraction over Fission IPC for extension API subject. See {@link ConduitsParent.sys.mjs} for more details about the overall design. @typedef {object} MessageData @property {ConduitID} [target] @property {ConduitID} [sender] @property {boolean} query @property {object} arg @typedef {import("ConduitsParent.sys.mjs").ConduitAddress} ConduitAddress @typedef {import("ConduitsParent.sys.mjs").ConduitID} ConduitID 6382
ConduitsParent.sys.mjs This @file implements the parent side of Conduits, an abstraction over Fission IPC for extension Contexts, API managers, Ports/Messengers, and other types of "subjects" participating in implementation of extension APIs. Additionally, knowledge about conduits from all child processes is gathered here, and used together with the full CanonicalBrowsingContext tree to route IPC messages and queries directly to the right subjects. Each Conduit is tied to one subject, attached to a ConduitAddress descriptor, and exposes an API for sending/receiving via an actor, or multiple actors in case of the parent process. @typedef {number|string} ConduitID @typedef {object} ConduitAddress @property {ConduitID} [id] Globally unique across all processes. @property {string[]} [recv] @property {string[]} [send] @property {string[]} [query] @property {string[]} [cast] @property {*} [actor] @property {boolean} [verified] @property {string} [url] @property {number} [frameId] @property {string} [workerScriptURL] @property {number} [workerDescriptorId] @property {string} [extensionId] @property {string} [envType] @property {string} [instanceId] @property {number} [portId] @property {boolean} [native] @property {boolean} [source] @property {string} [reportOnClosed] Lists of recvX, sendX, queryX and castX methods this subject will use. @typedef {"messenger"|"port"|"tab"} BroadcastKind Kinds of broadcast targeting filters. @example ```js { init(actor) { this.conduit = actor.openConduit(this, { id: this.id, recv: ["recvAddNumber"], send: ["sendNumberUpdate"], }); }, recvAddNumber({ num }, { actor, sender }) { num += 1; this.conduit.sendNumberUpdate(sender.id, { num }); } } ``` 15210
docs
DocumentObserver.h 1955
dummy.xhtml 296
ext-browser-content.js eslint-env mozilla/frame-script 8609
ext-toolkit.json 7077
Extension.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 150994
ExtensionActions.sys.mjs eslint-disable mozilla/valid-lazy 22393
ExtensionActivityLog.sys.mjs eslint-disable mozilla/valid-lazy 3451
ExtensionChild.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 31858
ExtensionChildDevToolsUtils.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 3298
ExtensionCommon.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 96882
ExtensionContent.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 51432
ExtensionDNR.sys.mjs eslint-disable mozilla/valid-lazy 91265
ExtensionDNRLimits.sys.mjs eslint-disable mozilla/valid-lazy 3206
ExtensionDNRStore.sys.mjs eslint-disable mozilla/valid-lazy 69130
ExtensionMenus.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 19640
ExtensionPageChild.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 15315
ExtensionParent.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 73837
ExtensionPermissionMessages.sys.mjs Localization object holding the fluent definitions of permission descriptions of WebExtension APIs defined in toolkit. This is exported to allow builds (e.g. Thunderbird) to extend or modify the object via its addResourceIds() method. 3961
ExtensionPermissions.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 32556
ExtensionPolicyService.cpp ExtensionPolicyService *************************************************************************** 26904
ExtensionPolicyService.h 4644
ExtensionPreferencesManager.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 23034
ExtensionProcessScript.sys.mjs eslint-disable mozilla/valid-lazy 16825
extensionProcessScriptLoader.js eslint-env mozilla/process-script 351
extensions-toolkit.manifest 835
ExtensionsChild.cpp static 2132
ExtensionsChild.h 984
ExtensionScriptingStore.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 11579
ExtensionSettingsStore.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 22198
ExtensionShortcuts.sys.mjs eslint-disable mozilla/valid-lazy 16345
ExtensionsParent.cpp 4159
ExtensionsParent.h 2006
ExtensionStorage.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 19143
ExtensionStorageIDB.sys.mjs @type {Lazy} 28749
ExtensionStorageSync.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 4783
ExtensionStorageSyncKinto.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 45278
ExtensionTaskScheduler.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 10154
ExtensionTelemetry.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 10408
ExtensionTestCommon.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 27474
ExtensionUserScripts.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 23581
ExtensionUserScriptsContent.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 9703
ExtensionUtils.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 9903
ExtensionWorkerChild.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 25962
ExtensionXPCShellUtils.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 20770
extIWebNavigation.idl 1230
FindContent.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 7701
jar.mn 4164
MatchGlob.h 3753
MatchPattern.cpp AtomSet *************************************************************************** 24400
MatchPattern.h 11966
MatchURLFilters.sys.mjs 5207
MessageChannel.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 36993
MessageManagerProxy.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 6360
metrics.yaml 40242
moz.build 4491
mozIExtensionAPIRequestHandling.idl 7614
mozIExtensionProcessScript.idl 736
NativeManifests.sys.mjs -*- mode: js; indent-tabs-mode: nil; js-indent-level: 2 -*- 6633
NativeMessaging.sys.mjs -*- mode: js; indent-tabs-mode: nil; js-indent-level: 2 -*- 15194
NativeMessagingPortal.cpp static 27711
NativeMessagingPortal.h 2921
nsINativeMessagingPortal.idl An interface to talk to the WebExtensions XDG desktop portal, for sandboxed browsers (e.g. packaged as a snap or a flatpak). See https://github.com/flatpak/xdg-desktop-portal/issues/655. 3357
parent
PExtensions.ipdl A generic protocol used by the extension framework for process-level IPC. A child instance is created at startup in the parent process and each content child process, which can be accessed via `mozilla::extensions::ExtensionsChild::Get()`. 1986
ProxyChannelFilter.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 12361
schemas
Schemas.sys.mjs -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- 118161
storage
test
tsconfig.json 282
types
WebExtensionContentScript.h 7581
WebExtensionPolicy.cpp 43036
WebExtensionPolicy.h 13227
webidl-api
WebNavigation.sys.mjs eslint-disable mozilla/valid-lazy 12342
WebNavigationFrames.sys.mjs The FrameDetail object which represents a frame in WebExtensions APIs. @typedef {object} FrameDetail @inner @property {number} frameId - Represents the numeric id which identify the frame in its tab. @property {number} parentFrameId - Represents the numeric id which identify the parent frame. @property {string} url - Represents the current location URL loaded in the frame. @property {boolean} errorOccurred - Indicates whether an error is occurred during the last load happened on this frame (NOT YET SUPPORTED). 2624
webrequest