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/. */
5 'use strict'
7 const { setTimeout } = require('sdk/timers');
8 const { waitUntil } = require('sdk/test/utils');
10 exports.testWaitUntil = function (assert, done) {
11 let bool = false;
12 let finished = false;
13 waitUntil(() => {
14 if (finished)
15 assert.fail('interval should be cleared after predicate is truthy');
16 return bool;
17 }).then(function () {
18 assert.ok(bool,
19 'waitUntil shouldn\'t call until predicate is truthy');
20 finished = true;
21 done();
22 });
23 setTimeout(() => { bool = true; }, 20);
24 };
26 exports.testWaitUntilInterval = function (assert, done) {
27 let bool = false;
28 let finished = false;
29 let counter = 0;
30 waitUntil(() => {
31 if (finished)
32 assert.fail('interval should be cleared after predicate is truthy');
33 counter++;
34 return bool;
35 }, 50).then(function () {
36 assert.ok(bool,
37 'waitUntil shouldn\'t call until predicate is truthy');
38 assert.equal(counter, 1,
39 'predicate should only be called once with a higher interval');
40 finished = true;
41 done();
42 });
43 setTimeout(() => { bool = true; }, 10);
44 };
46 require('sdk/test').run(exports);