summaryrefslogtreecommitdiffstats
path: root/application/palemoon/components/preferences/aboutPermissions.js
diff options
context:
space:
mode:
Diffstat (limited to 'application/palemoon/components/preferences/aboutPermissions.js')
-rw-r--r--application/palemoon/components/preferences/aboutPermissions.js19
1 files changed, 17 insertions, 2 deletions
diff --git a/application/palemoon/components/preferences/aboutPermissions.js b/application/palemoon/components/preferences/aboutPermissions.js
index 416bcdf34..0c3f8b823 100644
--- a/application/palemoon/components/preferences/aboutPermissions.js
+++ b/application/palemoon/components/preferences/aboutPermissions.js
@@ -449,6 +449,19 @@ var PermissionDefaults = {
let value = (aValue != this.DENY);
Services.prefs.setBoolPref("full-screen-api.pointer-lock.enabled", value);
},
+
+ get push() {
+ if (!Services.prefs.getBoolPref("dom.push.enabled")) {
+ return this.DENY;
+ }
+ // We always ask for permission to push with a specific site,
+ // so there is no global ALLOW.
+ return this.UNKNOWN;
+ },
+ set push(aValue) {
+ let value = (aValue != this.DENY);
+ Services.prefs.setBoolPref("dom.push.enabled", value);
+ },
}
/**
@@ -488,13 +501,13 @@ var AboutPermissions = {
*/
_supportedPermissions: ["password", "image", "popup", "cookie",
"desktop-notification", "install", "geo", "indexedDB",
- "fullscreen", "pointerLock"],
+ "fullscreen", "pointerLock", "push"],
/**
* Permissions that don't have a global "Allow" option.
*/
_noGlobalAllow: ["desktop-notification", "geo", "indexedDB", "fullscreen",
- "pointerLock"],
+ "pointerLock", "push"],
/**
* Permissions that don't have a global "Deny" option.
@@ -543,6 +556,7 @@ var AboutPermissions = {
Services.prefs.addObserver("plugins.click_to_play", this, false);
Services.prefs.addObserver("full-screen-api.enabled", this, false);
Services.prefs.addObserver("full-screen-api.pointer-lock.enabled", this, false);
+ Services.prefs.addObserver("dom.push.enabled", this, false);
Services.prefs.addObserver("permissions.places-sites-limit", this, false);
Services.obs.addObserver(this, "perm-changed", false);
@@ -695,6 +709,7 @@ var AboutPermissions = {
Services.prefs.removeObserver("plugins.click_to_play", this, false);
Services.prefs.removeObserver("full-screen-api.enabled", this, false);
Services.prefs.removeObserver("full-screen-api.pointer-lock.enabled", this, false);
+ Services.prefs.removeObserver("dom.push.enabled", this, false);
Services.prefs.removeObserver("permissions.places-sites-limit", this, false);
Services.obs.removeObserver(this, "perm-changed");