Bug 1286530 - Switch Contacts-related mochitests to chrome draft
authorAlexandre Lissy <lissyx@lissyx.dyndns.org>
Mon, 02 May 2016 16:58:40 +0200
changeset 387270 32fa103e85fb25397140fcd90438f62c6d6944ba
parent 387269 ea3131fd2a3c6f53a61e47431abfbed1275a1ca1
child 387271 1368cad83c4264224993ddf00a6c4862e5113314
push id22914
push userbmo:lissyx+mozillians@lissyx.dyndns.org
push dateWed, 13 Jul 2016 15:39:24 +0000
bugs1286530
milestone50.0a1
Bug 1286530 - Switch Contacts-related mochitests to chrome MozReview-Commit-ID: F5nI61L9rYe Conflicts: dom/base/test/mochitest.ini
dom/base/test/chrome.ini
dom/base/test/file_navigator_resolve_identity.html
dom/base/test/mochitest.ini
dom/base/test/test_navigator_resolve_identity.html
dom/base/test/test_navigator_resolve_identity_xrays.xul
dom/bindings/test/chrome.ini
dom/bindings/test/file_bug707564-2.html
dom/bindings/test/mochitest.ini
dom/bindings/test/test_bug707564-chrome.html
dom/bindings/test/test_bug707564.html
dom/contacts/tests/chrome.ini
dom/contacts/tests/file_contacts_basics.html
dom/contacts/tests/file_contacts_basics2.html
dom/contacts/tests/file_contacts_blobs.html
dom/contacts/tests/file_contacts_events.html
dom/contacts/tests/file_contacts_getall.html
dom/contacts/tests/file_contacts_getall2.html
dom/contacts/tests/file_contacts_international.html
dom/contacts/tests/file_contacts_substringmatching.html
dom/contacts/tests/file_contacts_substringmatchingCL.html
dom/contacts/tests/file_contacts_substringmatchingVE.html
dom/contacts/tests/file_migration.html
dom/contacts/tests/mochitest.ini
dom/contacts/tests/test_contacts_a_cache.xul
dom/contacts/tests/test_contacts_a_shutdown.xul
dom/contacts/tests/test_contacts_a_upgrade.xul
dom/contacts/tests/test_contacts_basics.html
dom/contacts/tests/test_contacts_basics2.html
dom/contacts/tests/test_contacts_blobs.html
dom/contacts/tests/test_contacts_cache.xul
dom/contacts/tests/test_contacts_events.html
dom/contacts/tests/test_contacts_getall.html
dom/contacts/tests/test_contacts_getall2.html
dom/contacts/tests/test_contacts_international.html
dom/contacts/tests/test_contacts_shutdown.xul
dom/contacts/tests/test_contacts_substringmatching.html
dom/contacts/tests/test_contacts_substringmatchingCL.html
dom/contacts/tests/test_contacts_substringmatchingVE.html
dom/contacts/tests/test_contacts_upgrade.xul
dom/contacts/tests/test_migration.html
--- a/dom/base/test/chrome.ini
+++ b/dom/base/test/chrome.ini
@@ -7,16 +7,18 @@ support-files =
   file_bug1008126_worker.js
 
 [test_anonymousContent_xul_window.xul]
 [test_bug715041.xul]
 [test_bug715041_removal.xul]
 [test_domrequesthelper.xul]
 [test_navigator_resolve_identity_xrays.xul]
 support-files = file_navigator_resolve_identity_xrays.xul
+[test_navigator_resolve_identity.html]
+support-files = file_navigator_resolve_identity.html
 [test_sendQueryContentAndSelectionSetEvent.html]
 [test_bug1016960.html]
 [test_copypaste.xul]
 subsuite = clipboard
 [test_messagemanager_principal.html]
 [test_messagemanager_send_principal.html]
 skip-if = buildapp == 'mulet'
 [test_bug945152.html]
