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 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 //-----------------------------------------------------------------------------
7 var BUGNUMBER = 369696;
8 var summary = 'Do not assert: map->depth > 0" in js_LeaveSharpObject';
9 var actual = '';
10 var expect = '';
12 // Bug 762908 requires us to set sp=null;
13 if (this.window) window.SpecialPowers = null;
15 //-----------------------------------------------------------------------------
16 test();
17 //-----------------------------------------------------------------------------
19 function test()
20 {
21 enterFunc ('test');
22 printBugNumber(BUGNUMBER);
23 printStatus (summary);
25 function fun() {}
26 n = fun.prototype;
27 n.__defineGetter__("prototype", n.toSource);
28 p = n.__lookupGetter__("prototype");
29 n = p;
31 assertEq(n, Object.prototype.toSource);
32 assertEq(p, Object.prototype.toSource);
34 n["prototype"] = [n];
35 n = p;
37 assertEq(n, Object.prototype.toSource);
38 assertEq(p, Object.prototype.toSource);
40 p2 = n["prototype"];
42 assertEq(Array.isArray(p2), true);
43 assertEq(p2[0], Object.prototype.toSource);
45 n = p2;
47 assertEq(n.toString, Array.prototype.toString);
48 n.__defineGetter__("0", n.toString);
49 n = p;
51 assertEq(n, Object.prototype.toSource);
53 n.call(this);
55 reportCompare(expect, actual, summary);
57 exitFunc ('test');
58 }