diff --git a/mobile/chrome/content/browser.css b/mobile/chrome/content/browser.css index af783d5f9bb..85a4811b57c 100644 --- a/mobile/chrome/content/browser.css +++ b/mobile/chrome/content/browser.css @@ -193,6 +193,7 @@ richlistitem[isDisabled="true"] .show-on-disable { richlistitem[opType="needs-restart"] .hide-on-restart, richlistitem[opType="needs-uninstall"] .hide-on-uninstall, +richlistitem[isDisabled="true"][opType="needs-uninstall"], richlistitem[opType="needs-install"] .hide-on-install, richlistitem[opType="needs-enable"] .hide-on-enable, richlistitem[opType="needs-disable"] .hide-on-disable { diff --git a/mobile/chrome/content/extensions.js b/mobile/chrome/content/extensions.js index bf219e48d89..3ce524fdb42 100644 --- a/mobile/chrome/content/extensions.js +++ b/mobile/chrome/content/extensions.js @@ -71,7 +71,7 @@ var ExtensionsView = { return "needs-disable"; return ""; }, - + _createItem: function ev__createItem(aAddon, aTypeName) { let item = document.createElement("richlistitem"); item.setAttribute("id", PREFIX_ITEM_URI + aAddon.id); @@ -386,6 +386,12 @@ var ExtensionsView = { if (opType == "needs-uninstall") this.showRestart(); + + // A disabled addon doesn't need a restart so it has no pending ops and + // can't be cancelled + if (!aItem.addon.isActive && opType == "") + opType = "needs-uninstall"; + aItem.setAttribute("opType", opType); } },