new file mode 100644
--- /dev/null
+++ b/dom/base/test/file_navigator_resolve_identity.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=985827
+-->
+<head>
+  <meta charset="utf-8">
+  <title>Test for Bug 985827</title>
+  <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"/>
+  <script type="application/javascript">
+
+  function test() {
+    var is = parent.is;
+
+    // Test WebIDL NavigatorProperty objects
+    var x = navigator.mozContacts;
+    is(typeof x, "object", "Should have a mozContacts object");
+    delete navigator.mozContacts;
+    var y = navigator.mozContacts;
+    is(x, y, "Should have gotten the same mozContacts object again");
+  }
+
+  test();
+  </script>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=985827">Mozilla Bug 985827</a>
+<p id="display"></p>
+<div id="content" style="display: none">
+
+</div>
+<pre id="test">
+</pre>
+</body>
+</html>
--- a/dom/base/test/mochitest.ini
+++ b/dom/base/test/mochitest.ini
@@ -672,24 +672,21 @@ skip-if = buildapp == 'mulet' || buildap
 [test_file_negative_date.html]
 [test_fileapi.html]
 [test_fileapi_slice.html]
 skip-if = (toolkit == 'android') || e10s # Android: Bug 775227, e10s: Bug 1226477
 [test_frameLoader_switchProcess.html]
 skip-if = e10s || os != 'linux' || buildapp != 'browser' # Already tests multiprocess
 [test_getAttribute_after_createAttribute.html]
 [test_getElementById.html]
-[test_getFeature_with_perm.html]
-[test_getFeature_without_perm.html]
 [test_getTranslationNodes.html]
 [test_getTranslationNodes_limit.html]
 [test_gsp-qualified.html]
 [test_gsp-quirks.html]
 [test_gsp-standards.html]
-[test_hasFeature.html]
 [test_history_document_open.html]
 [test_history_state_null.html]
 [test_html_colors_quirks.html]
 [test_html_colors_standards.html]
 [test_htmlcopyencoder.html]
 [test_htmlcopyencoder.xhtml]
 [test_iframe_referrer.html]
 [test_iframe_referrer_changing.html]
@@ -714,27 +711,25 @@ skip-if = (os != 'b2g' && os != 'android
 [test_meta_viewport4.html]
 skip-if = (os != 'b2g' && os != 'android')    # meta-viewport tag support is mobile-only
 [test_meta_viewport5.html]
 skip-if = (os != 'b2g' && os != 'android')    # meta-viewport tag support is mobile-only
 [test_meta_viewport6.html]
 skip-if = (os != 'b2g' && os != 'android')    # meta-viewport tag support is mobile-only
 [test_meta_viewport7.html]
 skip-if = (os != 'b2g' && os != 'android')    # meta-viewport tag support is mobile-only
-[test_mozbrowser_apis_allowed.html]
 [test_mozbrowser_apis_blocked.html]
 [test_mozfiledataurl.html]
 skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT
 [test_mozMatchesSelector.html]
 [test_mutationobserver_anonymous.html]
 [test_mutationobservers.html]
 skip-if = buildapp == 'b2g' # b2g(bug 901385, showmodaldialog) b2g-debug(bug 901385, showmodaldialog) b2g-desktop(bug 901385, showmodaldialog)
 [test_named_frames.html]
 [test_navigator_hardwareConcurrency.html]
-[test_navigator_resolve_identity.html]
 [test_navigator_language.html]
 [test_navigatorPrefOverride.html]
 [test_noAudioNotification.html]
 tags = audiochannel
 [test_noAudioNotificationOnMutedElement.html]
 tags = audiochannel
 [test_noAudioNotificationOnMutedOrVolume0Element.html]
 tags = audiochannel
--- a/dom/base/test/test_navigator_resolve_identity.html
+++ b/dom/base/test/test_navigator_resolve_identity.html
@@ -1,42 +1,28 @@
 <!DOCTYPE HTML>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=985827
 -->
 <head>
   <meta charset="utf-8">
   <title>Test for Bug 985827</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"/>
   <script type="application/javascript">
 
   /** Test for Bug 985827 **/
 
-  function test() {
-    var is = parent.is;
-
-    // Test WebIDL NavigatorProperty objects
-    var x = navigator.mozContacts;
-    is(typeof x, "object", "Should have a mozContacts object");
-    delete navigator.mozContacts;
-    var y = navigator.mozContacts;
-    is(x, y, "Should have gotten the same mozContacts object again");
-  }
-
   SimpleTest.waitForExplicitFinish();
 
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], function() {
+  addEventListener('load', function() {
     var iframe = document.createElement("iframe");
-    iframe.src = "data:text/html,<script>(" + escape(test.toString()) + ")();</scr" + "ipt>";
+    var dir = "chrome://mochitests/content/chrome/dom/base/test/";
+    iframe.src = dir + "file_navigator_resolve_identity.html";
     document.body.appendChild(iframe);
     iframe.onload = function() { SimpleTest.finish(); };
   });
 
   </script>
 </head>
 <body>
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=985827">Mozilla Bug 985827</a>
--- a/dom/base/test/test_navigator_resolve_identity_xrays.xul
+++ b/dom/base/test/test_navigator_resolve_identity_xrays.xul
@@ -23,36 +23,20 @@ https://bugzilla.mozilla.org/show_bug.cg
 
   SimpleTest.waitForExplicitFinish();
 
   Components.utils.import("resource://gre/modules/Services.jsm");
 
   addLoadEvent(function() {
     var iframe = document.getElementById("t");
 
-    Services.perms.addFromPrincipal(iframe.contentDocument.nodePrincipal,
-                                    "contacts-read",
-                                    Services.perms.ALLOW_ACTION);
-    Services.perms.addFromPrincipal(iframe.contentDocument.nodePrincipal,
-                                    "contacts-write",
-                                    Services.perms.ALLOW_ACTION);
-    Services.perms.addFromPrincipal(iframe.contentDocument.nodePrincipal,
-                                    "contacts-create",
-                                    Services.perms.ALLOW_ACTION);
-
     var dir = "chrome://mochitests/content/chrome/dom/base/test/";
     iframe.src = dir + "file_navigator_resolve_identity_xrays.xul";
     iframe.onload = function() { finish(); };
 
     function finish() {
-      Services.perms.removeFromPrincipal(document.nodePrincipal,
-                                         "contacts-read");
-      Services.perms.removeFromPrincipal(document.nodePrincipal,
-                                         "contacts-write");
-      Services.perms.removeFromPrincipal(document.nodePrincipal,
-                                         "contacts-create");
       SimpleTest.finish();
     }
   });
 
   ]]>
   </script>
 </window>
