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 f(v1, v2, value)
2 {
3 var b = v1 == v2;
4 assertEq(b, value,
5 "failed: " + v1 + ", " + v2 + ": " + value);
6 }
8 var obj = {};
9 var emul = objectEmulatingUndefined();
11 f(obj, obj, true);
12 f(obj, obj, true);
13 f(emul, obj, false);
14 f(emul, obj, false);
15 f(obj, emul, false);
16 f(obj, emul, false);
17 f(Object.prototype, obj, false);
18 f(Object.prototype, obj, false);
19 f(emul, emul, true);
20 f(objectEmulatingUndefined(), emul, false);
21 f(objectEmulatingUndefined(), emul, false);
22 f(emul, objectEmulatingUndefined(), false);
23 f(emul, objectEmulatingUndefined(), false);