Bug 601102 - Stop building exception backtrace at compartment boundaries (r=gal)

This commit is contained in:
Luke Wagner 2011-03-25 18:22:49 -07:00
parent 8038f06c2e
commit fa88e6da4a

View File

@ -296,6 +296,8 @@ InitExnPrivate(JSContext *cx, JSObject *exnObject, JSString *message,
stackDepth = 0;
valueCount = 0;
for (fp = js_GetTopStackFrame(cx); fp; fp = fp->prev()) {
if (fp->scopeChain().compartment() != cx->compartment)
break;
if (fp->isFunctionFrame() && !fp->isEvalFrame()) {
Value v = NullValue();
if (checkAccess &&
@ -337,6 +339,8 @@ InitExnPrivate(JSContext *cx, JSObject *exnObject, JSString *message,
values = GetStackTraceValueBuffer(priv);
elem = priv->stackElems;
for (fp = js_GetTopStackFrame(cx); fp != fpstop; fp = fp->prev()) {
if (fp->scopeChain().compartment() != cx->compartment)
break;
if (!fp->isFunctionFrame() || fp->isEvalFrame()) {
elem->funName = NULL;
elem->argc = 0;