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 function raisesException(exception) {
2 return function (code) {
3 eval(code);
4 };
5 };
6 function obj() {
7 var o = { assertEq: true, y: 1 };
8 Object.defineProperty(o, 'x', { writable: false });
9 return o;
10 }
11 function in_strict_with(expr) {
12 return "with(obj()) { (function () { 'use strict'; " + expr + " })(); }";
13 }
14 try { assertEq(raisesException(TypeError)(in_strict_with('x++;')), true); } catch (e) {}