async function reloadAddon(addonFront) { // The add-on will be re-installed after a successful reload. const onInstalled = promiseAddonEvent("onInstalled");
await addonFront.reload();
await onInstalled;
}
// Uninstall the decoy add-on, which should cause its actor to exit. const onUninstalled = promiseAddonEvent("onUninstalled");
installedAddon2.uninstall();
await onUninstalled;
// Try to re-list all add-ons after a reload. // This was throwing an exception because of the exited actor. const newAddonFront = await client.mainRoot.getAddon({
id: installedAddon.id,
});
equal(newAddonFront.id, addonFront.id);
// The fronts should be the same after the reload
equal(newAddonFront, addonFront);
// Install an upgrade version of the first add-on. const addonUpgradeFile = getSupportFile("addons/web-extension-upgrade"); const [upgradedAddon] = await Promise.all([
AddonManager.installTemporaryAddon(addonUpgradeFile),
promiseWebExtensionStartup(),
]);
// Waiting for addonListChanged unsolicited event
await onAddonListChanged;
// re-list all add-ons after an upgrade. const upgradedAddonFront = await client.mainRoot.getAddon({
id: upgradedAddon.id,
});
equal(upgradedAddonFront.id, addonFront.id); // The fronts should be the same after the upgrade.
equal(upgradedAddonFront, addonFront);
// The addon metadata has been updated.
equal(upgradedAddonFront.name, "Test Addons Actor Upgrade");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.