Add a 'reason code' for when there isn't a reason string for a "corrupt extension"

This commit is contained in:
ownedbywuigi 2026-04-01 13:52:00 +01:00
commit f2d3eb036b
4 changed files with 80 additions and 4 deletions

View file

@ -334,10 +334,27 @@ const gXPInstallObserver = {
messageString = gNavigatorBundle.getFormattedString(error, args);
if (install.error == AddonManager.ERROR_CORRUPT_FILE &&
install.errorDetail &&
typeof install.errorDetail == "string") {
messageString += "\n" + "Details: " + install.errorDetail;
if (install.error == AddonManager.ERROR_CORRUPT_FILE) {
let detail = null;
if (install.errorDetail !== undefined && install.errorDetail !== null) {
detail = install.errorDetail;
if (typeof detail != "string") {
if (detail && typeof detail.message == "string" && detail.message) {
detail = detail.message;
} else {
detail = String(detail);
}
}
detail = detail.replace(/[\r\n\t]+/g, " ").trim();
}
let detailString;
if (detail) {
detailString = gNavigatorBundle.getFormattedString("addonInstallErrorDetail", [detail]);
} else {
detailString = gNavigatorBundle.getFormattedString("addonInstallErrorDetailCode", [String(install.error)]);
}
messageString += " " + detailString;
}
PopupNotifications.show(browser, notificationID, messageString, anchorID,

View file

@ -93,6 +93,8 @@ addonLocalInstallError-4=%2$S could not be installed because %1$S cannot modify
addonLocalInstallError-5=This add-on could not be installed because it has not been verified.
addonLocalInstallError-8=%2$S could not be installed because %1$S does not support Jetpack (SDK) extensions.
addonLocalInstallError-9=%2$S could not be installed because %1$S does not support WebExtensions.
addonInstallErrorDetail=Reason: %S
addonInstallErrorDetailCode=Reason code: %S
# LOCALIZATION NOTE (addonInstallErrorIncompatible):