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.
michael@0 | 1 | // Forward to the target if the trap is not defined |
michael@0 | 2 | var target = {}; |
michael@0 | 3 | Object.defineProperty(target, 'foo', { |
michael@0 | 4 | value: 'bar', |
michael@0 | 5 | writable: true, |
michael@0 | 6 | enumerable: false, |
michael@0 | 7 | configurable: true |
michael@0 | 8 | }); |
michael@0 | 9 | var desc = Object.getOwnPropertyDescriptor(Proxy(target, {}), 'foo'); |
michael@0 | 10 | assertEq(desc.value, 'bar'); |
michael@0 | 11 | assertEq(desc.writable, true); |
michael@0 | 12 | assertEq(desc.enumerable, false); |
michael@0 | 13 | assertEq(desc.configurable, true); |
michael@0 | 14 | |
michael@0 | 15 | var proto = {}; |
michael@0 | 16 | Object.defineProperty(proto, 'foo', { |
michael@0 | 17 | value: 'bar', |
michael@0 | 18 | writable: true, |
michael@0 | 19 | enumerable: false, |
michael@0 | 20 | configurable: true |
michael@0 | 21 | }); |
michael@0 | 22 | var target = Object.create(proto); |
michael@0 | 23 | assertEq(Object.getOwnPropertyDescriptor(Proxy(target, {}), 'foo'), undefined); |