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 // The tracejit does not prevent onEnterFrame from being called after entering
2 // a debuggee compartment from a non-debuggee compartment.
4 var g1 = newGlobal();
5 var g2 = newGlobal();
6 var dbg = Debugger(g1, g2);
7 dbg.removeDebuggee(g2); // turn off debug mode in g2
9 g1.eval("function f() { return 1; }\n");
10 var N = g1.N = 11;
11 g1.eval("function h() {\n" +
12 " for (var i = 0; i < N; i += f()) {}\n" +
13 "}");
14 g1.h(); // record loop
16 var log = '';
17 dbg.onEnterFrame = function (frame) { log += frame.callee.name; };
18 g1.h();
19 assertEq(log, 'h' + Array(N + 1).join('f'));