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 // |reftest| skip-if(!xulRuntime.shell) -- bug xxx - fails to dismiss alert
2 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 //-----------------------------------------------------------------------------
8 var BUGNUMBER = 341821;
9 var summary = 'Close hook crash';
10 var actual = 'No Crash';
11 var expect = 'No Crash';
13 var ialert = 0;
15 //-----------------------------------------------------------------------------
16 //test();
17 //-----------------------------------------------------------------------------
19 function test()
20 {
21 enterFunc ('test');
22 printBugNumber(BUGNUMBER);
23 printStatus (summary);
25 function generator()
26 {
27 try {
28 yield [];
29 } finally {
30 make_iterator();
31 }
32 }
34 function make_iterator()
35 {
36 var iter = generator();
37 iter.next();
38 iter = null;
39 if (typeof alert != 'undefined')
40 {
41 alert(++ialert);
42 }
43 }
45 make_iterator();
47 // Trigger GC through the branch callback.
48 for (var i = 0; i != 50000; ++i) {
49 var x = {};
50 }
52 print('done');
53 reportCompare(expect, actual, summary);
55 exitFunc ('test');
56 }
58 function init()
59 {
60 // give the dialog closer time to register
61 setTimeout('runtest()', 5000);
62 }
64 function runtest()
65 {
66 test();
67 reportCompare(expect, actual, summary);
68 gDelayTestDriverEnd = false;
69 jsTestDriverEnd();
70 }
72 if (typeof window != 'undefined')
73 {
74 // delay test driver end
75 gDelayTestDriverEnd = true;
77 window.addEventListener("load", init, false);
78 }
79 else
80 {
81 reportCompare(expect, actual, summary);
82 }