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 /*
2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/licenses/publicdomain/
4 * Contributor:
5 * Jeff Walden <jwalden+code@mit.edu>
6 */
8 //-----------------------------------------------------------------------------
9 var BUGNUMBER = 866700;
10 var summary = "Assertion redefining non-writable length to a non-numeric value";
12 print(BUGNUMBER + ": " + summary);
14 /**************
15 * BEGIN TEST *
16 **************/
18 var count = 0;
20 var convertible =
21 {
22 valueOf: function()
23 {
24 count++;
25 if (count > 2)
26 return 0;
27 throw new SyntaxError("fnord");
28 }
29 };
31 var arr = [];
32 Object.defineProperty(arr, "length", { value: 0, writable: false });
34 try
35 {
36 Object.defineProperty(arr, "length",
37 {
38 value: convertible,
39 writable: true,
40 configurable: true,
41 enumerable: true
42 });
43 throw new Error("didn't throw");
44 }
45 catch (e)
46 {
47 assertEq(e instanceof SyntaxError, true, "expected SyntaxError, got " + e);
48 }
50 assertEq(count, 1);
51 assertEq(arr.length, 0);
53 /******************************************************************************/
55 if (typeof reportCompare === "function")
56 reportCompare(true, true);
58 print("Tests complete");