Bug 1398327 Part 1: Skip permission dialog access keys on Android
MozReview-Commit-ID: 1rbludpEmdm
--- a/mobile/android/locales/en-US/chrome/browser.properties
+++ b/mobile/android/locales/en-US/chrome/browser.properties
@@ -117,19 +117,17 @@ xpinstallDisabledButton=Enable
# Note, this string will be used as raw markup. Avoid characters like <, >, &
webextPerms.header=Add %S?
# LOCALIZATION NOTE (webextPerms.listIntro)
# This string will be followed by a list of permissions requested
# by the webextension.
webextPerms.listIntro=It requires your permission to:
webextPerms.add.label=Add
-webextPerms.add.accessKey=A
webextPerms.cancel.label=Cancel
-webextPerms.cancel.accessKey=C
webextPerms.description.bookmarks=Read and modify bookmarks
webextPerms.description.browserSettings=Read and modify browser settings
webextPerms.description.clipboardRead=Get data from the clipboard
webextPerms.description.clipboardWrite=Input data to the clipboard
webextPerms.description.downloads=Download files and read and modify the browser’s download history
webextPerms.description.geolocation=Access your location
webextPerms.description.history=Access browsing history
--- a/toolkit/components/extensions/Extension.jsm
+++ b/toolkit/components/extensions/Extension.jsm
@@ -899,48 +899,58 @@ this.ExtensionData = class {
try {
result.msgs.push(bundle.GetStringFromName(permissionKey(permission)));
} catch (err) {
// We deliberately do not include all permissions in the prompt.
// So if we don't find one then just skip it.
}
}
+ const haveAccessKeys = (AppConstants.platform !== "android");
+
result.header = bundle.formatStringFromName("webextPerms.header", [info.addonName], 1);
result.text = info.unsigned ?
bundle.GetStringFromName("webextPerms.unsignedWarning") : "";
result.listIntro = bundle.GetStringFromName("webextPerms.listIntro");
result.acceptText = bundle.GetStringFromName("webextPerms.add.label");
- result.acceptKey = bundle.GetStringFromName("webextPerms.add.accessKey");
result.cancelText = bundle.GetStringFromName("webextPerms.cancel.label");
- result.cancelKey = bundle.GetStringFromName("webextPerms.cancel.accessKey");
+ if (haveAccessKeys) {
+ result.acceptKey = bundle.GetStringFromName("webextPerms.add.accessKey");
+ result.cancelKey = bundle.GetStringFromName("webextPerms.cancel.accessKey");
+ }
if (info.type == "sideload") {
result.header = bundle.formatStringFromName("webextPerms.sideloadHeader", [info.addonName], 1);
let key = result.msgs.length == 0 ?
"webextPerms.sideloadTextNoPerms" : "webextPerms.sideloadText2";
result.text = bundle.GetStringFromName(key);
result.acceptText = bundle.GetStringFromName("webextPerms.sideloadEnable.label");
- result.acceptKey = bundle.GetStringFromName("webextPerms.sideloadEnable.accessKey");
result.cancelText = bundle.GetStringFromName("webextPerms.sideloadCancel.label");
- result.cancelKey = bundle.GetStringFromName("webextPerms.sideloadCancel.accessKey");
+ if (haveAccessKeys) {
+ result.acceptKey = bundle.GetStringFromName("webextPerms.sideloadEnable.accessKey");
+ result.cancelKey = bundle.GetStringFromName("webextPerms.sideloadCancel.accessKey");
+ }
} else if (info.type == "update") {
result.header = "";
result.text = bundle.formatStringFromName("webextPerms.updateText", [info.addonName], 1);
result.acceptText = bundle.GetStringFromName("webextPerms.updateAccept.label");
- result.acceptKey = bundle.GetStringFromName("webextPerms.updateAccept.accessKey");
+ if (haveAccessKeys) {
+ result.acceptKey = bundle.GetStringFromName("webextPerms.updateAccept.accessKey");
+ }
} else if (info.type == "optional") {
result.header = bundle.formatStringFromName("webextPerms.optionalPermsHeader", [info.addonName], 1);
result.text = "";
result.listIntro = bundle.GetStringFromName("webextPerms.optionalPermsListIntro");
result.acceptText = bundle.GetStringFromName("webextPerms.optionalPermsAllow.label");
- result.acceptKey = bundle.GetStringFromName("webextPerms.optionalPermsAllow.accessKey");
result.cancelText = bundle.GetStringFromName("webextPerms.optionalPermsDeny.label");
- result.cancelKey = bundle.GetStringFromName("webextPerms.optionalPermsDeny.accessKey");
+ if (haveAccessKeys) {
+ result.acceptKey = bundle.GetStringFromName("webextPerms.optionalPermsAllow.accessKey");
+ result.cancelKey = bundle.GetStringFromName("webextPerms.optionalPermsDeny.accessKey");
+ }
}
return result;
}
};
const PROXIED_EVENTS = new Set(["test-harness-message", "add-permissions", "remove-permissions"]);