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 * setter.
8 */
9 var target = {};
10 Object.defineProperty(target, 'foo', {
11 set: function (value) {i
12 target.foo = '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 set: function (value) {
22 target.foo = 'baz';
23 },
24 configurable: false
25 };
26 }
27 }), 'foo');
28 }, TypeError);