Bug 1203280 - Back out all non-test changes from changeset 064a1ae9f3d4 (bug 1199790);r=MattN

This commit is contained in:
Brian Grinstead 2015-09-09 15:19:34 -07:00
parent 7092438de5
commit e30568e3e3
7 changed files with 29 additions and 135 deletions

View File

@ -6811,13 +6811,9 @@ var gIdentityHandler = {
delete this._permissionList;
return this._permissionList = document.getElementById("identity-popup-permission-list");
},
get _permissionSubviewListPageFunctionality () {
delete this._permissionSubviewListPageFunctionality;
return this._permissionSubviewListPageFunctionality = document.getElementById("permission-subview-list-page-functionality");
},
get _permissionSubviewListSystemAccess () {
delete this._permissionSubviewListSystemAccess;
return this._permissionSubviewListSystemAccess = document.getElementById("permission-subview-list-system-access");
get _permissionSubviewList () {
delete this._permissionSubviewList;
return this._permissionSubviewList = document.getElementById("identity-popup-permission-subview-list");
},
/**
@ -6839,8 +6835,7 @@ var gIdentityHandler = {
this._identityIcon = document.getElementById("page-proxy-favicon");
this._permissionsContainer = document.getElementById("identity-popup-permissions");
this._permissionList = document.getElementById("identity-popup-permission-list");
this._permissionSubviewListPageFunctionality = document.getElementById("permission-subview-list-page-functionality");
this._permissionSubviewListSystemAccess = document.getElementById("permission-subview-list-system-access");
this._permissionSubviewList = document.getElementById("identity-popup-permission-subview-list");
},
/**
@ -7311,33 +7306,26 @@ var gIdentityHandler = {
},
updateSitePermissions: function () {
// Clear all lists and then repopulate them.
this._permissionList.textContent = "";
this._permissionSubviewListPageFunctionality.textContent = "";
this._permissionSubviewListSystemAccess.textContent = "";
while (this._permissionList.hasChildNodes())
this._permissionList.removeChild(this._permissionList.lastChild);
while (this._permissionSubviewList.hasChildNodes())
this._permissionSubviewList.removeChild(this._permissionSubviewList.lastChild);
let uri = gBrowser.currentURI;
for (let permission of SitePermissions.listPageFunctionalityPermissions()) {
let state = SitePermissions.get(uri, permission);
let item = this._createPermissionItem(permission, state);
this._permissionSubviewListPageFunctionality.appendChild(item);
}
for (let permission of SitePermissions.listSystemAccessPermissions()) {
let state = SitePermissions.get(uri, permission);
let item = this._createPermissionItem(permission, state);
this._permissionSubviewListSystemAccess.appendChild(item);
}
for (let permission of SitePermissions.listPermissions()) {
let state = SitePermissions.get(uri, permission);
let item = this._createPermissionItem(permission, state);
// Add to the main view only if there is a known / non-default
// value for the permission for this site.
let state = SitePermissions.get(uri, permission);
if (state != SitePermissions.UNKNOWN) {
let item = this._createPermissionItem(permission, state);
this._permissionList.appendChild(item);
this._permissionList.appendChild(item.cloneNode(true));
}
// Add all permissions to the subview.
this._permissionSubviewList.appendChild(item);
}
this._permissionsContainer.hidden = !this._permissionList.hasChildNodes();

View File

@ -46,14 +46,14 @@ add_task(function* testSubviewListing() {
info("Opening control center and expanding permissions subview");
gIdentityHandler._identityBox.click();
info("Checking 'Page Functionality' permissions");
let pageFunctionalityMenulists = gIdentityHandler._permissionSubviewListPageFunctionality.querySelectorAll("menulist");
let pageFunctionalityPerms = SitePermissions.listPageFunctionalityPermissions();
is(pageFunctionalityMenulists.length, pageFunctionalityPerms.length, "One menulist for each permission");
let menulists = gIdentityHandler._permissionSubviewList.querySelectorAll("menulist");
let perms = SitePermissions.listPermissions();
for (let i = 0; i < pageFunctionalityMenulists.length; i++) {
let menulist = pageFunctionalityMenulists[i];
let perm = pageFunctionalityPerms[i];
is(menulists.length, perms.length, "One menulist for each permission");
for (let i = 0; i < menulists.length; i++) {
let menulist = menulists[i];
let perm = perms[i];
let expectedValue = SitePermissions.get(gBrowser.currentURI, perm);
if (expectedValue == SitePermissions.UNKNOWN) {
expectedValue = SitePermissions.getDefault(perm);
@ -62,23 +62,5 @@ add_task(function* testSubviewListing() {
is(menulist.id, "identity-popup-permission:" + perm, "Correct id for menulist: " + perm);
is(menulist.value, expectedValue, "Correct value on menulist: " + perm);
}
info("Checking 'System Access' permissions");
let systemAccessMenulists = gIdentityHandler._permissionSubviewListSystemAccess.querySelectorAll("menulist");
let systemAccessPerms = SitePermissions.listSystemAccessPermissions();
is(systemAccessMenulists.length, systemAccessPerms.length, "One menulist for each permission");
for (let i = 0; i < systemAccessMenulists.length; i++) {
let menulist = systemAccessMenulists[i];
let perm = systemAccessPerms[i];
let expectedValue = SitePermissions.get(gBrowser.currentURI, perm);
if (expectedValue == SitePermissions.UNKNOWN) {
expectedValue = SitePermissions.getDefault(perm);
}
is(menulist.id, "identity-popup-permission:" + perm, "Correct id for menulist: " + perm);
is(menulist.value, expectedValue, "Correct value on menulist: " + perm);
}
gIdentityHandler._identityPopup.hidden = true;
});

View File

@ -172,16 +172,7 @@
</vbox>
<vbox id="identity-popup-permissionsView-body">
<vbox id="identity-popup-permission-subview-list">
<label class="identity-popup-subheadline"
value="&identity.permissionsPageFunctionality;"
crop="end"/>
<vbox id="permission-subview-list-page-functionality"></vbox>
<label class="identity-popup-subheadline"
value="&identity.permissionsSystemAccess;"
crop="end"/>
<vbox id="permission-subview-list-system-access"></vbox>
</vbox>
<vbox id="identity-popup-permission-subview-list"/>
</vbox>
</panelview>
</panelmultiview>

View File

@ -733,8 +733,6 @@ you can use these alternative items. Otherwise, their values should be empty. -
<!ENTITY identity.moreInfoLinkText2 "More Information">
<!ENTITY identity.permissions "Permissions">
<!ENTITY identity.permissionsPageFunctionality "Page Functionality">
<!ENTITY identity.permissionsSystemAccess "System Access">
<!-- Name for the tabs toolbar as spoken by screen readers.
The word "toolbar" is appended automatically and should not be contained below! -->

View File

@ -6,8 +6,6 @@ this.EXPORTED_SYMBOLS = [ "SitePermissions" ];
Components.utils.import("resource://gre/modules/Services.jsm");
const GROUP_PAGE_FUNCTIONALITY = "pagefunctionality";
const GROUP_SYSTEM_ACCESS = "systemaccess";
let gStringBundle =
Services.strings.createBundle("chrome://browser/locale/sitePermissions.properties");
@ -26,34 +24,9 @@ this.SitePermissions = {
return aURI.schemeIs("http") || aURI.schemeIs("https");
},
/* Returns an array of permission IDs that match a given
* group identifier
*/
_listPermissionsByGroup(group) {
let array = Object.keys(gPermissionObject).filter(p=> {
return gPermissionObject[p].group == group;
});
array.sort((a, b) => {
return this.getPermissionLabel(a).localeCompare(this.getPermissionLabel(b));
});
return array;
},
/* Returns an array of 'page functionality' permission IDs
*/
listPageFunctionalityPermissions() {
return this._listPermissionsByGroup(GROUP_PAGE_FUNCTIONALITY);
},
/* Returns an array of 'system access' permission IDs
*/
listSystemAccessPermissions() {
return this._listPermissionsByGroup(GROUP_SYSTEM_ACCESS);
},
/* Returns an array of all permission IDs.
*/
listPermissions () {
listPermissions: function () {
let array = Object.keys(gPermissionObject);
array.sort((a, b) => {
return this.getPermissionLabel(a).localeCompare(this.getPermissionLabel(b));
@ -163,17 +136,12 @@ let gPermissionObject = {
* Defaults to UNKNOWN, indicating that the user will be asked each time
* a page asks for that permissions.
*
* - group
* A string, either 'systemacces' or 'pagefunctionality'.
* Indicates what group this should be listed with in the UI
*
* - states
* Array of permission states to be exposed to the user.
* Defaults to ALLOW, BLOCK and the default state (see getDefault).
*/
"image": {
group: GROUP_PAGE_FUNCTIONALITY,
getDefault: function () {
return Services.prefs.getIntPref("permissions.default.image") == 2 ?
SitePermissions.BLOCK : SitePermissions.ALLOW;
@ -181,7 +149,6 @@ let gPermissionObject = {
},
"cookie": {
group: GROUP_PAGE_FUNCTIONALITY,
states: [ SitePermissions.ALLOW, SitePermissions.SESSION, SitePermissions.BLOCK ],
getDefault: function () {
if (Services.prefs.getIntPref("network.cookie.cookieBehavior") == 2)
@ -194,19 +161,12 @@ let gPermissionObject = {
}
},
"desktop-notification": {
group: GROUP_PAGE_FUNCTIONALITY,
},
"desktop-notification": {},
"camera": {
group: GROUP_SYSTEM_ACCESS,
},
"microphone": {
group: GROUP_SYSTEM_ACCESS,
},
"camera": {},
"microphone": {},
"popup": {
group: GROUP_PAGE_FUNCTIONALITY,
getDefault: function () {
return Services.prefs.getBoolPref("dom.disable_open_during_load") ?
SitePermissions.BLOCK : SitePermissions.ALLOW;
@ -214,7 +174,6 @@ let gPermissionObject = {
},
"install": {
group: GROUP_PAGE_FUNCTIONALITY,
getDefault: function () {
return Services.prefs.getBoolPref("xpinstall.whitelist.required") ?
SitePermissions.BLOCK : SitePermissions.ALLOW;
@ -222,21 +181,16 @@ let gPermissionObject = {
},
"geo": {
group: GROUP_SYSTEM_ACCESS,
exactHostMatch: true
},
"indexedDB": {
group: GROUP_SYSTEM_ACCESS,
},
"indexedDB": {},
"pointerLock": {
group: GROUP_SYSTEM_ACCESS,
exactHostMatch: true
},
"push": {
group: GROUP_SYSTEM_ACCESS,
exactHostMatch: true
}
};

View File

@ -11,12 +11,4 @@ add_task(function* testPermissionsListing() {
"indexedDB","install","microphone","pointerLock","popup",
"push"],
"Correct list of all permissions");
Assert.deepEqual(SitePermissions.listPageFunctionalityPermissions().sort(),
["cookie","desktop-notification","image","install","popup"],
"Correct list of 'page functionality' permissions");
Assert.deepEqual(SitePermissions.listSystemAccessPermissions().sort(),
["camera","geo","indexedDB","microphone","pointerLock","push"],
"Correct list of 'page functionality' permissions");
});

View File

@ -170,11 +170,6 @@
font-size: 150%;
}
.identity-popup-subheadline {
margin: 0;
font-weight: bold;
}
.identity-popup-warning-gray {
-moz-padding-start: 24px;
background: url(chrome://browser/skin/controlcenter/warning-gray.svg) no-repeat 0 50%;
@ -302,12 +297,6 @@ description#identity-popup-content-verifier,
margin-top: 5px;
}
#permission-subview-list-page-functionality,
#permission-subview-list-system-access {
margin: 3px 0;
-moz-margin-start: 3px;
}
#identity-popup-permission-list menulist.identity-popup-permission,
#identity-popup-permission-subview-list menulist.identity-popup-permission {
max-width: 10em;