tor-browser

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

Frame-this-05.js (640B)


      1 // Frame.this and evalInFrame in the global scope.
      2 var g = newGlobal({newCompartment: true});
      3 g.eval("x = 4; this['.this'] = 222;");
      4 var dbg = new Debugger(g);
      5 var res;
      6 dbg.onDebuggerStatement = function (frame) {
      7    res = frame.eval("this.x").return;
      8    res += frame.this.unsafeDereference().x;
      9 };
     10 g.eval("debugger;");
     11 assertEq(res, 8);
     12 
     13 // And inside eval.
     14 g.eval("x = 3; eval('debugger')");
     15 assertEq(res, 6);
     16 g.eval("x = 2; eval('eval(\\'debugger\\')')");
     17 assertEq(res, 4);
     18 
     19 // And inside arrow functions.
     20 g.eval("x = 1; (() => { debugger; })()");
     21 assertEq(res, 2);
     22 g.eval("x = 5; (() => { eval('debugger'); })()");
     23 assertEq(res, 10);