function testHook(hookName) { var newestG1Frame = dbg1.getNewestFrame(); if (hookName != 'onNewGlobalObject' &&
hookName != 'onNewScript' &&
hookName != 'onNewPromise' &&
hookName != 'onPromiseSettled')
{ var newestG2Frame = dbg2.getNewestFrame();
}
for (var s of strs) { // When this hook is called, g1 has been locked twice, so even invocation // functions do not work.
assertEq(g1w1.executeInGlobal(s).throw.unsafeDereference() instanceof Debugger.DebuggeeWouldRun, true);
assertEq(g1w2.executeInGlobal(s).throw.unsafeDereference() instanceof Debugger.DebuggeeWouldRun, true); if (newestG1Frame) {
assertEq(newestG1Frame.eval(s).throw.unsafeDereference() instanceof Debugger.DebuggeeWouldRun, true);
}
assertEq(fw1.apply(null).throw.unsafeDereference() instanceof Debugger.DebuggeeWouldRun, true);
// But g2 has only been locked once and so should work.
assertEq(g2w.executeInGlobal(s).throw, undefined); if (newestG2Frame) {
assertEq(newestG2Frame.eval(s).throw, undefined);
}
assertEq(fw2.apply(null).return, 42);
}
}