Skip to main content

Firefox

getMozContext#

Get the context that is currently in effect, e.g. CHROME or CONTENT.

Firefox command. More details can be found in the official protocol docs.

Usage#
browser.getMozContext()
Example#
console.log(await browser.getMozContext()); // outputs: 'CHROME'
Returns#
  • <String> Context: The browser context, either CHROME or CONTENT

setMozContext#

Changes target context for commands between chrome- and content.

Changing the current context has a stateful impact on all subsequent commands. The CONTENT context has normal web platform document permissions, as if you would evaluate arbitrary JavaScript. The CHROME context gets elevated permissions that lets you manipulate the browser chrome itself, with full access to the XUL toolkit.

Firefox command. More details can be found in the official protocol docs.

Usage#
browser.setMozContext(context)
Parameters#
NameTypeDetails
contextstringThe browser context, either CHROME or CONTENT
Example#
console.log(await browser.getMozContext()); // outputs: 'CHROME'
browser.setMozContext('CONTENT');
console.log(await browser.getMozContext()); // outputs: 'CONTENT'

installAddOn#

Installs a new addon with the current session. This function will return an ID that may later be used to uninstall the addon using uninstallAddon.

Firefox command. More details can be found in the official protocol docs.

Usage#
browser.installAddOn(addon, temporary)
Parameters#
NameTypeDetails
addonstringbase64 string of the add on file
temporarybooleantemporary Flag indicating whether the extension should be installed temporarily - gets removed on restart
Example#
// Create a buffer of the add on .zip file
const extension = await fs.promises.readFile('/path/to/extension.zip')
// Load extension in Firefox
const id = await browser.installAddOn(extension.toString('base64'), false);
Returns#
  • <String> id: A promise that will resolve to an ID for the newly installed addon.

uninstallAddOn#

Uninstalls an addon from the current browser session's profile.

Firefox command. More details can be found in the official protocol docs.

Usage#
browser.uninstallAddOn(id)
Parameters#
NameTypeDetails
idstringid ID of the addon to uninstall.
Example#
// Create a buffer of the add on .zip file
const extension = await fs.promises.readFile('/path/to/extension.zip')
// Load extension in Firefox
const id = await browser.installAddOn(extension.toString('base64'), false);
// ...
await browser.uninstallAddOn(id)