tor-browser

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

Object-getProperty-02.js (696B)


      1 // tests calling script functions via Debugger.Object.prototype.getProperty
      2 // to see if they trigger debugger traps
      3 "use strict";
      4 
      5 var global = newGlobal({newCompartment: true});
      6 var dbg = new Debugger(global);
      7 dbg.onDebuggerStatement = onDebuggerStatement;
      8 
      9 let obj;
     10 global.eval(`
     11 const obj = {
     12    get prop() {
     13        debugger;
     14        return 42;
     15    }
     16 };
     17 
     18 debugger;
     19 `);
     20 
     21 
     22 function onDebuggerStatement(frame) {
     23    dbg.onDebuggerStatement = onDebuggerStatementGetter;
     24 
     25    obj = frame.environment.getVariable("obj");
     26 }
     27 
     28 let debuggerRan = false;
     29 
     30 assertEq(obj.getProperty("prop").return, 42);
     31 assertEq(debuggerRan, true);
     32 
     33 function onDebuggerStatementGetter(frame) {
     34    debuggerRan = true;
     35 }