js/src/jit-test/tests/proxy/testDirectProxyValidateProperty4.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 is writable.
     7  */
     8 var target = {};
     9 Object.defineProperty(target, 'foo', {
    10     value: 'bar',
    11     writable: false,
    12     configurable: false
    13 });
    14 assertThrowsInstanceOf(function () { 
    15     Object.getOwnPropertyDescriptor(new Proxy(target, {
    16         getOwnPropertyDescriptor: function (target, name) {
    17             return {
    18                 value: 'bar',
    19                 writable: true,
    20                 configurable: false
    21             };
    22         }
    23     }), 'foo');
    24 }, TypeError);

mercurial