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 // An Environment keeps its referent alive.
3 var g = newGlobal();
4 g.eval("function f(x) { return 2 * x; }");
5 var dbg = Debugger(g);
6 var env;
7 dbg.onEnterFrame = function (frame) { env = frame.environment; };
8 assertEq(g.f(22), 44);
9 dbg.onEnterFrame = undefined;
11 assertEq(env.find("x"), env);
12 assertEq(env.names().join(","), "arguments,x");
14 gc();
15 g.gc(g);
16 gc(env);
18 assertEq(env.find("x"), env);
19 assertEq(env.names().join(","), "arguments,x");