1
// A breakpoint cleared during dispatch does not fire.
2
// (Breakpoint dispatch is well-behaved even when breakpoint handlers clear other breakpoints.)
4
var g = newGlobal('new-compartment');
7
dbg.onDebuggerStatement = function (frame) {
11
return function () { log += i; s.clearBreakpoint(h[1]); s.clearBreakpoint(h[2]); };
12
return function () { log += i; };
14
var offs = s.getLineOffsets(g.line0 + 2);
16
for (var i = 0; i < 4; i++) {
17
h[i] = {hit: handler(i)};
18
for (var j = 0; j < offs.length; j++)
19
s.setBreakpoint(offs[j], h[i]);
23
g.eval("var line0 = Error().lineNumber;\n" +
24
"debugger;\n" + // line0 + 1
25
"result = 'ok';\n"); // line0 + 2