tor-browser

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

Debugger-debuggees-20.js (1237B)


      1 // addAllGlobalsAsDebuggees adds all the globals as debuggees.
      2 
      3 var g1 = newGlobal({newCompartment: true});           // Created before the Debugger; debuggee.
      4 var g2 = newGlobal({newCompartment: true});           // Created before the Debugger; not debuggee.
      5 
      6 var dbg = new Debugger;
      7 
      8 var g3 = newGlobal({newCompartment: true});           // Created after the Debugger; debuggee.
      9 var g4 = newGlobal({newCompartment: true});           // Created after the Debugger; not debuggee.
     10 
     11 var g1w = dbg.addDebuggee(g1);
     12 var g3w = dbg.addDebuggee(g3);
     13 assertEq(dbg.addAllGlobalsAsDebuggees(), undefined);
     14 
     15 // Get Debugger.Objects viewing the WindowProxies from their own compartments.
     16 assertEq(g1w.makeDebuggeeValue(g1), g3w.makeDebuggeeValue(g1).unwrap());
     17 assertEq(g3w.makeDebuggeeValue(g3), g1w.makeDebuggeeValue(g3).unwrap());
     18 
     19 var g2w = g1w.makeDebuggeeValue(g2).unwrap();
     20 var g4w = g1w.makeDebuggeeValue(g4).unwrap();
     21 
     22 var thisw = g1w.makeDebuggeeValue(this).unwrap();
     23 
     24 // Check that they're all there.
     25 assertEq(dbg.hasDebuggee(g1w), true);
     26 assertEq(dbg.hasDebuggee(g2w), true);
     27 assertEq(dbg.hasDebuggee(g3w), true);
     28 assertEq(dbg.hasDebuggee(g4w), true);
     29 // The debugger's global is not a debuggee.
     30 assertEq(dbg.hasDebuggee(thisw), false);