--- a/dom/bindings/test/chrome.ini
+++ b/dom/bindings/test/chrome.ini
@@ -1,18 +1,20 @@
 [DEFAULT]
 skip-if = buildapp == 'b2g'
 support-files =
+  file_bug707564.html
+  file_bug707564-2.html
   !/dom/bindings/test/file_bug707564.html
   !/dom/bindings/test/file_bug775543.html
   !/dom/bindings/test/file_document_location_set_via_xray.html
   !/dom/bindings/test/file_dom_xrays.html
   !/dom/bindings/test/file_proxies_via_xray.html
 
-[test_bug707564-chrome.html]
+[test_bug707564.html]
 [test_bug775543.html]
 [test_document_location_set_via_xray.html]
 [test_dom_xrays.html]
 [test_proxies_via_xray.html]
 [test_document_location_via_xray_cached.html]
 [test_blacklisted_prerendering_function.xul]
 support-files =
   file_focuser.html
--- a/dom/bindings/test/file_bug707564-2.html
+++ b/dom/bindings/test/file_bug707564-2.html
@@ -1,18 +1,18 @@
 <!DOCTYPE HTML>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=707564
 -->
 <head>
   <meta charset="utf-8">
   <title>Test for Bug 707564</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"/>
   <script type="application/javascript">
 
   /** Test for Bug 707564 **/
   var ok = parent.ok;
   var isnot = parent.isnot;
 
   addLoadEvent(function() {
     var props = Object.getOwnPropertyNames(Object.getPrototypeOf(frames[0].navigator));
--- a/dom/bindings/test/mochitest.ini
+++ b/dom/bindings/test/mochitest.ini
@@ -1,25 +1,22 @@
 [DEFAULT]
 support-files =
   file_InstanceOf.html
-  file_bug707564.html
-  file_bug707564-2.html
   file_bug775543.html
   file_document_location_set_via_xray.html
   file_dom_xrays.html
   file_proxies_via_xray.html
   forOf_iframe.html
   !/js/xpconnect/tests/mochitest/file_empty.html
 
 [test_async_stacks.html]
 [test_ByteString.html]
 [test_InstanceOf.html]
 [test_bug560072.html]
-[test_bug707564.html]
 [test_bug742191.html]
 [test_bug759621.html]
 [test_bug773326.html]
 [test_bug788369.html]
 [test_bug852846.html]
 [test_bug862092.html]
 [test_bug1036214.html]
 skip-if = debug == false
deleted file mode 100644
--- a/dom/bindings/test/test_bug707564-chrome.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=707564
--->
-<head>
-  <meta charset="utf-8">
-  <title>Test for Bug 707564</title>
-  <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=707564">Mozilla Bug 707564</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<iframe id="t1" src="http://example.org/tests/dom/bindings/test/file_bug707564.html"></iframe>
-<iframe id="t2"></iframe>
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 775543 **/
-function test()
-{
-  var nav = document.getElementById("t1").contentWindow.navigator;
-  is(nav.foopy, undefined, "We should have an Xray now");
-  is(nav.wrappedJSObject.foopy, 5, "We should have the right navigator object");
-  var props = Object.getOwnPropertyNames(Object.getPrototypeOf(nav));
-  isnot(props.indexOf("mozContacts"), -1,
-        "Should enumerate a mozContacts property on navigator xray");
-
-  var nav = document.getElementById("t2").contentWindow.navigator;
-  is(nav.foopy, undefined, "We should have an Xray now again");
-  is(nav.wrappedJSObject.foopy, 5, "We should have the right navigator object again");
-  var found = false;
-  for (var name in nav) {
-    if (name == "mozContacts") {
-      found = true;
-    }
-  }
-  ok(found, "Should enumerate a mozContacts property on navigator xray via for...in");
-
-  SimpleTest.finish();
-}
-
-onload = test;
-onload = function() {
-  var iframe1 = document.getElementById("t1");
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: iframe1.contentDocument},
-    {type: "contacts-write", allow: true, context: iframe1.contentDocument},
-    {type: "contacts-create", allow: true, context: iframe1.contentDocument},
-  ], function() {
-    iframe1.src = "http://example.org/tests/dom/bindings/test/file_bug707564.html";
-    iframe1.onload = function() {
-      var iframe2 = document.getElementById("t2");
-      iframe2.src = "http://example.org/tests/dom/bindings/test/file_bug707564.html";
-      iframe2.onload = test;
-    };
-  });
-};
-
-</script>
-</pre>
-</body>
-</html>
--- a/dom/bindings/test/test_bug707564.html
+++ b/dom/bindings/test/test_bug707564.html
@@ -1,29 +1,24 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_bug707564-2.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+
+addEventListener('load', run_tests);
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/chrome.ini
+++ b/dom/contacts/tests/chrome.ini
@@ -1,7 +1,45 @@
 [DEFAULT]
