js/src/jit-test/tests/basic/bug642164.js

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

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) {}

mercurial