diff options
author | Ruben Rodriguez <ruben@gnu.org> | 2018-09-13 20:39:48 -0400 |
---|---|---|
committer | Ruben Rodriguez <ruben@gnu.org> | 2018-09-13 21:02:13 -0400 |
commit | d26b319fd6f98517cc3421f10bf18698b953e4d2 (patch) | |
tree | bc70c4e472a2eaf514d411dba5067d530e5bbea9 /data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/content/permissions.js | |
parent | c3b304c51a3386ea09527a479a883253ea35243a (diff) |
Updated extensions list for v60
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.js | 88 |
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 -} |