scripting.compose API

Permissions

sensitiveDataUpload

Transfer sensitive user data (if access has been granted) to a remote server for further processing

Note

The permission compose is required to use messenger.scripting.compose.*.

Functions

getRegisteredScripts([filter])

Returns all registered compose scripts for this extension that match the given filter.

Parameters

[filter]

(ComposeScriptFilter, optional)

An object to filter the extension’s registered compose scripts.

Return type (Promise)

Required permissions

  • compose

registerScripts(scripts)

Registers one or more compose scripts for this extension, which should be injected into the message compose editor. Note: Registered scripts will only be applied to newly opened message compose tabs. To apply the script to already open message compose tabs, manually inject your script by calling executeScript(injection) for each of the open messageCompose tabs.

Parameters

scripts

Contains a list of compose scripts to be registered. If there are errors during script parsing/file validation, or if the IDs specified already exist, then no scripts are registered.

Required permissions

  • compose

unregisterScripts([filter])

Unregisters one or more compose scripts for this extension.

Parameters

[filter]

(ComposeScriptFilter, optional)

If specified, only unregisters compose scripts which match the filter. Otherwise, all of the extension’s compose scripts are unregistered.

Required permissions

  • compose

Types

ComposeScriptDetails

object

id

(string)

The id of the compose script, specified in the API call.

[css]

(array of ExtensionURL, optional)

The list of CSS files to be injected. These are injected in the order they appear in this array.

[js]

(array of ExtensionURL, optional)

The list of JavaScript files to be injected. These are injected in the order they appear in this array.

[runAt]

(RunAt, optional)

Specifies when JavaScript files are injected. The preferred and default value is document_idle.

ComposeScriptFilter

object

[ids]

(array of string, optional)

The IDs of specific compose scripts to retrieve with getRegisteredScripts() or to unregister with unregisterScripts().

External Types

The following types are not defined by this API, but by the underlying Mozilla WebExtension code base. They are included here, because there is no other public documentation available.

ExtensionURL

A path relative to the root of the extension.

string