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 this.__proto__ = null;
3 function testLenientAndStrict(code, lenient_pred, strict_pred) {
4 return (strict_pred("'use strict'; " + code) &&
5 lenient_pred(code));
6 }
7 function raisesException(exception) {
8 return function (code) {
9 try {
10 eval(code);
11 } catch (actual) {
12 }
13 };
14 };
15 try {
16 function arr() {
17 return Object.defineProperty(Object()* delete Object, 0, {writable: false});
18 }
19 assertEq(testLenientAndStrict('var a = arr(); [a.splice(0, 1), a]',
20 raisesException(TypeError),
21 raisesException(TypeError)),
22 true);
23 } catch (e) {}
24 ForIn_2(this);
25 function ForIn_2(object) {
26 for ( property in object ) {
27 with ( object ) {
28 }
29 }
30 }