js/src/jit-test/tests/arguments/strict-eval-mutation.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 /*
     2  * Any copyright is dedicated to the Public Domain.
     3  * http://creativecommons.org/licenses/publicdomain/
     4  */
     5 load(libdir + 'array-compare.js');
     7 var obj = {};
     9 function strictEvalMutation(code)
    10 {
    11   "use strict";
    12   return eval(code);
    13 }
    15 var a1, a2;
    16 for (var i = 0; i < 5; i++)
    17 {
    18   a1 = strictEvalMutation("code = 17; arguments");
    19   a2 = strictEvalMutation("arguments[0] = 17; arguments");
    20   assertEq(strictEvalMutation("arguments[0] = 17; code"), "arguments[0] = 17; code");
    21 }
    23 assertEq(arraysEqual(a1, ["code = 17; arguments"]), true);
    24 assertEq(arraysEqual(a2, [17]), true);

mercurial