Bug 1320557 - Prevent broken UI from invalid permission states. r=Gijs
MozReview-Commit-ID: FxmCHoLx0lE
--- a/browser/base/content/pageinfo/permissions.js
+++ b/browser/base/content/pageinfo/permissions.js
@@ -178,17 +178,19 @@ function onRadioClick(aPartId)
var id = radioGroup.selectedItem.id;
var permission = id.split('#')[1];
SitePermissions.set(gPermURI, aPartId, permission);
}
function setRadioState(aPartId, aValue)
{
var radio = document.getElementById(aPartId + "#" + aValue);
- radio.radioGroup.selectedItem = radio;
+ if (radio) {
+ radio.radioGroup.selectedItem = radio;
+ }
}
function initIndexedDBRow()
{
let row = document.getElementById("perm-indexedDB-row");
let extras = document.getElementById("perm-indexedDB-extras");
row.appendChild(extras);
--- a/browser/modules/SitePermissions.jsm
+++ b/browser/modules/SitePermissions.jsm
@@ -181,17 +181,17 @@ this.SitePermissions = {
return gStringBundle.GetStringFromName("alwaysAsk");
case this.ALLOW:
return gStringBundle.GetStringFromName("allow");
case this.SESSION:
return gStringBundle.GetStringFromName("allowForSession");
case this.BLOCK:
return gStringBundle.GetStringFromName("block");
default:
- throw new Error("unknown permission state");
+ return null;
}
}
};
var gPermissionObject = {
/* Holds permission ID => options pairs.
*
* Supported options: