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 function getter() { return 1; }
2 function setter() { }
3 function getDescriptor(name) {
4 if (name != 'prop')
5 throw "Unknown property: " + name;
6 return { configurable: true, enumerable: true, get: getter, set: setter };
7 }
8 function getNames() { return ['prop']; }
9 var handler = {
10 getOwnPropertyDescriptor: getDescriptor,
11 getPropertyDescriptor: getDescriptor,
12 getOwnPropertyNames: getNames,
13 getPropertyNames: getNames,
14 defineProperty: function() {},
15 delete: function() {}
16 };
18 // Make sure that __lookup{Getter,Setter}__ works on proxies.
19 var proxy = Proxy.create(handler);
20 assertEq(Object.prototype.__lookupGetter__.call(proxy, 'prop'), getter);
21 assertEq(Object.prototype.__lookupSetter__.call(proxy, 'prop'), setter);