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 the descriptor returned by the trap
2 var target = {};
3 Object.defineProperty(target, 'foo', {
4 value: 'bar',
5 writable: true,
6 enumerable: false,
7 configurable: true
8 });
9 var desc = {
10 value: 'baz',
11 writable: false,
12 enumerable: true,
13 configurable: true
14 };
15 var desc1 = Object.getOwnPropertyDescriptor(new Proxy(target, {
16 getOwnPropertyDescriptor: function (target, name) {
17 return desc;
18 }
19 }), 'foo');
20 assertEq(desc1 == desc, false);
21 assertEq(desc1.value, 'baz');
22 assertEq(desc1.writable, false);
23 assertEq(desc1.enumerable, true);
24 assertEq(desc1.configurable, true);
26 var desc = {};
27 var desc1 = Object.getOwnPropertyDescriptor(new Proxy(target, {
28 getOwnPropertyDescriptor: function (target, name) {
29 return desc;
30 }
31 }), 'foo');
32 assertEq(desc1 == desc, false);
33 assertEq(desc1.value, undefined);
34 assertEq(desc1.writable, false);
35 assertEq(desc1.enumerable, false);
36 assertEq(desc1.configurable, false);