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 reports an existing own property as
5 * non-existent on a non-extensible object
6 */
7 var target = {};
8 Object.defineProperty(target, 'foo', {
9 configurable: true
10 });
11 Object.preventExtensions(target);
12 var caught = false;
13 assertThrowsInstanceOf(function () {
14 ({}).hasOwnProperty.call(new Proxy(target, {
15 hasOwn: function (target, name) {
16 return false;
17 }
18 }), 'foo');
19 }, TypeError);