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 load(libdir + "asserts.js");
3 /*
4 * Throw a TypeError if both the current descriptor and the descriptor returned
5 * by the trap are data descriptors, the current descriptor is non-configurable
6 * and non-writable, and the descriptor returned by the trap is writable.
7 */
8 var target = {};
9 Object.defineProperty(target, 'foo', {
10 value: 'bar',
11 writable: false,
12 configurable: false
13 });
14 assertThrowsInstanceOf(function () {
15 Object.getOwnPropertyDescriptor(new Proxy(target, {
16 getOwnPropertyDescriptor: function (target, name) {
17 return {
18 value: 'bar',
19 writable: true,
20 configurable: false
21 };
22 }
23 }), 'foo');
24 }, TypeError);