js/src/jit-test/tests/proxy/testDirectProxyValidateProperty5.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 data descriptors, the current descriptor is non-configurable
     6  * and non-writable, and the descriptor returned by the trap does not have the
     7  * same value.
     8  */
     9 var target = {};
    10 Object.defineProperty(target, 'foo', {
    11     value: 'bar',
    12     writable: false,
    13     configurable: false
    14 });
    15 var caught = false;
    16 assertThrowsInstanceOf(function () { 
    17     Object.getOwnPropertyDescriptor(new Proxy(target, {
    18         getOwnPropertyDescriptor: function (target, name) {
    19             return {
    20                 value: 'baz',
    21                 writable: false,
    22                 configurable: false
    23             };
    24         }
    25     }), 'foo');
    26 }, TypeError);

mercurial