js/src/jit-test/tests/debug/Environment-find-04.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 // env.find throws a TypeError if the argument is not an identifier.
     3 load(libdir + "asserts.js");
     5 var g = newGlobal();
     6 var dbg = Debugger(g);
     7 var hits = 0;
     8 g.h = function () {
     9     var env = dbg.getNewestFrame().environment;
    10     assertThrowsInstanceOf(function () { env.find(); }, TypeError);
    11     assertThrowsInstanceOf(function () { env.find(""); }, TypeError);
    12     assertThrowsInstanceOf(function () { env.find(" "); }, TypeError);
    13     assertThrowsInstanceOf(function () { env.find(0); }, TypeError);
    14     assertThrowsInstanceOf(function () { env.find("0"); }, TypeError);
    15     assertThrowsInstanceOf(function () { env.find("0xc"); }, TypeError);
    16     assertThrowsInstanceOf(function () { env.find("Anna Karenina"); }, TypeError);
    17     hits++;
    18 };
    19 g.eval("h();");
    20 g.eval("with ([1]) h();");
    21 assertEq(hits, 2);

mercurial