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 f1(foo, bar) foo + bar;
2 assertEq(f1.toString(), "function f1(foo, bar) foo + bar");
3 assertEq(f1.toString(), f1.toSource());
4 assertEq(decompileFunction(f1), f1.toString());
5 assertEq(decompileBody(f1), "foo + bar;");
6 // No semicolon on purpose
7 function f2(foo, bar) foo + bar
8 assertEq(f2.toString(), "function f2(foo, bar) foo + bar");
9 assertEq(f2.toString(), f2.toSource());
10 var f3 = function (foo, bar) foo + bar;
11 assertEq(f3.toSource(), "(function (foo, bar) foo + bar)");
12 assertEq(f3.toString(), "function (foo, bar) foo + bar");
13 // No semicolon on purpose
14 var f4 = function (foo, bar) foo + bar
15 assertEq(f4.toSource(), "(function (foo, bar) foo + bar)");
16 assertEq(f4.toString(), "function (foo, bar) foo + bar");
17 var f5 = function (foo, bar) foo + bar ;
18 assertEq(f5.toSource(), "(function (foo, bar) foo + bar)");
19 assertEq(f5.toString(), "function (foo, bar) foo + bar");
20 var f6 = function (foo, bar) foo + bar; var a = 42
21 assertEq(f6.toSource(), "(function (foo, bar) foo + bar)");
22 assertEq(f6.toString(), "function (foo, bar) foo + bar");
23 var f7 = function (foo, bar) foo + bar + '\
24 long\
25 string\
26 test\
27 '
28 // a comment followed by some space
31 assertEq(f7.toString(), "function (foo, bar) foo + bar + '\\\nlong\\\nstring\\\ntest\\\n'");
32 assertEq(f7.toSource(), "(" + f7.toString() + ")");