Bug 1941128 - Turn off network.dns.native_https_query on Mac again
[gecko.git] / dom / tests / unit / test_geolocation_reset_accuracy_wrap.js
blob4160fda14a9aeee03291721cc403ef4e9d7aef9f
1 const providerCID = Components.ID("{14aa4b81-e266-45cb-88f8-89595dece114}");
2 const providerContract = "@mozilla.org/geolocation/provider;1";
4 const categoryName = "geolocation-provider";
6 var provider = {
7   QueryInterface: ChromeUtils.generateQI([
8     "nsIFactory",
9     "nsIGeolocationProvider",
10   ]),
11   createInstance: function eventsink_ci(iid) {
12     return this.QueryInterface(iid);
13   },
14   startup() {},
15   watch() {},
16   shutdown() {},
17   setHighAccuracy(enable) {
18     this._isHigh = enable;
19     if (enable) {
20       this._seenHigh = true;
21       do_send_remote_message("high_acc_enabled");
22     }
23   },
24   _isHigh: false,
25   _seenHigh: false,
28 function run_test() {
29   // XPCShell does not get a profile by default. The geolocation service
30   // depends on the settings service which uses IndexedDB and IndexedDB
31   // needs a place where it can store databases.
32   do_get_profile();
34   Components.manager.nsIComponentRegistrar.registerFactory(
35     providerCID,
36     "Unit test geo provider",
37     providerContract,
38     provider
39   );
41   Services.catMan.addCategoryEntry(
42     categoryName,
43     "unit test",
44     providerContract,
45     false,
46     true
47   );
49   Services.prefs.setBoolPref("geo.provider.network.scan", false);
51   run_test_in_child("test_geolocation_reset_accuracy.js", check_results);
54 function check_results() {
55   // check the provider was set to high accuracy during the test
56   Assert.ok(provider._seenHigh);
57   // check the provider is not currently set to high accuracy
58   Assert.ok(!provider._isHigh);
60   do_test_finished();