tor-browser

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

breakpoint-resume-03.js (781B)


      1 // A breakpoint handler hit method can return {return: val} to force the frame to return.
      2 
      3 var g = newGlobal({newCompartment: true});
      4 var dbg = Debugger(g);
      5 dbg.onDebuggerStatement = function (frame) {
      6    g.log += 'D';
      7 
      8    function hit(frame) {
      9        g.log += 'H';
     10        return {return: 'ok'};
     11    }
     12 
     13    var f = frame.eval("f").return;
     14    var s = f.script;
     15    var offs = s.getLineOffsets(g.line0 + 2);
     16    for (var i = 0; i < offs.length; i++)
     17        s.setBreakpoint(offs[i], {hit: hit});
     18 
     19    var rv = f.call();
     20    assertEq(rv.return, 'ok');
     21    g.log += 'X';
     22 };
     23 
     24 g.log = '';
     25 g.eval("line0 = Error().lineNumber;\n" +
     26       "function f() {\n" +     // line0 + 1
     27       "    log += '2';\n" +    // line0 + 2
     28       "}\n" +
     29       "debugger;\n");
     30 assertEq(g.log, 'DHX');