tor-browser

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

bug1417961.js (678B)


      1 var evalInFrame = (function evalInFrame(global) {
      2    var dbgGlobal = newGlobal({newCompartment: true});
      3    var dbg = new dbgGlobal.Debugger();
      4    return function evalInFrame(upCount, code) {
      5 dbg.addDebuggee(global);
      6 var frame = dbg.getNewestFrame().older;
      7 for (var i = 0; i < upCount; i++)
      8     frame = frame.older;
      9 var completion = frame.eval(code);
     10 if (completion.throw)
     11     throw 1;
     12    };
     13 })(this);
     14 function f() {
     15    for (var i = 0; i < 10; - i)
     16 g();
     17 }
     18 function h() {
     19    evalInFrame(0, "a.push(1)");
     20    evalInFrame(1, "a.push(2)");
     21 }
     22 function g() {
     23    h();
     24 }
     25 try {
     26    f();
     27 } catch(e) {}
     28 var a = [];
     29 for (var i = 0; i < 3; i++)
     30    g();
     31 assertEq(a.length, 6);