mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-07 18:04:46 +00:00
Bug 816900 - 1. Use |expandedPermNames[idx]| instead |msg.type + "-" + msg.access|. 2. Add |write, create| permissions in test_sim_contacts.js. r=gwagner
This commit is contained in:
parent
9c34e35dc3
commit
b99fa2723b
@ -4,6 +4,13 @@
|
||||
MARIONETTE_TIMEOUT = 30000;
|
||||
|
||||
SpecialPowers.addPermission("contacts-read", true, document);
|
||||
// TODO: see bug 804623, We are preventing "read" operations
|
||||
// even if just "write" has been set to DENY_ACTION.
|
||||
// Bug 816900: Because PermissionPromptHelper.jsm will expand the
|
||||
// contacts-read to contacts-read, contacts-write, contacts-create,
|
||||
// we add the other two permissions here.
|
||||
SpecialPowers.addPermission("contacts-write", true, document);
|
||||
SpecialPowers.addPermission("contacts-create", true, document);
|
||||
|
||||
let mozContacts = window.navigator.mozContacts;
|
||||
ok(mozContacts);
|
||||
@ -53,6 +60,8 @@ function runNextTest() {
|
||||
|
||||
function cleanUp() {
|
||||
SpecialPowers.removePermission("contacts-read", document);
|
||||
SpecialPowers.removePermission("contacts-write", document);
|
||||
SpecialPowers.removePermission("contacts-create", document);
|
||||
finish();
|
||||
}
|
||||
|
||||
|
@ -45,9 +45,9 @@ XPCOMUtils.defineLazyServiceGetter(this, "permissionPromptService",
|
||||
"@mozilla.org/permission-prompt-service;1",
|
||||
"nsIPermissionPromptService");
|
||||
|
||||
var permissionManager = Cc["@mozilla.org/permissionmanager;1"].getService(Ci.nsIPermissionManager);
|
||||
var secMan = Cc["@mozilla.org/scriptsecuritymanager;1"].getService(Ci.nsIScriptSecurityManager);
|
||||
var appsService = Cc["@mozilla.org/AppsService;1"].getService(Ci.nsIAppsService);
|
||||
let permissionManager = Cc["@mozilla.org/permissionmanager;1"].getService(Ci.nsIPermissionManager);
|
||||
let secMan = Cc["@mozilla.org/scriptsecuritymanager;1"].getService(Ci.nsIScriptSecurityManager);
|
||||
let appsService = Cc["@mozilla.org/AppsService;1"].getService(Ci.nsIAppsService);
|
||||
|
||||
this.PermissionPromptHelper = {
|
||||
init: function init() {
|
||||
@ -64,15 +64,14 @@ this.PermissionPromptHelper = {
|
||||
access = "readwrite"; // XXXddahl: Not sure if this should be set to READWRITE
|
||||
}
|
||||
// Expand permission names.
|
||||
var expandedPermNames = expandPermissions(msg.type, access);
|
||||
let expandedPermNames = expandPermissions(msg.type, access);
|
||||
let installedPermValues = [];
|
||||
let principal;
|
||||
let uri = Services.io.newURI(msg.origin, null, null);
|
||||
let principal =
|
||||
secMan.getAppCodebasePrincipal(uri, msg.appID, msg.browserFlag);
|
||||
|
||||
for (let idx in expandedPermNames) {
|
||||
let uri = Services.io.newURI(msg.origin, null, null);
|
||||
principal =
|
||||
secMan.getAppCodebasePrincipal(uri, msg.appID, msg.browserFlag);
|
||||
let access = msg.access ? msg.type + "-" + msg.access : msg.type;
|
||||
let access = msg.access ? expandedPermNames[idx] : msg.type;
|
||||
let permValue =
|
||||
permissionManager.testExactPermissionFromPrincipal(principal, access);
|
||||
installedPermValues.push(permValue);
|
||||
|
Loading…
Reference in New Issue
Block a user