js/src/tests/js1_8_5/regress/regress-592556-c35.js

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 // Any copyright is dedicated to the Public Domain.
     2 // http://creativecommons.org/licenses/publicdomain/
     3 // Contributor: Jason Orendorff <jorendorff@mozilla.com>
     5 var obj = {a: 0, b: 1, c: 2};
     6 delete obj.b;  // switch to dictionary mode
     7 Object.defineProperty(obj, 'g',
     8                       {get: function () { return -1; }, configurable: true});
     9 for (var i = 3; i < 20; i++)
    10     obj['x' + i] = i;  // get property table
    11 for (var i = 3; i < 20; i++)
    12     delete obj['x' + i];  // add to freelist
    13 delete obj.g;  // must update lastProp->freeslot, to avoid assertion
    15 // extra junk to try to hit the assertion, if freeslot is not updated
    16 gc();
    17 obj.d = 3;
    18 obj.e = 4;
    20 reportCompare(0, 0, 'ok');

mercurial