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 /*
2 js> (((-1 >>> 1) + 1) * Math.pow(2, 52 - 30) + 1) & 1
3 0
4 js> (((-1 >> 1) + 1) * Math.pow(2, 52 - 30) + 1) & 1
5 1
6 */
8 function f(x) {
9 if (x >= 0) {
10 // if it does not fail, try with lower power of 2.
11 return (((x >>> 1) + 1) * 4194304 /* 2 ** (52 - 30) */ + 1) & 1;
12 }
13 return 2;
14 }
16 assertEq(f(-1 >>> 1), 1);
17 assertEq(f(-1 >>> 0), 0);
18 assertEq(f(-1 >>> 0), 0);