Bug 1395425 - actually return early on uninstall/setenable for AddonManager webAPI r=kmag,mythmon

MozReview-Commit-ID: EmHoHvDYPJS

--HG--
extra : rebase_source : 242701ead90bbc6d30b8fb3e3bcfa679e0658c84
This commit is contained in:
Robert Helmer 2017-08-30 19:03:39 -07:00
Родитель f666a49c31
Коммит 46aa852d2c
1 изменённых файлов: 19 добавлений и 25 удалений

Просмотреть файл

@ -3012,34 +3012,28 @@ var AddonManagerInternal = {
});
},
addonUninstall(target, id) {
return new Promise(resolve => {
AddonManager.getAddonByID(id, addon => {
if (!addon) {
resolve(false);
}
async addonUninstall(target, id) {
let addon = await AddonManager.getAddonByID(id);
if (!addon) {
return false;
}
try {
addon.uninstall();
resolve(true);
} catch (err) {
Cu.reportError(err);
resolve(false);
}
});
});
try {
addon.uninstall();
return true;
} catch (err) {
Cu.reportError(err);
return false;
}
},
addonSetEnabled(target, id, value) {
return new Promise((resolve, reject) => {
AddonManager.getAddonByID(id, addon => {
if (!addon) {
reject({message: `No such addon ${id}`});
}
addon.userDisabled = !value;
resolve();
});
});
async addonSetEnabled(target, id, value) {
let addon = await AddonManager.getAddonByID(id);
if (!addon) {
throw new Error(`No such addon ${id}`);
}
addon.userDisabled = !value;
},
addonInstallDoInstall(target, id) {