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 foo(x) {
2 return !x;
3 }
5 assertEq(foo({}), false);
6 assertEq(foo({}), false);
7 assertEq(foo(1.1), false);
8 assertEq(foo(1.1), false);
9 assertEq(foo(0.0), true);
10 assertEq(foo(0.0), true);
11 assertEq(foo(null), true);
12 assertEq(foo(null), true);
13 assertEq(foo(undefined), true);
14 assertEq(foo(undefined), true);
15 assertEq(foo(Infinity), false);
16 assertEq(foo(Infinity), false);
17 assertEq(foo(NaN), true);
18 assertEq(foo(NaN), true);
19 assertEq(foo([]), false);
20 assertEq(foo([]), false);
21 assertEq(foo(''), true);
22 assertEq(foo(''), true);
23 assertEq(foo('x'), false);
24 assertEq(foo('x'), false);
25 assertEq(foo(true), false);
26 assertEq(foo(true), false);
27 assertEq(foo(false), true);
28 assertEq(foo(false), true);
29 assertEq(foo(-0.0), true);
30 assertEq(foo(-0.0), true);
31 assertEq(foo(objectEmulatingUndefined()), true);
32 assertEq(foo(objectEmulatingUndefined()), true);