mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-28 21:28:55 +00:00
Bug 1338009 - Utils#deserializePrincipal should return NullPrincipal if deserialization fails. r=mikedeboer
This commit is contained in:
parent
78ab903fce
commit
1cc7d653f7
@ -429,29 +429,16 @@ var SessionHistoryInternal = {
|
||||
// FF55 will remove the triggeringPrincipal_b64, see Bug 1301666.
|
||||
if (entry.triggeringPrincipal_base64 || entry.principalToInherit_base64) {
|
||||
if (entry.triggeringPrincipal_base64) {
|
||||
try {
|
||||
shEntry.triggeringPrincipal =
|
||||
Utils.deserializePrincipal(entry.triggeringPrincipal_base64);
|
||||
} catch (e) {
|
||||
debug(e);
|
||||
}
|
||||
shEntry.triggeringPrincipal =
|
||||
Utils.deserializePrincipal(entry.triggeringPrincipal_base64);
|
||||
}
|
||||
if (entry.principalToInherit_base64) {
|
||||
try {
|
||||
shEntry.principalToInherit =
|
||||
Utils.deserializePrincipal(entry.principalToInherit_base64);
|
||||
} catch (e) {
|
||||
debug(e);
|
||||
}
|
||||
shEntry.principalToInherit =
|
||||
Utils.deserializePrincipal(entry.principalToInherit_base64);
|
||||
}
|
||||
} else if (entry.triggeringPrincipal_b64) {
|
||||
try {
|
||||
shEntry.triggeringPrincipal = Utils.deserializePrincipal(entry.triggeringPrincipal_b64);
|
||||
shEntry.principalToInherit = shEntry.triggeringPrincipal;
|
||||
}
|
||||
catch (e) {
|
||||
debug(e);
|
||||
}
|
||||
shEntry.triggeringPrincipal = Utils.deserializePrincipal(entry.triggeringPrincipal_b64);
|
||||
shEntry.principalToInherit = shEntry.triggeringPrincipal;
|
||||
}
|
||||
|
||||
if (entry.children && shEntry instanceof Ci.nsISHContainer) {
|
||||
|
@ -1425,30 +1425,16 @@ SessionStore.prototype = {
|
||||
// FF55 will remove the triggeringPrincipal_b64, see Bug 1301666.
|
||||
if (aEntry.triggeringPrincipal_base64 || aEntry.principalToInherit_base64) {
|
||||
if (aEntry.triggeringPrincipal_base64) {
|
||||
try {
|
||||
shEntry.triggeringPrincipal =
|
||||
Utils.deserializePrincipal(aEntry.triggeringPrincipal_base64);
|
||||
}
|
||||
catch (e) {
|
||||
dump(e);
|
||||
}
|
||||
shEntry.triggeringPrincipal =
|
||||
Utils.deserializePrincipal(aEntry.triggeringPrincipal_base64);
|
||||
}
|
||||
if (aEntry.principalToInherit_base64) {
|
||||
try {
|
||||
shEntry.principalToInherit =
|
||||
Utils.deserializePrincipal(aEntry.principalToInherit_base64);
|
||||
} catch (e) {
|
||||
dump(e);
|
||||
}
|
||||
shEntry.principalToInherit =
|
||||
Utils.deserializePrincipal(aEntry.principalToInherit_base64);
|
||||
}
|
||||
} else if (aEntry.triggeringPrincipal_b64) {
|
||||
try {
|
||||
shEntry.triggeringPrincipal = Utils.deserializePrincipal(aEntry.triggeringPrincipal_b64);
|
||||
shEntry.principalToInherit = shEntry.triggeringPrincipal;
|
||||
}
|
||||
catch (e) {
|
||||
dump(e);
|
||||
}
|
||||
shEntry.triggeringPrincipal = Utils.deserializePrincipal(aEntry.triggeringPrincipal_b64);
|
||||
shEntry.principalToInherit = shEntry.triggeringPrincipal;
|
||||
}
|
||||
|
||||
if (aEntry.children && shEntry instanceof Ci.nsISHContainer) {
|
||||
|
@ -22,6 +22,10 @@ XPCOMUtils.defineLazyGetter(this, "SERIALIZED_SYSTEMPRINCIPAL", function() {
|
||||
return Utils.serializePrincipal(Services.scriptSecurityManager.getSystemPrincipal());
|
||||
});
|
||||
|
||||
function debug(msg) {
|
||||
Services.console.logStringMessage("Utils: " + msg);
|
||||
}
|
||||
|
||||
this.Utils = Object.freeze({
|
||||
get SERIALIZED_SYSTEMPRINCIPAL() { return SERIALIZED_SYSTEMPRINCIPAL; },
|
||||
|
||||
@ -132,9 +136,13 @@ this.Utils = Object.freeze({
|
||||
if (!principal_b64)
|
||||
return null;
|
||||
|
||||
let principal = serializationHelper.deserializeObject(principal_b64);
|
||||
principal.QueryInterface(Ci.nsIPrincipal);
|
||||
|
||||
return principal;
|
||||
try {
|
||||
let principal = serializationHelper.deserializeObject(principal_b64);
|
||||
principal.QueryInterface(Ci.nsIPrincipal);
|
||||
return principal;
|
||||
} catch (e) {
|
||||
debug(`Failed to deserialize principal_b64 '${principal_b64}' ${e}`);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user