зеркало из https://github.com/mozilla/gecko-dev.git
bug 580128 - Fix compartment mistakes around document.domain stuff. r=mrbkap
This commit is contained in:
Родитель
15df9eaaec
Коммит
046cfa050e
|
@ -233,6 +233,7 @@ AccessCheck::isCrossOriginAccessPermitted(JSContext *cx, JSObject *wrapper, jsid
|
|||
scope = JS_GetScopeChain(cx);
|
||||
|
||||
nsIPrincipal *subject;
|
||||
nsIPrincipal *object;
|
||||
|
||||
{
|
||||
JSAutoEnterCompartment ac;
|
||||
|
@ -243,11 +244,17 @@ AccessCheck::isCrossOriginAccessPermitted(JSContext *cx, JSObject *wrapper, jsid
|
|||
subject = xpc->GetPrincipal(JS_GetGlobalForObject(cx, scope), PR_TRUE);
|
||||
}
|
||||
|
||||
nsIPrincipal *objprin =
|
||||
xpc->GetPrincipal(JS_GetGlobalForObject(cx, obj), PR_TRUE);
|
||||
{
|
||||
JSAutoEnterCompartment ac;
|
||||
|
||||
if (!ac.enter(cx, obj))
|
||||
return false;
|
||||
|
||||
object = xpc->GetPrincipal(JS_GetGlobalForObject(cx, obj), PR_TRUE);
|
||||
}
|
||||
|
||||
PRBool subsumes;
|
||||
if (NS_SUCCEEDED(subject->Subsumes(objprin, &subsumes)) && subsumes)
|
||||
if (NS_SUCCEEDED(subject->Subsumes(object, &subsumes)) && subsumes)
|
||||
return true;
|
||||
|
||||
return (act == JSWrapper::SET)
|
||||
|
|
Загрузка…
Ссылка в новой задаче