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 // Debugger.prototype.findAllGlobals finds ALL the globals!
3 var g1 = newGlobal(); // Created before the Debugger; debuggee.
4 var g2 = newGlobal(); // Created before the Debugger; not debuggee.
6 var dbg = new Debugger;
8 var g3 = newGlobal(); // Created after the Debugger; debuggee.
9 var g4 = newGlobal(); // Created after the Debugger; not debuggee.
11 var g1w = dbg.addDebuggee(g1);
12 var g3w = dbg.addDebuggee(g3);
14 var a = dbg.findAllGlobals();
16 // Get Debugger.Objects viewing the globals from their own compartments;
17 // this is the sort that findAllGlobals and addDebuggee return.
18 var g2w = g1w.makeDebuggeeValue(g2).unwrap();
19 var g4w = g1w.makeDebuggeeValue(g4).unwrap();
20 var thisw = g1w.makeDebuggeeValue(this).unwrap();
22 // Check that they're all there.
23 assertEq(a.indexOf(g1w) != -1, true);
24 assertEq(a.indexOf(g2w) != -1, true);
25 assertEq(a.indexOf(g3w) != -1, true);
26 assertEq(a.indexOf(g4w) != -1, true);
27 assertEq(a.indexOf(thisw) != -1, true);