Disable optimization that relies on invariants we don't maintain. Bug 317240
wallpaper, r+sr=jst git-svn-id: svn://10.0.0.236/trunk@195964 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -416,11 +416,8 @@ private:
|
||||
// Returns null if a principal cannot be found; generally callers
|
||||
// should error out at that point.
|
||||
static nsIPrincipal*
|
||||
doGetObjectPrincipal(JSContext *cx, JSObject *obj
|
||||
#ifdef DEBUG
|
||||
, PRBool aAllowShortCircuit = PR_TRUE
|
||||
#endif
|
||||
);
|
||||
doGetObjectPrincipal(JSContext *cx, JSObject *obj,
|
||||
PRBool aAllowShortCircuit = PR_FALSE);
|
||||
|
||||
// Returns null if a principal cannot be found. Note that rv can be NS_OK
|
||||
// when this happens -- this means that there was no JS running.
|
||||
|
||||
@@ -2130,11 +2130,8 @@ nsScriptSecurityManager::GetObjectPrincipal(JSContext *aCx, JSObject *aObj,
|
||||
|
||||
// static
|
||||
nsIPrincipal*
|
||||
nsScriptSecurityManager::doGetObjectPrincipal(JSContext *aCx, JSObject *aObj
|
||||
#ifdef DEBUG
|
||||
, PRBool aAllowShortCircuit
|
||||
#endif
|
||||
)
|
||||
nsScriptSecurityManager::doGetObjectPrincipal(JSContext *aCx, JSObject *aObj,
|
||||
PRBool aAllowShortCircuit)
|
||||
{
|
||||
NS_ASSERTION(aCx && aObj, "Bad call to doGetObjectPrincipal()!");
|
||||
nsIPrincipal* result = nsnull;
|
||||
@@ -2163,12 +2160,9 @@ nsScriptSecurityManager::doGetObjectPrincipal(JSContext *aCx, JSObject *aObj
|
||||
|
||||
if (NS_LIKELY(xpcWrapper != nsnull))
|
||||
{
|
||||
#ifdef DEBUG
|
||||
if (aAllowShortCircuit)
|
||||
if (NS_UNLIKELY(aAllowShortCircuit))
|
||||
{
|
||||
#endif
|
||||
result = xpcWrapper->GetObjectPrincipal();
|
||||
#ifdef DEBUG
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2179,7 +2173,6 @@ nsScriptSecurityManager::doGetObjectPrincipal(JSContext *aCx, JSObject *aObj
|
||||
result = objPrin->GetPrincipal();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user