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 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
4 function run_test() {
5 do_test_pending();
7 removeMetadata();
8 removeCacheFile();
10 do_load_manifest("data/chrome.manifest");
12 let url = "chrome://testsearchplugin/locale/searchplugins/";
13 Services.prefs.setCharPref("browser.search.jarURIs", url);
14 Services.prefs.setBoolPref("browser.search.loadFromJars", true);
16 do_check_false(Services.search.isInitialized);
17 let fallback = false;
19 Services.search.init(function search_initialized(aStatus) {
20 do_check_true(fallback);
21 do_check_true(Components.isSuccessCode(aStatus));
22 do_check_true(Services.search.isInitialized);
24 // test engines from dir are loaded.
25 let engines = Services.search.getEngines();
26 do_check_true(engines.length > 1);
28 // test jar engine is loaded ok.
29 let engine = Services.search.getEngineByName("bug645970");
30 do_check_neq(engine, null);
32 Services.prefs.clearUserPref("browser.search.jarURIs");
33 Services.prefs.clearUserPref("browser.search.loadFromJars");
35 do_test_finished();
36 });
38 // Execute test for the sync fallback while the async code is being executed.
39 Services.obs.addObserver(function searchServiceObserver(aResult, aTopic, aVerb) {
40 if (aVerb == "find-jar-engines") {
41 Services.obs.removeObserver(searchServiceObserver, aTopic);
42 fallback = true;
44 do_check_false(Services.search.isInitialized);
46 // test engines from dir are loaded.
47 let engines = Services.search.getEngines();
48 do_check_true(engines.length > 1);
50 // test jar engine is loaded ok.
51 let engine = Services.search.getEngineByName("bug645970");
52 do_check_neq(engine, null);
54 do_check_true(Services.search.isInitialized);
55 }
56 }, "browser-search-service", false);
57 }