tor-browser

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

onNewScript-eval-cache-02.js (484B)


      1 // onNewScript sees every script only once, even functions in cached eval scripts.
      2 
      3 var g = newGlobal({newCompartment: true});
      4 g.eval("function directEval(s) { return eval(s); }");
      5 
      6 var dbg = Debugger(g);
      7 var seen = new WeakMap;
      8 dbg.onNewScript = function (script) {
      9    assertEq(seen.has(script), false);
     10    seen.set(script, 1);
     11    script.getChildScripts().forEach(dbg.onNewScript);
     12 };
     13 
     14 var s = "(function (x) { return x + 1; })";
     15 for (var i = 0; i < 50; i++)
     16    g.directEval(s);