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 // defineProperty can set array elements
3 var g = newGlobal();
4 g.a = g.Array(0, 1, 2);
5 var dbg = new Debugger;
6 var gw = dbg.addDebuggee(g);
7 var aw = gw.getOwnPropertyDescriptor("a").value;
9 aw.defineProperty(0, {value: 'ok0'}); // by number
10 assertEq(g.a[0], 'ok0');
11 var desc = g.Object.getOwnPropertyDescriptor(g.a, "0");
12 assertEq(desc.configurable, true);
13 assertEq(desc.enumerable, true);
14 assertEq(desc.writable, true);
16 aw.defineProperty("1", {value: 'ok1'}); // by string
17 assertEq(g.a[1], 'ok1');
18 desc = g.Object.getOwnPropertyDescriptor(g.a, "1");
19 assertEq(desc.configurable, true);
20 assertEq(desc.enumerable, true);
21 assertEq(desc.writable, true);