Bug 770407 - Remove overzealous assert in CrossCompartmentWrapper::nativeCall (r=waldo)

--HG--
extra : rebase_source : 3ba26a72d57b6af9854814a7ccca5c66dad2a597
This commit is contained in:
Luke Wagner 2012-07-03 18:51:02 -07:00
parent 036a3e3a9d
commit 568141cba6
2 changed files with 4 additions and 6 deletions

View File

@ -0,0 +1,4 @@
// |jit-test| error:TypeError
var otherGlobal = newGlobal("new-compartment");
var proxy = otherGlobal.Proxy.create({}, {});
Int8Array.set(proxy);

View File

@ -724,15 +724,9 @@ CrossCompartmentWrapper::construct(JSContext *cx, JSObject *wrapper_, unsigned a
return cx->compartment->wrap(cx, rval);
}
extern JSBool
js_generic_native_method_dispatcher(JSContext *cx, unsigned argc, Value *vp);
bool
CrossCompartmentWrapper::nativeCall(JSContext *cx, JSObject *wrapper, Class *clasp, Native native, CallArgs srcArgs)
{
JS_ASSERT_IF(!srcArgs.calleev().isUndefined(),
srcArgs.callee().toFunction()->native() == native ||
srcArgs.callee().toFunction()->native() == js_generic_native_method_dispatcher);
JS_ASSERT(srcArgs.thisv().isMagic(JS_IS_CONSTRUCTING) || &srcArgs.thisv().toObject() == wrapper);
JS_ASSERT(!UnwrapObject(wrapper)->isCrossCompartmentWrapper());