js/src/tests/js1_8_5/extensions/clone-errors.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 // |reftest| skip-if(!xulRuntime.shell)
     2 // -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
     3 // Any copyright is dedicated to the Public Domain.
     4 // http://creativecommons.org/licenses/publicdomain/
     6 function check(v) {
     7     try {
     8         serialize(v);
     9     } catch (exc) {
    10         return;
    11     }
    12     throw new Error("serializing " + uneval(v) + " should have failed with an exception");
    13 }
    15 // Unsupported object types.
    16 check(new Error("oops"));
    17 check(this);
    18 check(Math);
    19 check(function () {});
    20 check(Proxy.create({enumerate: function () { return []; }}));
    22 // A failing getter.
    23 check({get x() { throw new Error("fail"); }});
    25 reportCompare(0, 0, "ok");

mercurial