author | Carsten "Tomcat" Book <cbook@mozilla.com> |
Wed, 25 May 2016 12:02:30 +0200 | |
changeset 298937 | b8dbe70e2500cbd910c21c1b3626346121c71004 |
parent 298936 | 2dc65c74bfa6c40479deb070b912b7bd2d151550 |
child 298938 | 73cf91bc2b67d55c6ba57c12b447faf9fd9e6b3b |
push id | 30286 |
push user | kwierso@gmail.com |
push date | Wed, 25 May 2016 22:33:39 +0000 |
treeherder | mozilla-central@1012461fa7bb [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
bugs | 1274193 |
milestone | 49.0a1 |
backs out | b47a1a49cda2c961c45d851b85df1b2cf97d0a57 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/js/src/jsfriendapi.cpp +++ b/js/src/jsfriendapi.cpp @@ -398,38 +398,33 @@ JS_FRIEND_API(bool) js::RunningWithTrustedPrincipals(JSContext* cx) { return cx->runningWithTrustedPrincipals(); } JS_FRIEND_API(JSFunction*) js::GetOutermostEnclosingFunctionOfScriptedCaller(JSContext* cx) { - ScriptFrameIter iter(cx, FrameIter::GO_THROUGH_SAVED); + ScriptFrameIter iter(cx, FrameIter::STOP_AT_SAVED); // Skip eval frames. while (!iter.done() && iter.isEvalFrame()) ++iter; if (iter.done()) return nullptr; if (!iter.isFunctionFrame()) return nullptr; - if (iter.compartment() != cx->compartment()) - return nullptr; - RootedFunction curr(cx, iter.callee(cx)); for (StaticScopeIter<NoGC> i(curr); !i.done(); i++) { if (i.type() == StaticScopeIter<NoGC>::Function) curr = &i.fun(); } - - assertSameCompartment(cx, curr); return curr; } JS_FRIEND_API(JSFunction*) js::DefineFunctionWithReserved(JSContext* cx, JSObject* objArg, const char* name, JSNative call, unsigned nargs, unsigned attrs) { RootedObject obj(cx, objArg);