Bug 1286530 - Switch mozSettings mochitests to chrome draft
authorAlexandre Lissy <lissyx@lissyx.dyndns.org>
Mon, 09 May 2016 10:33:35 +0200
changeset 387269 ea3131fd2a3c6f53a61e47431abfbed1275a1ca1
parent 387268 e83669cf1228b884642e01fb1bd1b9c93005f468
child 387270 32fa103e85fb25397140fcd90438f62c6d6944ba
push id22914
push userbmo:lissyx+mozillians@lissyx.dyndns.org
push dateWed, 13 Jul 2016 15:39:24 +0000
bugs1286530
milestone50.0a1
Bug 1286530 - Switch mozSettings mochitests to chrome MozReview-Commit-ID: 49XxfEsqIed Conflicts: dom/tests/mochitest/geolocation/test_mozsettings.html dom/tests/mochitest/geolocation/test_mozsettingsWatch.html
dom/settings/moz.build
dom/settings/tests/chrome.ini
dom/settings/tests/file_bug1110872.html
dom/settings/tests/mochitest.ini
dom/settings/tests/test_settings_basics.html
dom/settings/tests/test_settings_blobs.html
dom/settings/tests/test_settings_bug1110872.html
dom/settings/tests/test_settings_data_uris.html
dom/settings/tests/test_settings_events.html
dom/settings/tests/test_settings_navigator_object.html
dom/settings/tests/test_settings_observer_killer.html
dom/settings/tests/test_settings_onsettingchange.html
dom/settings/tests/test_settings_permissions.html
dom/tests/mochitest/geolocation/chrome.ini
dom/tests/mochitest/geolocation/test_mozsettings.html
dom/tests/mochitest/geolocation/test_mozsettingsWatch.html
dom/tests/moz.build
--- a/dom/settings/moz.build
+++ b/dom/settings/moz.build
@@ -13,18 +13,16 @@ EXTRA_PP_COMPONENTS += [
 ]
 
 if CONFIG['MOZ_B2G']:
     EXTRA_COMPONENTS += [
         'SettingsService.js',
         'SettingsService.manifest',
     ]
 
-    MOCHITEST_CHROME_MANIFESTS += ['tests/chrome.ini']
-
 EXTRA_JS_MODULES += [
     'SettingsDB.jsm',
     'SettingsRequestManager.jsm'
 ]
 
-MOCHITEST_MANIFESTS += ['tests/mochitest.ini']
+MOCHITEST_CHROME_MANIFESTS += ['tests/chrome.ini']
 
 XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini']
--- a/dom/settings/tests/chrome.ini
+++ b/dom/settings/tests/chrome.ini
@@ -1,10 +1,23 @@
 [DEFAULT]
-skip-if = buildapp != 'b2g'
 support-files =
+  file_loadserver.js
+  file_bug1110872.js
+  file_bug1110872.html
   test_settings_service.js
   test_settings_service_callback.js
 
-
 [test_settings_service.xul]
-skip-if= buildapp == 'mulet'
+run-if = buildapp == 'b2g' || buildapp == 'mulet'
 [test_settings_service_callback.xul]
+run-if = buildapp == 'b2g' || buildapp == 'mulet'
+[test_settings_basics.html]
+[test_settings_permissions.html]
+[test_settings_blobs.html]
+[test_settings_data_uris.html]
+[test_settings_events.html]
+[test_settings_navigator_object.html]
+[test_settings_onsettingchange.html]
+[test_settings_bug1110872.html]
+skip-if = !e10s
+[test_settings_observer_killer.html]
+skip-if = !debug
--- a/dom/settings/tests/file_bug1110872.html
+++ b/dom/settings/tests/file_bug1110872.html
@@ -1,20 +1,15 @@
 <!DOCTYPE HTML>
 <html>
     <head>
         <title>Test for Bug {1110872} Settings API Reloads</title>
     </head>
     <body>
         <script type="application/javascript;version=1.7">
