Thu, 15 Jan 2015 15:59:08 +0100
Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 // var statements in non-strict evalWithBindings code behave like non-strict direct eval.
2 var g = newGlobal();
3 var dbg = new Debugger(g);
4 var log;
5 dbg.onDebuggerStatement = function (frame) {
6 log += 'd';
7 assertEq(frame.evalWithBindings("var i = v; 42;", { v: 'inner' }).return, 42);
8 };
10 g.i = 'outer';
11 log = '';
12 assertEq(g.eval('debugger; i;'), 'inner');
13 assertEq(log, 'd');
15 g.j = 'outer';
16 log = '';
17 assertEq(g.eval('debugger; j;'), 'outer');
18 assertEq(log, 'd');