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 = "(none)";
8 var summary = "Sequential yields";
9 var actual, expect;
11 printBugNumber(BUGNUMBER);
12 printStatus(summary);
14 /**************
15 * BEGIN TEST *
16 **************/
18 function fib()
19 {
20 yield 0; // 0
21 yield 1; // 1
22 yield 1; // 2
23 yield 2; // 3
24 yield 3; // 4
25 yield 5; // 5
26 yield 8; // 6
27 }
29 var failed = false;
30 var it = fib();
32 try
33 {
34 if (it.next() != 0)
35 throw "0 failed";
36 if (it.next() != 1)
37 throw "1 failed";
38 if (it.next() != 1)
39 throw "2 failed";
40 if (it.next() != 2)
41 throw "3 failed";
42 if (it.next() != 3)
43 throw "4 failed";
44 if (it.next() != 5)
45 throw "5 failed";
46 if (it.next() != 8)
47 throw "6 failed";
49 var stopPassed = false;
50 try
51 {
52 it.next();
53 }
54 catch (e)
55 {
56 if (e === StopIteration)
57 stopPassed = true;
58 }
59 if (!stopPassed)
60 throw "missing or incorrect StopIteration";
61 }
62 catch (e)
63 {
64 failed = e;
65 }
69 expect = false;
70 actual = failed;
72 reportCompare(expect, actual, summary);