Bug 1462345 - Show WebExtension names instead of IDs in Fennec permission doorhangers.
MozReview-Commit-ID: 4uTcsScV5YR
--- a/mobile/android/components/ContentPermissionPrompt.js
+++ b/mobile/android/components/ContentPermissionPrompt.js
@@ -129,18 +129,26 @@ ContentPermissionPrompt.prototype = {
}
callback(/* allow */ true);
},
positive: true
}];
let chromeWin = this.getChromeForRequest(request);
- let requestor = (chromeWin.BrowserApp && chromeWin.BrowserApp.manifest) ?
- "'" + chromeWin.BrowserApp.manifest.name + "'" : request.principal.URI.host;
+ let requestor;
+
+ if (chromeWin.BrowserApp && chromeWin.BrowserApp.manifest) {
+ requestor = `'${chromeWin.BrowserApp.manifest.name}'`;
+ } else if (request.principal.URI.schemeIs("moz-extension")) {
+ requestor = `'${WebExtensionPolicy.getByURI(request.principal.URI).name}'`;
+ } else {
+ requestor = request.principal.URI.host;
+ }
+
let message = browserBundle.formatStringFromName(entityName + ".ask", [requestor], 1);
// desktopNotification doesn't have a checkbox
let options;
if (entityName == "desktopNotification2") {
options = {
link: {
label: browserBundle.GetStringFromName("doorhanger.learnMore"),
url: "https://www.mozilla.org/firefox/push/"
--- a/mobile/android/modules/WebrtcUI.jsm
+++ b/mobile/android/modules/WebrtcUI.jsm
@@ -319,18 +319,26 @@ var WebrtcUI = {
else if (videoDevices.length)
requestType = "Camera";
else
return;
let chromeWin = this.getChromeWindow(aContentWindow);
let uri = aContentWindow.document.documentURIObject;
let host = uri.host;
- let requestor = (chromeWin.BrowserApp && chromeWin.BrowserApp.manifest) ?
- "'" + chromeWin.BrowserApp.manifest.name + "'" : host;
+ let requestor;
+
+ if (chromeWin.BrowserApp && chromeWin.BrowserApp.manifest) {
+ requestor = `'${chromeWin.BrowserApp.manifest.name}'`;
+ } else if (uri.schemeIs("moz-extension")) {
+ requestor = `'${WebExtensionPolicy.getByURI(uri).name}'`;
+ } else {
+ requestor = host;
+ }
+
let message = Strings.browser.formatStringFromName("getUserMedia.share" + requestType + ".message", [ requestor ], 1);
let options = { inputs: [] };
if (videoDevices.length > 1 || audioDevices.length > 0) {
// videoSource is both the string used for l10n lookup and the object that will be returned
this._addDevicesToOptions(videoDevices, "videoSource", options);
}