Bug 1285556 - Add isWebExtension getter to the Addon wrapper. r=aswan
MozReview-Commit-ID: G12fdZL2IoV
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -7100,16 +7100,20 @@ AddonWrapper.prototype = {
addonFor(this).seen = true;
XPIDatabase.saveChanges();
},
get type() {
return getExternalType(addonFor(this).type);
},
+ get isWebExtension() {
+ return addonFor(this).type == "webextension";
+ },
+
get temporarilyInstalled() {
return addonFor(this)._installLocation == TemporaryInstallLocation;
},
get aboutURL() {
return this.isActive ? addonFor(this)["aboutURL"] : null;
},
--- a/toolkit/mozapps/extensions/test/xpcshell/test_temporary.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_temporary.js
@@ -699,16 +699,17 @@ add_task(function*() {
do_check_neq(addon, null);
do_check_eq(addon.version, "1.0");
do_check_eq(addon.name, "Test Bootstrap 1");
do_check_true(addon.isCompatible);
do_check_false(addon.appDisabled);
do_check_true(addon.isActive);
do_check_eq(addon.type, "extension");
+ do_check_false(addon.isWebExtension);
do_check_eq(addon.signedState, mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_SIGNED : AddonManager.SIGNEDSTATE_NOT_REQUIRED);
yield AddonManager.installTemporaryAddon(do_get_addon("test_bootstrap1_1"));
BootstrapMonitor.checkAddonInstalled(ID, "1.0");
BootstrapMonitor.checkAddonStarted(ID, "1.0");
yield promiseRestartManager();
--- a/toolkit/mozapps/extensions/test/xpcshell/test_webextension.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_webextension.js
@@ -61,16 +61,17 @@ add_task(function*() {
do_check_neq(addon, null);
do_check_eq(addon.version, "1.0");
do_check_eq(addon.name, "Web Extension Name");
do_check_true(addon.isCompatible);
do_check_false(addon.appDisabled);
do_check_true(addon.isActive);
do_check_false(addon.isSystem);
do_check_eq(addon.type, "extension");
+ do_check_true(addon.isWebExtension);
do_check_eq(addon.signedState, mozinfo.addon_signing ? AddonManager.SIGNEDSTATE_SIGNED : AddonManager.SIGNEDSTATE_NOT_REQUIRED);
let uri = do_get_addon_root_uri(profileDir, ID);
do_check_eq(addon.iconURL, uri + "icon48.png");
do_check_eq(addon.icon64URL, uri + "icon64.png");
// Should persist through a restart