// An earlier onNewGlobalObject handler returning a 'throw' resumption // value causes later handlers not to run. load(libdir + 'asserts.js'); var dbg1 = new Debugger; var dbg2 = new Debugger; var dbg3 = new Debugger; var log; var count; dbg1.onNewGlobalObject = dbg2.onNewGlobalObject = dbg3.onNewGlobalObject = function (global) { count++; log += count; if (count == 2) return { throw: "snoo" }; return undefined; }; dbg2.uncaughtExceptionHook = function (exn) { assertEq(/disallowed/.test(exn), true); log += 'u'; }; log = ''; count = 0; assertEq(typeof newGlobal(), "object"); assertEq(log, '12u3');