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 // test whether splice works on arguments
3 function splice_args () {
4 args = arguments;
5 return Array.prototype.splice.apply(args, [0, 5]);
6 }
8 var args;
9 var O = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
10 var A = splice_args.apply(undefined, O)
12 // args: [5, 6, 7, 8, 9]
13 assertEq(args[0], 5);
14 assertEq(args[1], 6);
15 assertEq(args[2], 7);
16 assertEq(args[3], 8);
17 assertEq(args[4], 9);
18 assertEq(args.length, 5);
20 // A: [0, 1, 2, 3, 4]
21 assertEq(A[0], 0);
22 assertEq(A[1], 1);
23 assertEq(A[2], 2);
24 assertEq(A[3], 3);
25 assertEq(A[4], 4);
26 assertEq(A.length, 5);
28 // O: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
29 assertEq(O[0], 0);
30 assertEq(O[1], 1);
31 assertEq(O[2], 2);
32 assertEq(O[3], 3);
33 assertEq(O[4], 4);
34 assertEq(O[5], 5);
35 assertEq(O[6], 6);
36 assertEq(O[7], 7);
37 assertEq(O[8], 8);
38 assertEq(O[9], 9);
39 assertEq(O.length, 10);