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 the trap sets a non-configurable accessor property that
5 * doest not have a setter
6 */
7 var target = {};
8 Object.defineProperty(target, 'foo', {
9 get: function () {
10 return 'bar'
11 },
12 configurable: false
13 });
14 assertThrowsInstanceOf(function () {
15 new Proxy(target, {
16 set: function (target, name, val, receiver) {
17 return true;
18 }
19 })['foo'] = 'baz';
20 }, TypeError);