Files
webextensions-examples/embedded-webextension-overlay/content/init.js
Luca Greco a7ec907b88 Example: embedded webextension overlay (#249)
* Simple Legacy Overlay Addon with an Embedded WebExtension.

* fix: fixed eslint errors on embedded-webextension-overlay example
2017-07-19 15:10:26 -07:00

32 lines
973 B
JavaScript

/* globals Components, dump */
{
const addonId = "my-overlay-addon@me";
const {
AddonManager,
} = Components.utils.import("resource://gre/modules/AddonManager.jsm", {});
AddonManager.getAddonByID(addonId, addon => {
const baseURI = addon.getResourceURI("/");
const {
LegacyExtensionsUtils,
} = Components.utils.import("resource://gre/modules/LegacyExtensionsUtils.jsm");
const myOverlayEmbeddedWebExtension = LegacyExtensionsUtils.getEmbeddedExtensionFor({
id: addonId, resourceURI: baseURI,
});
myOverlayEmbeddedWebExtension.startup().then(({browser}) => {
dump(`${addonId} - embedded webext started\n`);
browser.runtime.onMessage.addListener(msg => {
dump(`${addonId} - received message from embedded webext ${msg}\n`);
});
}).catch(err => {
Components.utils.reportError(
`${addonId} - embedded webext startup failed: ${err.message} ${err.stack}\n`
);
});
});
}