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.
michael@0 | 1 | var f = Function("a", "b", "return a + b;"); |
michael@0 | 2 | assertEq(f.toString(), "function anonymous(a, b) {\nreturn a + b;\n}"); |
michael@0 | 3 | assertEq(f.toSource(), "(function anonymous(a, b) {\nreturn a + b;\n})"); |
michael@0 | 4 | assertEq(decompileFunction(f), f.toString()); |
michael@0 | 5 | assertEq(decompileBody(f), "return a + b;"); |
michael@0 | 6 | f = Function("a", "...rest", "return rest[42] + b;"); |
michael@0 | 7 | assertEq(f.toString(), "function anonymous(a, ...rest) {\nreturn rest[42] + b;\n}"); |
michael@0 | 8 | assertEq(f.toSource(), "(function anonymous(a, ...rest) {\nreturn rest[42] + b;\n})") |
michael@0 | 9 | assertEq(decompileFunction(f), f.toString()); |
michael@0 | 10 | assertEq(decompileBody(f), "return rest[42] + b;"); |
michael@0 | 11 | f = Function("x", "return let (y) x;"); |
michael@0 | 12 | assertEq(f.toSource(), "(function anonymous(x) {\nreturn let (y) x;\n})"); |
michael@0 | 13 | f = Function(""); |
michael@0 | 14 | assertEq(f.toString(), "function anonymous() {\n\n}"); |
michael@0 | 15 | f = Function("", "(abc)"); |
michael@0 | 16 | assertEq(f.toString(), "function anonymous() {\n(abc)\n}"); |
michael@0 | 17 | f = Function("", "return function (a, b) a + b;")(); |
michael@0 | 18 | assertEq(f.toString(), "function (a, b) a + b"); |