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 accessor descriptors, the current descriptor is
6 * non-configurable, and the descriptor returned by the trap has a different
7 * getter.
8 */
9 var target = {};
10 Object.defineProperty(target, 'foo', {
11 get: function () {
12 return 'bar';
13 },
14 configurable: false
15 });
16 var caught = false;
17 assertThrowsInstanceOf(function () {
18 Object.getOwnPropertyDescriptor(new Proxy(target, {
19 getOwnPropertyDescriptor: function (target, name) {
20 return {
21 get: function () {
22 return 'baz';
23 },
24 configurable: false
25 };
26 }
27 }), 'foo');
28 }, TypeError);