tor-browser

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

Frame-onPop-multiple-04.js (830B)


      1 // If one Debugger's onPop handler causes another Debugger to create a
      2 // Debugger.Frame instance referring to the same frame, that frame still
      3 // gets marked as not live after all the onPop handlers have run.
      4 var g = newGlobal({newCompartment: true});
      5 var dbg1 = new Debugger(g);
      6 var dbg2 = new Debugger(g);
      7 
      8 var log;
      9 var frame2;
     10 
     11 dbg1.onEnterFrame = function handleEnter(frame) {
     12    log += '(';
     13    frame.onPop = function handlerPop1(c) {
     14        log += ')';
     15        frame2 = dbg2.getNewestFrame();
     16        assertEq(frame2.onStack, true);
     17        frame2.onPop = function handlePop2(c) {
     18            assertEq("late frame's onPop handler ran",
     19                     "late frame's onPop handler should not run");
     20        };
     21    };
     22 };
     23 
     24 log = '';
     25 assertEq(g.eval('40 + 2'), 42);
     26 assertEq(log, '()');
     27 assertEq(frame2.onStack, false);