js/src/jit-test/tests/arguments/strict-eval.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 function strictEval(code, p)
     8 {
     9   "use strict";
    10   eval(code);
    11   return arguments;
    12 }
    14 var a1, a2, a3, a4, a5, a6;
    15 for (var i = 0; i < 5; i++)
    16 {
    17   a1 = strictEval("1", 2);
    18   a2 = strictEval("arguments");
    19   a3 = strictEval("p = 2");
    20   a4 = strictEval("p = 2", 17);
    21   a5 = strictEval("arguments[0] = 17");
    22   a6 = strictEval("arguments[0] = 17", 42);
    23 }
    25 assertEq(arraysEqual(a1, ["1", 2]), true);
    26 assertEq(arraysEqual(a2, ["arguments"]), true);
    27 assertEq(arraysEqual(a3, ["p = 2"]), true);
    28 assertEq(arraysEqual(a4, ["p = 2", 17]), true);
    29 assertEq(arraysEqual(a5, [17]), true);
    30 assertEq(arraysEqual(a6, [17, 42]), true);

mercurial