Sat, 03 Jan 2015 20:18:00 +0100
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');