tor-browser

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

Debugger-onNativeCall-03.js (703B)


      1 // Test onNativeCall's behavior when used with self-hosted functions
      2 // and trampoline natives.
      3 
      4 load(libdir + 'eqArrayHelper.js');
      5 
      6 var g = newGlobal({newCompartment: true});
      7 var dbg = Debugger(g);
      8 var gdbg = dbg.addDebuggee(g);
      9 
     10 const rv = [];
     11 
     12 dbg.onEnterFrame = f => {
     13  rv.push("EnterFrame");
     14 };
     15 
     16 dbg.onNativeCall = f => {
     17  rv.push(f.displayName);
     18 };
     19 
     20 gdbg.executeInGlobal(`
     21  var x = [1,3,2];
     22  x.forEach((a) => {print(a)});
     23  x.sort((a, b) => {print(a)});
     24  x.sort(print);
     25 `);
     26 
     27 assertEqArray(rv, [
     28  "EnterFrame", "forEach",
     29  "EnterFrame", "print",
     30  "EnterFrame", "print",
     31  "EnterFrame", "print",
     32 
     33  "sort",
     34  "EnterFrame","print",
     35  "EnterFrame","print",
     36 
     37  "sort",
     38  "print",
     39  "print"
     40 ]);