-skip-if = os == "android"
-skip-if = buildapp == 'b2g'
+
+support-files =
+  shared.js
+  file_contacts_basics.html
+  file_contacts_basics2.html
+  file_contacts_blobs.html
+  file_contacts_events.html
+  file_contacts_getall.html
+  file_contacts_getall2.html
+  file_contacts_international.html
+  file_contacts_substringmatching.html
+  file_contacts_substringmatchingVE.html
+  file_contacts_substringmatchingCL.html
+  test_migration_chrome.js
+  file_migration.html
 
-[test_contacts_shutdown.xul]
-[test_contacts_upgrade.xul]
-[test_contacts_cache.xul]
+# renaming with "_a_" to execure before others, since we hardcode open of 
+# database and this messes up with mozContacts when done after mozContacts
+# did opened the database. those should really be xpcshell and not chrome
+# mochitests maybe ...
+[test_contacts_a_shutdown.xul]
+skip-if = os == "android" || buildapp == 'b2g'
+[test_contacts_a_upgrade.xul]
+skip-if = os == "android" || buildapp == 'b2g'
+[test_contacts_a_cache.xul]
+skip-if = os == "android" || buildapp == 'b2g'
+[test_contacts_basics.html]
+skip-if = (toolkit == 'gonk' && debug) #debug-only failure
+[test_contacts_basics2.html]
+skip-if = (toolkit == 'gonk' && debug) || (os == 'win' && os_version == '5.1') #debug-only failure, bug 967258 on XP
+[test_contacts_blobs.html]
+skip-if = (toolkit == 'gonk' && debug) #debug-only failure
+[test_contacts_events.html]
+[test_contacts_getall.html]
+skip-if = (toolkit == 'gonk' && debug) #debug-only failure
+[test_contacts_getall2.html]
+skip-if = (toolkit == 'gonk' && debug) #debug-only failure
+[test_contacts_international.html]
+[test_contacts_substringmatching.html]
+[test_contacts_substringmatchingVE.html]
+[test_contacts_substringmatchingCL.html]
+[test_migration.html]
+  support-files +=
+  skip-if = os == "android"
--- a/dom/contacts/tests/file_contacts_basics.html
+++ b/dom/contacts/tests/file_contacts_basics.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=674720
 -->
 <head>
   <title>Test for Bug 674720 WebContacts</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=674720">Mozilla Bug 674720</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
