| // Activity in the debugger compartment should not trigger debug hooks. |
| |
| var g = newGlobal(); |
| var hit = false; |
| |
| var dbg = Debugger(g); |
| dbg.onDebuggerStatement = function (stack) { hit = true; }; |
| |
| debugger; |
| assertEq(hit, false, "raw debugger statement in debugger compartment should not hit"); |
| |
| g.f = function () { debugger; }; |
| g.eval("f();"); |
| assertEq(hit, false, "debugger statement in debugger compartment function should not hit"); |
| |
| g.outerEval = eval; |
| g.eval("outerEval('debugger;');"); |
| assertEq(hit, false, "debugger statement in debugger compartment eval code should not hit"); |
| |
| var g2 = newGlobal(); |
| g2.eval("debugger;"); |
| assertEq(hit, false, "debugger statement in unrelated non-debuggee compartment should not hit"); |