summaryrefslogtreecommitdiffstats
path: root/application/palemoon/components/preferences/aboutPermissions.xml
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2018-02-02 03:35:06 -0500
committerMatt A. Tobin <email@mattatobin.com>2018-02-02 03:35:06 -0500
commit49ee0794b5d912db1f95dce6eb52d781dc210db5 (patch)
tree6efefe6a09feb09d965932b24e10436b9ac8189c /application/palemoon/components/preferences/aboutPermissions.xml
parente72ef92b5bdc43cd2584198e2e54e951b70299e8 (diff)
downloadUXP-49ee0794b5d912db1f95dce6eb52d781dc210db5.tar
UXP-49ee0794b5d912db1f95dce6eb52d781dc210db5.tar.gz
UXP-49ee0794b5d912db1f95dce6eb52d781dc210db5.tar.lz
UXP-49ee0794b5d912db1f95dce6eb52d781dc210db5.tar.xz
UXP-49ee0794b5d912db1f95dce6eb52d781dc210db5.zip
Add Pale Moon
Diffstat (limited to 'application/palemoon/components/preferences/aboutPermissions.xml')
-rw-r--r--application/palemoon/components/preferences/aboutPermissions.xml113
1 files changed, 113 insertions, 0 deletions
diff --git a/application/palemoon/components/preferences/aboutPermissions.xml b/application/palemoon/components/preferences/aboutPermissions.xml
new file mode 100644
index 000000000..4df0d964d
--- /dev/null
+++ b/application/palemoon/components/preferences/aboutPermissions.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!DOCTYPE bindings [
+<!ENTITY % aboutPermissionsDTD SYSTEM "chrome://browser/locale/preferences/aboutPermissions.dtd" >
+%aboutPermissionsDTD;
+]>
+
+<bindings xmlns="http://www.mozilla.org/xbl"
+ xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:xbl="http://www.mozilla.org/xbl">
+ <binding id="site" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
+ <content>
+ <xul:hbox class="site-container" align="center" flex="1">
+ <xul:image xbl:inherits="src=favicon" class="site-favicon"/>
+ <xul:label xbl:inherits="value,selected" class="site-domain" crop="end" flex="1"/>
+ </xul:hbox>
+ </content>
+ </binding>
+
+ <binding id="pluginPermission">
+ <content>
+ <xul:hbox flex="1" align="baseline">
+ <xul:label xbl:inherits="value=label" class="plugins-label"/>
+ <xul:label xbl:inherits="value=vulnerable" class="plugins-vulnerable"/>
+ <xul:label xbl:inherits="value=default" anonid="plugins-default" class="plugins-default"/>
+ <xul:spacer flex="1"/>
+ <xul:menulist anonid="plugins-menulist"
+ class="pref-menulist"
+ oncommand="AboutPermissions.onPermissionCommand(event, false);">
+ <xul:menupopup>
+ <xul:menuitem anonid="ask" value="0" label="&permission.alwaysAsk;"/>
+ <xul:menuitem anonid="allow" value="1" label="&permission.allow;"/>
+ <xul:menuitem anonid="block" value="2" label="&permission.block;"/>
+ </xul:menupopup>
+ </xul:menulist>
+ <xul:button xbl:inherits="value=set-default"
+ anonid="plugins-set-default"
+ class="pref-set-default"
+ label="&permission.default;"
+ oncommand="AboutPermissions.onPermissionCommand(event, true);"/>
+ </xul:hbox>
+ </content>
+ <implementation>
+ <constructor><![CDATA[
+ let mimeType = this.getAttribute("mimeType");
+ let permString = this.getAttribute("permString");
+ let menulist = document.getAnonymousElementByAttribute(this, "anonid", "plugins-menulist");
+ menulist.setAttribute("id", permString + "-menulist");
+ menulist.setAttribute("mimeType", mimeType);
+ menulist.setAttribute("type", permString);
+ let askitem = document.getAnonymousElementByAttribute(this, "anonid", "ask");
+ askitem.setAttribute("id", permString + "-0");
+ let allowitem = document.getAnonymousElementByAttribute(this, "anonid", "allow");
+ allowitem.setAttribute("id", permString + "-1");
+ let blockitem = document.getAnonymousElementByAttribute(this, "anonid", "block");
+ blockitem.setAttribute("id", permString + "-2");
+ let _default = document.getAnonymousElementByAttribute(this, "anonid", "plugins-default");
+ this.setDefaultVisibility(false);
+ _default.setAttribute("value", "*");
+ let _setDefault = document.getAnonymousElementByAttribute(this, "anonid", "plugins-set-default");
+ _setDefault.setAttribute("id", permString + "-set-default");
+ _setDefault.setAttribute("class", "pref-set-default");
+ _setDefault.setAttribute("type", permString);
+ ]]>
+ </constructor>
+ <method name="setDefaultVisibility">
+ <parameter name="visibility" />
+ <body><![CDATA[
+ let _default = document.getAnonymousElementByAttribute(this, "anonid", "plugins-default");
+ if (visibility) {
+ _default.style.visibility = "visible";
+ } else {
+ _default.style.visibility = "hidden";
+ }
+ ]]>
+ </body>
+ </method>
+ <method name="isClickToPlay">
+ <body><![CDATA[
+ let pluginHost = Components.classes["@mozilla.org/plugin/host;1"]
+ .getService(Components.interfaces.nsIPluginHost);
+ let mimeType = this.getAttribute("mimeType");
+ return (pluginHost.getStateForType(mimeType)
+ == Components.interfaces.nsIPluginTag.STATE_CLICKTOPLAY);
+ ]]>
+ </body>
+ </method>
+ <method name="isBlocklisted">
+ <body><![CDATA[
+ let pluginHost = Components.classes["@mozilla.org/plugin/host;1"]
+ .getService(Components.interfaces.nsIPluginHost);
+ let blocklistService = Components.classes["@mozilla.org/extensions/blocklist;1"]
+ .getService(Components.interfaces.nsIBlocklistService);
+ let mimeType = this.getAttribute("mimeType");
+ let tags = pluginHost.getPluginTags();
+ let blocklistState = Components.interfaces.nsIBlocklistService.STATE_NOT_BLOCKED;
+ for (let plugin of tags) {
+ if (plugin.getMimeTypes()[0] == mimeType) {
+ blocklistState = blocklistService.getPluginBlocklistState(plugin);
+ break;
+ }
+ }
+ return (blocklistState == Components.interfaces.nsIBlocklistService.STATE_VULNERABLE_UPDATE_AVAILABLE ||
+ blocklistState == Components.interfaces.nsIBlocklistService.STATE_VULNERABLE_NO_UPDATE);
+ ]]>
+ </body>
+ </method>
+ </implementation>
+ </binding>
+</bindings>