tor-browser

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

Debugger-onEnterFrame-resumption-03.js (711B)


      1 // If debugger.onEnterFrame returns null, the debuggee is terminated immediately.
      2 
      3 load(libdir + "asserts.js");
      4 
      5 var g = newGlobal({newCompartment: true});
      6 g.set = false;
      7 
      8 var dbg = Debugger(g);
      9 var savedFrame;
     10 dbg.onDebuggerStatement = function (frame) {
     11    var innerSavedFrame;
     12    dbg.onEnterFrame = function (frame) {
     13        innerSavedFrame = frame;
     14        return null;
     15    };
     16    // Using frame.eval lets us catch termination.
     17    assertEq(frame.eval("set = true;"), null);
     18    assertEq(innerSavedFrame.onStack, false);
     19    savedFrame = frame;
     20    return { return: "pass" };
     21 };
     22 
     23 savedFrame = undefined;
     24 assertEq(g.eval("debugger;"), "pass");
     25 assertEq(savedFrame.onStack, false);
     26 assertEq(g.set, false);