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 // Return resumption values to non-debuggee frames.
3 load(libdir + 'asserts.js');
5 var g = newGlobal();
6 var dbg = new Debugger;
8 var log;
10 function handlerWithResumption(resumption) {
11 return function (frame) {
12 log += 'd';
13 dbg.removeDebuggee(g);
14 return resumption;
15 };
16 }
18 log = '';
19 dbg.onDebuggerStatement = handlerWithResumption(undefined);
20 dbg.addDebuggee(g);
21 assertEq(g.eval('debugger; 42;'), 42);
22 assertEq(log, 'd');
24 log = '';
25 dbg.onDebuggerStatement = handlerWithResumption({ return: 1729 });
26 dbg.addDebuggee(g);
27 assertEq(g.eval('debugger; 42;'), 1729);
28 assertEq(log, 'd');
30 log = '';
31 dbg.onDebuggerStatement = handlerWithResumption(null);
32 dbg.addDebuggee(g);
33 assertEq(g.evaluate('debugger; 42;', { catchTermination: true }), 'terminated');
34 assertEq(log, 'd');