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 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);