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 // env.names() on object environments ignores property names that are not identifiers.
3 var g = newGlobal();
4 var dbg = Debugger(g);
5 var names;
6 g.h = function () {
7 names = dbg.getNewestFrame().environment.names();
8 };
9 g.eval("var obj = {a: 1};\n" +
10 "with ({a: 1, '0xcafe': 2, ' ': 3, '': 4, '0': 5}) h();");
11 assertEq(names.indexOf("a") !== -1, true);
12 assertEq(names.indexOf("0xcafe"), -1);
13 assertEq(names.indexOf(" "), -1);
14 assertEq(names.indexOf(""), -1);
15 assertEq(names.indexOf("0"), -1);