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 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 load(libdir + "asserts.js");
8 // FIXME: Import from std::iteration.
9 const std_iterator = '@@iterator';
11 if (typeof assertIteratorResult === 'undefined') {
12 var assertIteratorResult = function assertIteratorResult(result, value, done) {
13 assertEq(typeof result, "object");
14 var expectedProps = ['done', 'value'];
15 var actualProps = Object.getOwnPropertyNames(result);
16 actualProps.sort(), expectedProps.sort();
17 assertDeepEq(actualProps, expectedProps);
18 assertDeepEq(result.value, value);
19 assertDeepEq(result.done, done);
20 }
21 }
23 if (typeof assertIteratorNext === 'undefined') {
24 var assertIteratorNext = function assertIteratorNext(iter, value) {
25 assertIteratorResult(iter.next(), value, false);
26 }
27 }
29 if (typeof assertIteratorDone === 'undefined') {
30 var assertIteratorDone = function assertIteratorDone(iter, value) {
31 assertIteratorResult(iter.next(), value, true);
32 }
33 }