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 tryItOut(code) {
2 try {
3 f = Function(code)
4 } catch (r) {}
5 v = tryRunning(f, code)
6 x = String;
7 for (e in v) {}
8 }
9 function tryRunning() {
10 try {
11 rv = f();
12 return rv;
13 } catch (r) {
14 x = String;
15 }
16 }
17 __proto__.__defineSetter__("x", function() {});
18 tryItOut("/()/;\"\"()");
19 tryItOut("}");
20 tryItOut("");
21 tryItOut("o");
22 tryItOut(")");
23 tryItOut("(");
24 tryItOut(")");
25 tryItOut("}");
26 tryItOut("}");
27 tryItOut(")");
28 tryItOut(")");
29 tryItOut("");
30 tryItOut("l;function u(){/j/}");
31 tryItOut("(");
32 tryItOut("t");
33 tryItOut("(");
34 tryItOut(")");
35 tryItOut("(");
36 tryItOut("");
37 tryItOut("{t:g}");
38 tryItOut("r");
39 tryItOut("p");
40 tryItOut("gc()");
41 tryItOut("verifybarriers()");
42 tryItOut("/**/yield");