mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 15:28:39 +09:00
Bug 1173523 - Part 3: Update PluginContent to use new API for nsIPermission
This commit is contained in:
parent
4238f1570d
commit
deb1d55084
2 changed files with 12 additions and 28 deletions
|
|
@ -470,28 +470,12 @@ var gPluginHandler = {
|
|||
}
|
||||
},
|
||||
|
||||
// Match the behaviour of nsPermissionManager
|
||||
_getHostFromPrincipal: function PH_getHostFromPrincipal(principal) {
|
||||
if (!principal.URI || principal.URI.schemeIs("moz-nullprincipal")) {
|
||||
return "(null)";
|
||||
}
|
||||
|
||||
try {
|
||||
if (principal.URI.host)
|
||||
return principal.URI.host;
|
||||
} catch (e) {}
|
||||
|
||||
return principal.origin;
|
||||
},
|
||||
|
||||
_makeCenterActions: function PH_makeCenterActions(notification) {
|
||||
let contentWindow = notification.browser.contentWindow;
|
||||
let cwu = contentWindow.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||
.getInterface(Ci.nsIDOMWindowUtils);
|
||||
|
||||
let principal = contentWindow.document.nodePrincipal;
|
||||
// This matches the behavior of nsPermssionManager, used for display purposes only
|
||||
let principalHost = this._getHostFromPrincipal(principal);
|
||||
|
||||
let centerActions = [];
|
||||
let pluginsFound = new Set();
|
||||
|
|
@ -517,11 +501,11 @@ var gPluginHandler = {
|
|||
let permissionObj = Services.perms.
|
||||
getPermissionObject(principal, pluginInfo.permissionString, false);
|
||||
if (permissionObj) {
|
||||
pluginInfo.pluginPermissionHost = permissionObj.host;
|
||||
pluginInfo.pluginPermissionPrePath = permissionObj.principal.originNoSuffix;
|
||||
pluginInfo.pluginPermissionType = permissionObj.expireType;
|
||||
}
|
||||
else {
|
||||
pluginInfo.pluginPermissionHost = principalHost;
|
||||
pluginInfo.pluginPermissionPrePath = principal.originNoSuffix;
|
||||
pluginInfo.pluginPermissionType = undefined;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1356,8 +1356,8 @@
|
|||
return;
|
||||
}
|
||||
|
||||
let host = gPluginHandler._getHostFromPrincipal(this.notification.browser.contentWindow.document.nodePrincipal);
|
||||
this._setupDescription("pluginActivateMultiple.message", null, host);
|
||||
let prePath = this.notification.browser.contentWindow.document.nodePrincipal.URI.prePath;
|
||||
this._setupDescription("pluginActivateMultiple.message", null, prePath);
|
||||
|
||||
var showBox = document.getAnonymousElementByAttribute(this, "anonid", "plugin-notification-showbox");
|
||||
|
||||
|
|
@ -1396,7 +1396,7 @@
|
|||
<method name="_setupSingleState">
|
||||
<body><![CDATA[
|
||||
var action = this.notification.options.centerActions[0];
|
||||
var host = action.pluginPermissionHost;
|
||||
var prePath = action.pluginPermissionPrePath;
|
||||
|
||||
let label, linkLabel, linkUrl, button1, button2;
|
||||
|
||||
|
|
@ -1491,7 +1491,7 @@
|
|||
Cu.reportError(Error("Unexpected blocklist state"));
|
||||
}
|
||||
}
|
||||
this._setupDescription(label, action.pluginName, host);
|
||||
this._setupDescription(label, action.pluginName, prePath);
|
||||
this._setupLink(linkLabel, action.detailsLink);
|
||||
|
||||
this._primaryButton.label = gNavigatorBundle.getString(button1.label);
|
||||
|
|
@ -1512,7 +1512,7 @@
|
|||
<method name="_setupDescription">
|
||||
<parameter name="baseString" />
|
||||
<parameter name="pluginName" /> <!-- null for the multiple-plugin case -->
|
||||
<parameter name="host" />
|
||||
<parameter name="prePath" />
|
||||
<body><![CDATA[
|
||||
var bsn = this._brandShortName;
|
||||
var span = document.getAnonymousElementByAttribute(this, "anonid", "click-to-play-plugins-notification-description");
|
||||
|
|
@ -1520,17 +1520,17 @@
|
|||
span.removeChild(span.lastChild);
|
||||
}
|
||||
|
||||
var args = ["__host__", this._brandShortName];
|
||||
var args = ["__prepath__", this._brandShortName];
|
||||
if (pluginName) {
|
||||
args.unshift(pluginName);
|
||||
}
|
||||
var bases = gNavigatorBundle.getFormattedString(baseString, args).
|
||||
split("__host__", 2);
|
||||
split("__prepath__", 2);
|
||||
|
||||
span.appendChild(document.createTextNode(bases[0]));
|
||||
var hostSpan = document.createElementNS("http://www.w3.org/1999/xhtml", "em");
|
||||
hostSpan.appendChild(document.createTextNode(host));
|
||||
span.appendChild(hostSpan);
|
||||
var prePathSpan = document.createElementNS("http://www.w3.org/1999/xhtml", "em");
|
||||
prePathSpan.appendChild(document.createTextNode(prePath));
|
||||
span.appendChild(prePathSpan);
|
||||
span.appendChild(document.createTextNode(bases[1] + " "));
|
||||
]]></body>
|
||||
</method>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue