js/src/jit-test/tests/proxy/testDirectProxyValidateProperty7.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 load(libdir + "asserts.js");
     3 /*
     4  * Throw a TypeError if both the current descriptor and the descriptor returned
     5  * by the trap are accessor descriptors, the current descriptor is
     6  * non-configurable, and the descriptor returned by the trap has a different
     7  * getter.
     8  */
     9 var target = {};
    10 Object.defineProperty(target, 'foo', {
    11     get: function () {
    12         return 'bar';
    13     },
    14     configurable: false
    15 });
    16 var caught = false;
    17 assertThrowsInstanceOf(function () { 
    18     Object.getOwnPropertyDescriptor(new Proxy(target, {
    19         getOwnPropertyDescriptor: function (target, name) {
    20             return {
    21                 get: function () {
    22                     return 'baz';
    23                 },
    24                 configurable: false
    25             };
    26         }
    27     }), 'foo');
    28 }, TypeError);

mercurial