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 /*
2 * For eval and Function constructors, Script.prototype.sourceStart and
3 * Script.prototype.sourceLength should comprise the entire script (excluding
4 * arguments in the case of Function constructors)
5 */
6 let g = newGlobal();
7 let dbg = new Debugger(g);
9 var count = 0;
10 function test(string, range) {
11 dbg.onNewScript = function (script) {
12 ++count;
13 if (count % 2 == 0) {
14 assertEq(script.sourceStart, range[0]);
15 assertEq(script.sourceLength, range[1]);
16 }
17 }
19 g.eval(string);
20 }
22 test("eval('2 * 3')", [0, 5]);
23 test("new Function('2 * 3')", [0, 5]);
24 test("new Function('x', 'x * x')", [0, 5]);
25 assertEq(count, 6);