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 // uneval works on objects with no callable .toSource method.
3 var obj = Object.create(null);
4 assertEq(uneval(obj), "({})");
5 assertEq(Function.prototype.toSource.call(obj), "({})");
6 obj.x = 1;
7 obj.y = 2;
8 assertEq(uneval(obj), "({x:1, y:2})");
10 var d = new Date();
11 delete Date.prototype.toSource;
12 assertEq(uneval(d), "({})");
14 delete Object.prototype.toSource;
15 assertEq(uneval({p: 2+2}), "({p:4})");
17 assertEq(uneval({toSource: [0]}), "({toSource:[0]})");