--- a/dom/contacts/tests/file_contacts_basics2.html
+++ b/dom/contacts/tests/file_contacts_basics2.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=674720
 -->
 <head>
   <title>Test for Bug 674720 WebContacts</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=674720">Mozilla Bug 674720</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
--- a/dom/contacts/tests/file_contacts_blobs.html
+++ b/dom/contacts/tests/file_contacts_blobs.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=674720
 -->
 <head>
   <title>Test for Bug 674720 WebContacts</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=674720">Mozilla Bug 674720</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
--- a/dom/contacts/tests/file_contacts_events.html
+++ b/dom/contacts/tests/file_contacts_events.html
@@ -1,17 +1,17 @@
 <!DOCTYPE HTML>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=764667
 -->
 <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=764667">Mozilla Bug 764667</a>
 <p id="display"></p>
 <div id="content" style="display: none">
   
 </div>
 <pre id="test">
--- a/dom/contacts/tests/file_contacts_getall.html
+++ b/dom/contacts/tests/file_contacts_getall.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=836519
 -->
 <head>
   <title>Mozilla Bug 836519</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=836519">Mozilla Bug 836519</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
--- a/dom/contacts/tests/file_contacts_getall2.html
+++ b/dom/contacts/tests/file_contacts_getall2.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=836519
 -->
 <head>
   <title>Mozilla Bug 836519</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=836519">Mozilla Bug 836519</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
--- a/dom/contacts/tests/file_contacts_international.html
+++ b/dom/contacts/tests/file_contacts_international.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=815833
 -->
 <head>
   <title>Test for Bug 815833 WebContacts</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=815833">Mozilla Bug 815833</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
--- a/dom/contacts/tests/file_contacts_substringmatching.html
+++ b/dom/contacts/tests/file_contacts_substringmatching.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=877302
 -->
 <head>
   <title>Test for Bug 877302 substring matching for WebContacts</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=877302">Mozilla Bug 877302</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
--- a/dom/contacts/tests/file_contacts_substringmatchingCL.html
+++ b/dom/contacts/tests/file_contacts_substringmatchingCL.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=877302
 -->
 <head>
   <title>Test for Bug 949537 substring matching for WebContacts</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=949537">Mozilla Bug 949537</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
--- a/dom/contacts/tests/file_contacts_substringmatchingVE.html
+++ b/dom/contacts/tests/file_contacts_substringmatchingVE.html
@@ -1,18 +1,18 @@
 <!DOCTYPE html>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=877302
 -->
 <head>
   <title>Test for Bug 877302 substring matching for WebContacts</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=877302">Mozilla Bug 877302</a>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
--- a/dom/contacts/tests/file_migration.html
+++ b/dom/contacts/tests/file_migration.html
@@ -1,15 +1,15 @@
 <!DOCTYPE html>
 <html>
 <head>
   <title>Migration tests</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>
 <h1>migration tests</h1>
 <p id="display"></p>
 <div id="content" style="display: none">
 
 </div>
 <pre id="test">
