tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Debugger-clearAllBreakpoints-01.js (826B)


      1 // clearAllBreakpoints clears breakpoints for the current Debugger object only.
      2 
      3 var g = newGlobal({newCompartment: true});
      4 
      5 var hits = 0;
      6 function attach(i) {
      7    var dbg = Debugger(g);
      8    var handler = {
      9        hit: function (frame) {
     10            hits++;
     11            dbg.clearAllBreakpoints();
     12        }
     13    };
     14 
     15    dbg.onDebuggerStatement = function (frame) {
     16        var s = frame.script;
     17        var offs = s.getLineOffsets(g.line0 + 3);
     18        for (var i = 0; i < offs.length; i++)
     19            s.setBreakpoint(offs[i], handler);
     20    };
     21 }
     22 for (var i = 0; i < 4; i++)
     23    attach(i);
     24 
     25 g.eval("var line0 = Error().lineNumber;\n" +
     26       "debugger;\n" +                      // line0 + 1
     27       "for (var i = 0; i < 7; i++)\n" +    // line0 + 2
     28       "    Math.sin(0);\n");               // line0 + 3
     29 assertEq(hits, 4);