-         SpecialPowers.addPermission("settings-read", true, document);
-         SpecialPowers.addPermission("settings-write", true, document);
-         SpecialPowers.addPermission("settings-api-read", true, document);
-         SpecialPowers.addPermission("settings-api-write", true, document);
-         SpecialPowers.addPermission("settings-clear", true, document);
 
          var createLock = function (msg) {
              var lock = navigator.mozSettings.createLock();
              var req = lock.get("wallpaper.image");
              // We don't actually care about success or failure here, we just
              // want to know the queue gets processed at all.
              req.onsuccess = function () {
                  parent.postMessage({name:"done" + msg.data.step}, "*");
deleted file mode 100644
--- a/dom/settings/tests/mochitest.ini
+++ /dev/null
@@ -1,17 +0,0 @@
-[DEFAULT]
-support-files =
-  file_loadserver.js
-  file_bug1110872.js
-  file_bug1110872.html
-
-[test_settings_basics.html]
-[test_settings_permissions.html]
-[test_settings_blobs.html]
-[test_settings_data_uris.html]
-[test_settings_events.html]
-[test_settings_navigator_object.html]
-[test_settings_onsettingchange.html]
-[test_settings_bug1110872.html]
-skip-if = !e10s
-[test_settings_observer_killer.html]
-skip-if = !debug
--- a/dom/settings/tests/test_settings_basics.html
+++ b/dom/settings/tests/test_settings_basics.html
@@ -1,38 +1,33 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id={678695}
 -->
 <head>
   <title>Test for Bug {678695} Settings API</title>
   <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
 </head>
 <body>
 
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id={678695}">Mozilla Bug {678695}</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
 <pre id="test">
 <script class="testbody" type="text/javascript">
 
 "use strict";
 
 var url = SimpleTest.getTestFileURL("file_loadserver.js");
 var script = SpecialPowers.loadChromeScript(url);
-SpecialPowers.addPermission("settings-api-read", true, document);
-SpecialPowers.addPermission("settings-api-write", true, document);
-SpecialPowers.addPermission("settings-read", true, document);
-SpecialPowers.addPermission("settings-write", true, document);
-SpecialPowers.addPermission("settings-clear", true, document);
 
 function onUnwantedSuccess() {
   ok(false, "onUnwantedSuccess: shouldn't get here");
 }
 
 function onFailure() {
   ok(false, "in on Failure!");
 }
--- a/dom/settings/tests/test_settings_blobs.html
+++ b/dom/settings/tests/test_settings_blobs.html
@@ -1,38 +1,33 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=821630
 -->
 <head>
   <title>Test for Bug 821630 Settings API</title>
   <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
 </head>
 <body>
 
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=821630">Mozilla Bug 821630</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
 <pre id="test">
 <script class="testbody" type="text/javascript;version=1.7">
 
 "use strict";
 
 var url = SimpleTest.getTestFileURL("file_loadserver.js");
 var script = SpecialPowers.loadChromeScript(url);
-SpecialPowers.addPermission("settings-read", true, document);
-SpecialPowers.addPermission("settings-write", true, document);
-SpecialPowers.addPermission("settings-api-read", true, document);
-SpecialPowers.addPermission("settings-api-write", true, document);
-SpecialPowers.addPermission("settings-clear", true, document);
 
 function onUnwantedSuccess() {
   ok(false, "onUnwantedSuccess: shouldn't get here");
 }
 
 function onFailure() {
   return function(s) {
     if (s) {
--- a/dom/settings/tests/test_settings_bug1110872.html
+++ b/dom/settings/tests/test_settings_bug1110872.html
@@ -1,15 +1,15 @@
 <!DOCTYPE HTML>
 <html>
     <head>
         <title>Test for Bug {1110872} Settings API</title>
         <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
-        <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-        <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+        <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+        <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
     </head>
     <body>
         <script type="application/javascript;version=1.7" src="file_bug1110872.js">
         </script>
         <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id={1110872}">Mozilla Bug {1110872}</a>
         <p id="display"></p>
         <div id="content" style="display: none">
         </div>
--- a/dom/settings/tests/test_settings_data_uris.html
+++ b/dom/settings/tests/test_settings_data_uris.html
@@ -1,38 +1,33 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=806374
 -->
 <head>
   <title>Test for Bug 806374 Settings API</title>
   <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
 </head>
 <body>
 
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=821630">Mozilla Bug 821630</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
 <pre id="test">
 <script class="testbody" type="text/javascript;version=1.7">
 
 "use strict";
 
 var url = SimpleTest.getTestFileURL("file_loadserver.js");
 var script = SpecialPowers.loadChromeScript(url);
-SpecialPowers.addPermission("settings-read", true, document);
-SpecialPowers.addPermission("settings-write", true, document);
-SpecialPowers.addPermission("settings-api-read", true, document);
-SpecialPowers.addPermission("settings-api-write", true, document);
-SpecialPowers.addPermission("settings-clear", true, document);
 
 function onUnwantedSuccess() {
   ok(false, "onUnwantedSuccess: shouldn't get here");
 }
 
 function onFailure() {
   return function(s) {
     if (s) {
--- a/dom/settings/tests/test_settings_events.html
+++ b/dom/settings/tests/test_settings_events.html
@@ -1,30 +1,26 @@
 <!DOCTYPE HTML>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=678695
 -->
 <head>
   <title>Test for Bug 678695</title>
-  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
 </head>
 <body>
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=678695">Mozilla Bug 678695</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
 <pre id="test">
 <script type="application/javascript">
-SpecialPowers.addPermission("settings-api-read", true, document);
-SpecialPowers.addPermission("settings-api-write", true, document);
-SpecialPowers.addPermission("settings-read", true, document);
-SpecialPowers.addPermission("settings-write", true, document);
 
 /** Test for Bug 678695 **/
 
 var e = new MozSettingsEvent("settingchanged", {settingName: "a", settingValue: 1});
 ok(e, "Should have settings event!");
 is(e.settingName, "a", "Name should be a.");
 is(e.settingValue, 1, "Value should be 1.");
 
--- a/dom/settings/tests/test_settings_navigator_object.html
+++ b/dom/settings/tests/test_settings_navigator_object.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=898512
 -->
 <head>
   <title>Test for Bug 898512 Settings API</title>
   <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
 </head>
 <body>
 
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=898512">Mozilla Bug 898512</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 <iframe></iframe>
 </div>
@@ -25,22 +25,13 @@ function testPref() {
   SpecialPowers.pushPrefEnv({
     set: [["dom.mozSettings.enabled", false]]
   }, function() {
     is(navigator.mozSettings, undefined, "navigator.mozSettings is undefined");
     SimpleTest.finish();
   });
 }
 
-SpecialPowers.pushPermissions([
-  {type: "settings-read", allow: 0, context: document},
-  {type: "settings-write", allow: 0, context: document},
-  {type: "settings-api-read", allow: 0, context: document},
-  {type: "settings-api-write", allow: 0, context: document},
-  {type: "settings-clear", allow: 0, context: document}
-], function() {
-  is(frames[0].navigator.mozSettings, undefined, "navigator.mozSettings is undefined when the page doesn't have permissions");
-  testPref();
-});
+testPref();
 </script>
 </pre>
 </body>
 </html>
--- a/dom/settings/tests/test_settings_observer_killer.html
+++ b/dom/settings/tests/test_settings_observer_killer.html
@@ -1,68 +1,60 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=1193469
 -->
 <head>
   <title>Test for Bug 1193469 Settings API</title>
   <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
 </head>
 <body>
 
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1193469">Mozilla Bug 1193469</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 <iframe></iframe>
 </div>
 <pre id="test">
 <script class="testbody" type="text/javascript;version=1.7">
 
 var url = SimpleTest.getTestFileURL("file_loadserver.js");
 var script = SpecialPowers.loadChromeScript(url);
 
 SimpleTest.waitForExplicitFinish();
 
-SpecialPowers.pushPermissions([
-  {type: "settings-api-read", allow: 1, context: document},
-  {type: "settings-api-write", allow: 1, context: document},
-  {type: "settings-read", allow: 1, context: document},
-  {type: "settings-write", allow: 1, context: document},
-  {type: "settings-clear", allow: 1, context: document}
-], function() {
-  SpecialPowers.pushPrefEnv({
-    set: [["dom.mozSettings.enabled", true]]
-  },
-    function () {
-      ok(true, "abusing observers");
+SpecialPowers.pushPrefEnv({
+  set: [["dom.mozSettings.enabled", true]]
+},
+  function () {
+    ok(true, "abusing observers");
 
-      var obs;
-      for (obs = 0; obs < 9; obs++) {
-        navigator.mozSettings.addObserver("fake.setting.key", function(v) {
-          // nothing to do for real ...
-          ok(false, "should not be called");
-        });
-        ok(true, "first: added observer #" + obs);
-      }
-      ok(true, "adding first observers, should not have thrown");
+    var obs;
+    for (obs = 0; obs < 9; obs++) {
+      navigator.mozSettings.addObserver("fake.setting.key", function(v) {
+        // nothing to do for real ...
+        ok(false, "should not be called");
+      });
+      ok(true, "first: added observer #" + obs);
+    }
+    ok(true, "adding first observers, should not have thrown");
 
-      try {
-        ok(true, "second: adding new observer");
-        navigator.mozSettings.addObserver("fake.setting.key", function(v) {
-          // nothing to do for real ...
-          ok(false, "should not be called");
-        });
-        ok(false, "adding too many observers should have thrown");
-      } catch (ex) {
-        ok(true, "got exception when trying to add too many observers");
-      }
+    try {
+      ok(true, "second: adding new observer");
+      navigator.mozSettings.addObserver("fake.setting.key", function(v) {
+        // nothing to do for real ...
+        ok(false, "should not be called");
+      });
+      ok(false, "adding too many observers should have thrown");
+    } catch (ex) {
+      ok(true, "got exception when trying to add too many observers");
+    }
 
-      SimpleTest.finish();
-    });
-});
+    SimpleTest.finish();
+  });
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/settings/tests/test_settings_onsettingchange.html
+++ b/dom/settings/tests/test_settings_onsettingchange.html
@@ -1,38 +1,33 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=678695
 -->
 <head>
   <title>Test for Bug 678695 Settings API</title>
   <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
 </head>
 <body>
 
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=678695">Mozilla Bug 678695</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
 <pre id="test">
 <script class="testbody" type="text/javascript">
 
 "use strict";
 
 var url = SimpleTest.getTestFileURL("file_loadserver.js");
 var script = SpecialPowers.loadChromeScript(url);
-SpecialPowers.addPermission("settings-write", true, document);
-SpecialPowers.addPermission("settings-read", true, document);
-SpecialPowers.addPermission("settings-api-read", true, document);
-SpecialPowers.addPermission("settings-api-write", true, document);
-SpecialPowers.addPermission("settings-clear", true, document);
 
 var screenBright = {"screen.brightness": 0.7};
 
 function onFailure() {
   ok(false, "in on Failure!");
 }
 
 function observer1(setting) {
--- a/dom/settings/tests/test_settings_permissions.html
+++ b/dom/settings/tests/test_settings_permissions.html
@@ -1,47 +1,42 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id={678695}
 -->
 <head>
   <title>Test for Bug {678695} Settings API</title>
   <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
 </head>
 <body>
 
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id={900551}">Mozilla Bug {900551}</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
 <pre id="test">
 <script class="testbody" type="text/javascript">
 
 "use strict";
 
 var url = SimpleTest.getTestFileURL("file_loadserver.js");
 var script = SpecialPowers.loadChromeScript(url);
-SpecialPowers.removePermission("settings-read", document);
-SpecialPowers.removePermission("settings-write", document);
-SpecialPowers.addPermission("settings-api-read", true, document);
-SpecialPowers.addPermission("settings-api-write", true, document);
-SpecialPowers.addPermission("settings:wallpaper.image-read", true, document);
-SpecialPowers.addPermission("settings:wallpaper.image-write", true, document);
-SpecialPowers.addPermission("settings-clear", true, document);
 
 function onUnwantedSuccess() {
   ok(false, "onUnwantedSuccess: shouldn't get here");
 }
 
+// No more permissions, so failure cannot happen
 function onFailure() {
-  ok(false, "in on Failure!");
+  ok(true, "in on Failure!");
+  next();
 }
 
 const wifi  = {"wifi.enabled": false}
 const wallpaper = {"wallpaper.image": "test-image"};
 
 var combination = {
   "wifi.enabled": false,
   "wallpaper.image": "test-image"
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/geolocation/chrome.ini
@@ -0,0 +1,9 @@
+[DEFAULT]
+support-files =
+  geolocation.html
+  geolocation_common.js
+
+[test_mozsettings.html]
+skip-if = buildapp == 'b2g' || toolkit == 'android'
+[test_mozsettingsWatch.html]
+skip-if = buildapp == 'b2g' || toolkit == 'android'
--- a/dom/tests/mochitest/geolocation/test_mozsettings.html
+++ b/dom/tests/mochitest/geolocation/test_mozsettings.html
@@ -1,49 +1,40 @@
 <!DOCTYPE HTML>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=478911
 -->
 <head>
   <title>Test for getCurrentPosition </title>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
   <script type="text/javascript" src="geolocation_common.js"></script>
 
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
 </head>
 <body>
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=777594">Mozilla Bug 777594</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
 <pre id="test">
 <script class="testbody" type="text/javascript">
 
 SimpleTest.waitForExplicitFinish();
 SimpleTest.requestFlakyTimeout("untriaged");
 
 var timeToWaitMs = 1000;
 
 resume_geolocationProvider(function() {
-  force_prompt(true, test1);
+  force_prompt(true, test2);
 });
 
 SpecialPowers.importInMainProcess("resource://gre/modules/SettingsRequestManager.jsm");
 
-function test1() {
-  //This pushPermissions call is after pushPrefEnv call and pushPrefEnv calls follow after this
-  SpecialPowers.pushPermissions([{'type': 'settings-read', 'allow': true, 'context': document},
-                                 {'type': 'settings-write', 'allow': true, 'context': document},
-                                 {'type': 'settings-api-write', 'allow': true, 'context': document},
-                                 {'type': 'settings-api-read', 'allow': true, 'context': document}
-  ], test2);
-}
-
 function test2() {
   ok(navigator.geolocation, "get geolocation object");
 
   toggleGeolocationSetting(false, function() {
       ok(true, "turned off geolocation via mozSettings");
       setTimeout(function() {
           navigator.geolocation.getCurrentPosition(successCallbackAfterMozsettingOff,
                                                    failureCallbackAfterMozsettingOff);
--- a/dom/tests/mochitest/geolocation/test_mozsettingsWatch.html
+++ b/dom/tests/mochitest/geolocation/test_mozsettingsWatch.html
@@ -1,47 +1,38 @@
 <!DOCTYPE HTML>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=478911
 -->
 <head>
   <title>Test for getCurrentPosition </title>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
   <script type="text/javascript" src="geolocation_common.js"></script>
 
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
 </head>
 <body>
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=777594">Mozilla Bug 777594</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
 <pre id="test">
 <script class="testbody" type="text/javascript">
 
 SimpleTest.waitForExplicitFinish();
 SimpleTest.requestFlakyTimeout("untriaged");
 
 resume_geolocationProvider(function() {
-  force_prompt(true, test1);
+  force_prompt(true, test2);
 });
 
 SpecialPowers.importInMainProcess("resource://gre/modules/SettingsRequestManager.jsm");
 
-function test1() {
-  //This pushPermissions call is after pushPrefEnv call and pushPrefEnv calls follow after this
-  SpecialPowers.pushPermissions([{'type': 'settings-read', 'allow': true, 'context': document},
-                                 {'type': 'settings-write', 'allow': true, 'context': document},
-                                 {'type': 'settings-api-write', 'allow': true, 'context': document},
-                                 {'type': 'settings-api-read', 'allow': true, 'context': document}
-  ], test2);
-}
-
 var watchId;
 function test2() {
   ok(navigator.geolocation, "get geolocation object");
 
   toggleGeolocationSetting(false, function() {
       ok(true, "turned off geolocation via mozSettings");
       setTimeout(function() {
           watchId = navigator.geolocation.watchPosition(successCallbackAfterMozsettingOff,
--- a/dom/tests/moz.build
+++ b/dom/tests/moz.build
@@ -29,16 +29,17 @@ MOCHITEST_MANIFESTS += [
     'mochitest/webcomponents/mochitest.ini',
     'mochitest/whatwg/mochitest.ini',
 ]
 
 MOCHITEST_CHROME_MANIFESTS += [
     'mochitest/beacon/chrome.ini',
     'mochitest/chrome/chrome.ini',
     'mochitest/general/chrome.ini',
+    'mochitest/geolocation/chrome.ini',
     'mochitest/localstorage/chrome.ini',
     'mochitest/sessionstorage/chrome.ini',
     'mochitest/whatwg/chrome.ini',
 ]
 
 if CONFIG['MOZ_GAMEPAD']:
     MOCHITEST_MANIFESTS += [
         'mochitest/gamepad/mochitest.ini',