--- a/dom/contacts/tests/mochitest.ini
+++ b/dom/contacts/tests/mochitest.ini
@@ -1,36 +1,6 @@
 [DEFAULT]
 support-files =
   shared.js
-  file_contacts_basics.html
-  file_contacts_basics2.html
-  file_contacts_blobs.html
-  file_contacts_events.html
-  file_contacts_getall.html
-  file_contacts_getall2.html
-  file_contacts_international.html
-  file_contacts_substringmatching.html
-  file_contacts_substringmatchingVE.html
-  file_contacts_substringmatchingCL.html
-  test_migration_chrome.js
-  file_migration.html
   file_permission_denied.html
 
-[test_contacts_basics.html]
-skip-if = (toolkit == 'gonk' && debug) #debug-only failure
-[test_contacts_basics2.html]
-skip-if = (toolkit == 'gonk' && debug) || (os == 'win' && os_version == '5.1') #debug-only failure, bug 967258 on XP
-[test_contacts_blobs.html]
-skip-if = (toolkit == 'gonk' && debug) #debug-only failure
-[test_contacts_events.html]
-[test_contacts_getall.html]
-skip-if = (toolkit == 'gonk' && debug) #debug-only failure
-[test_contacts_getall2.html]
-skip-if = (toolkit == 'gonk' && debug) #debug-only failure
-[test_contacts_international.html]
-[test_contacts_substringmatching.html]
-[test_contacts_substringmatchingVE.html]
-[test_contacts_substringmatchingCL.html]
-[test_migration.html]
-  support-files +=
-  skip-if = os == "android"
 [test_permission_denied.html]
rename from dom/contacts/tests/test_contacts_cache.xul
rename to dom/contacts/tests/test_contacts_a_cache.xul
rename from dom/contacts/tests/test_contacts_shutdown.xul
rename to dom/contacts/tests/test_contacts_a_shutdown.xul
rename from dom/contacts/tests/test_contacts_upgrade.xul
rename to dom/contacts/tests/test_contacts_a_upgrade.xul
--- a/dom/contacts/tests/test_contacts_basics.html
+++ b/dom/contacts/tests/test_contacts_basics.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_contacts_basics.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/test_contacts_basics2.html
+++ b/dom/contacts/tests/test_contacts_basics2.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_contacts_basics2.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/test_contacts_blobs.html
+++ b/dom/contacts/tests/test_contacts_blobs.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_contacts_blobs.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/test_contacts_events.html
+++ b/dom/contacts/tests/test_contacts_events.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_contacts_events.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/test_contacts_getall.html
+++ b/dom/contacts/tests/test_contacts_getall.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_contacts_getall.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/test_contacts_getall2.html
+++ b/dom/contacts/tests/test_contacts_getall2.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_contacts_getall2.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/test_contacts_international.html
+++ b/dom/contacts/tests/test_contacts_international.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_contacts_international.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/test_contacts_substringmatching.html
+++ b/dom/contacts/tests/test_contacts_substringmatching.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_contacts_substringmatching.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/test_contacts_substringmatchingCL.html
+++ b/dom/contacts/tests/test_contacts_substringmatchingCL.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_contacts_substringmatchingCL.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/test_contacts_substringmatchingVE.html
+++ b/dom/contacts/tests/test_contacts_substringmatchingVE.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_contacts_substringmatchingVE.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/contacts/tests/test_migration.html
+++ b/dom/contacts/tests/test_migration.html
@@ -1,29 +1,23 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <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>
 <iframe></iframe>
 <pre id="test">
 <script type="application/javascript">
 
 function run_tests() {
   var iframe = document.querySelector("iframe");
   iframe.src = "file_migration.html";
 }
 
 SimpleTest.waitForExplicitFinish();
-onload = function() {
-  SpecialPowers.pushPermissions([
-    {type: "contacts-read", allow: true, context: document},
-    {type: "contacts-write", allow: true, context: document},
-    {type: "contacts-create", allow: true, context: document},
-  ], run_tests);
-};
+onload = run_tests;
 
 </script>
 </pre>
 </body>
 </html>