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 load(libdir + "asserts.js");
3 function g() {
4 }
6 let a = {
7 g: function() {
8 }
9 };
11 function check(expr) {
12 assertThrowsInstanceOf(Function(expr), ReferenceError);
13 }
15 check("g(...[]) = 1");
16 check("a.g(...[]) = 1");
17 check("eval(...['1']) = 1");
18 check("[g(...[])] = 1");
19 check("[a.g(...[])] = 1");
20 check("[eval(...['1'])] = 1");
21 check("({y: g(...[])}) = 1");
22 check("({y: a.g(...[])}) = 1");
23 check("({y: eval(...['1'])}) = 1");
24 check("g(...[]) ++");
25 check("a.g(...[]) ++");
26 check("eval(...['1']) ++");