Relanding fix for bug 390788.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@252172 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -249,13 +249,11 @@ EnsureLegalActivity(JSContext *cx, JSObject *obj)
|
||||
GetAppropriateSecurityManager(nsIXPCSecurityManager::HOOK_CALL_METHOD);
|
||||
nsCOMPtr<nsIScriptSecurityManager> ssm(do_QueryInterface(sm));
|
||||
|
||||
// A last ditch effort to allow access: if the subject principal is
|
||||
// the system principal, then some XPCNativeWrapper-using code has
|
||||
// passed one into other code. If that other code is chrome, then
|
||||
// allow access.
|
||||
PRBool isSystem;
|
||||
nsresult rv = ssm->SubjectPrincipalIsSystem(&isSystem);
|
||||
if (NS_SUCCEEDED(rv) && isSystem) {
|
||||
// A last ditch effort to allow access: if the currently-running code
|
||||
// has UniversalXPConnect privileges, then allow access.
|
||||
PRBool isPrivileged;
|
||||
nsresult rv = ssm->IsCapabilityEnabled("UniversalXPConnect", &isPrivileged);
|
||||
if (NS_SUCCEEDED(rv) && isPrivileged) {
|
||||
return JS_TRUE;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user