js/src/jit-test/tests/arguments/strict-args-flushstack.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 var args;
     7 function test()
     8 {
     9   "use strict";
    10   eval("args = arguments;");
    11   var a = [];
    12   for (var i = 0; i < 9; i++)
    13     a.push(arguments);
    14   return a;
    15 }
    17 var a = test();
    19 assertEq(Array.isArray(a), true);
    20 assertEq(a.length, 9);
    22 var count = 0;
    23 a.forEach(function(v, i) { count++; assertEq(v, args); });
    24 assertEq(count, 9);
    26 assertEq(Object.prototype.toString.call(args), "[object Arguments]");
    27 assertEq(args.length, 0);

mercurial