summaryrefslogtreecommitdiff
path: root/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/content/permissions.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/content/permissions.js')
-rw-r--r--data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/content/permissions.js88
1 files changed, 0 insertions, 88 deletions
diff --git a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/content/permissions.js b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/content/permissions.js
deleted file mode 100644
index 49cc955..0000000
--- a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/content/permissions.js
+++ /dev/null
@@ -1,88 +0,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/. */
-'use strict';
-
-const { Cc, Ci, Cu } = require('chrome');
-const { List, addListItem } = require('sdk/util/list');
-const { URL } = require('sdk/url');
-
-const { Services } = require('../chrome/services');
-
-const { nsIPermissionManager } = Ci;
-
-const UNKNOWN = nsIPermissionManager.UNKNOWN_ACTION; // 0
-const ALLOW = nsIPermissionManager.ALLOW_ACTION; // 1
-const BLOCK = nsIPermissionManager.DENY_ACTION; // 2
-const SESSION = Ci.nsICookiePermission.ACCESS_SESSION; // 8
-
-function getKey(obj, val) {
- for (let key in obj)
- if (obj[key] == val)
- return key;
-
- return undefined;
-}
-
-const PERMISSIONS = {
- 'session': SESSION,
- 'allow': ALLOW,
- 'deny': BLOCK
-};
-
-const TYPES = {
- 'images': 'image',
- 'popups': 'popup',
- 'desktop-notifications': 'desktop-notification',
- 'installs': 'install',
- 'location': 'geo',
- 'fullscreen': 'fullscreen',
- 'pointer-lock': 'pointerLock'
-}
-
-const PM = Cc['@mozilla.org/permissionmanager;1'].
- getService(nsIPermissionManager);
-
-function add(options) {
- let uri = Services.io.newURI(options.url, null, null);
- if (!/^https?/.test(uri.scheme)) {
- throw new Error('invalid content url, only https or http schemes are accepted');
- }
-
- PM.add(uri,
- TYPES[options.type],
- PERMISSIONS[options.permission]);
-}
-
-function remove(options) {
- PM.remove(URL(options.url).host, TYPES[options.type]);
-}
-
-function removeAll() {
- PM.removeAll();
-}
-
-// TODO: cache entries after first request, and observe new additions with the "perm-changed" event
-
-exports.permissions = {
- add: add,
- remove: remove,
- removeAll: removeAll,
- get permissions() {
- let list = List();
- let permissions = PM.enumerator;
- while (permissions.hasMoreElements()) {
- let permission = permissions.getNext().QueryInterface(Ci.nsIPermission);
-
- addListItem(list, {
- type: getKey(TYPES, permission.type),
- host: String(permission.host),
- permission: getKey(PERMISSIONS, Number(permission.capability))
- //'expire-time': Number(permission.expireTime),
- });
- }
- return list;
- },
- TYPES: TYPES,
- PERMISSIONS: PERMISSIONS
-}