Bug 920223 - Part 1: Mass convert MOCHITEST_FILES to manifests; rs=Ms2ger
☠☠ backed out by d7645cd0f41f ☠ ☠
authorGregory Szorc <gps@mozilla.com>
Mon, 30 Sep 2013 09:51:57 +0200
changeset 149211 77bff106b704be59212d9b3295548e8b197e616b
parent 149210 22a30d73daf652d674d91f8b12633376dbebaae9
child 149212 68b6b152f51a6cf0ba2743950cc9a43f3aecaa57
push id34486
push usergszorc@mozilla.com
push dateMon, 30 Sep 2013 07:53:25 +0000
treeherdermozilla-inbound@71629b83b401 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersMs2ger
bugs920223
milestone27.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 920223 - Part 1: Mass convert MOCHITEST_FILES to manifests; rs=Ms2ger
browser/base/content/test/general/Makefile.in
browser/base/content/test/general/mochitest.ini
browser/base/content/test/general/moz.build
browser/components/feeds/test/Makefile.in
browser/components/feeds/test/mochitest.ini
browser/components/feeds/test/moz.build
caps/tests/mochitest/Makefile.in
caps/tests/mochitest/mochitest.ini
caps/tests/mochitest/moz.build
content/base/test/Makefile.in
content/base/test/csp/Makefile.in
content/base/test/csp/mochitest.ini
content/base/test/csp/moz.build
content/base/test/mochitest.ini
content/base/test/moz.build
content/base/test/websocket_hybi/Makefile.in
content/base/test/websocket_hybi/mochitest.ini
content/base/test/websocket_hybi/moz.build
content/canvas/test/Makefile.in
content/canvas/test/crossorigin/Makefile.in
content/canvas/test/crossorigin/mochitest.ini
content/canvas/test/crossorigin/moz.build
content/canvas/test/mochitest.ini
content/canvas/test/moz.build
content/canvas/test/webgl/Makefile.in
content/canvas/test/webgl/mochitest.ini
content/canvas/test/webgl/moz.build
content/canvas/test/webgl/non-conf-tests/Makefile.in
content/canvas/test/webgl/non-conf-tests/mochitest.ini
content/canvas/test/webgl/non-conf-tests/moz.build
content/events/test/Makefile.in
content/events/test/mochitest.ini
content/events/test/moz.build
content/html/content/test/Makefile.in
content/html/content/test/forms/Makefile.in
content/html/content/test/forms/mochitest.ini
content/html/content/test/forms/moz.build
content/html/content/test/mochitest.ini
content/html/content/test/moz.build
content/media/mediasource/test/Makefile.in
content/media/mediasource/test/mochitest.ini
content/media/mediasource/test/moz.build
content/media/webaudio/test/Makefile.in
content/media/webaudio/test/mochitest.ini
content/media/webaudio/test/moz.build
content/media/webspeech/recognition/test/Makefile.in
content/media/webspeech/recognition/test/mochitest.ini
content/media/webspeech/recognition/test/moz.build
content/media/webspeech/synth/ipc/test/Makefile.in
content/media/webspeech/synth/ipc/test/mochitest.ini
content/media/webspeech/synth/ipc/test/moz.build
content/media/webspeech/synth/test/Makefile.in
content/media/webspeech/synth/test/mochitest.ini
content/media/webspeech/synth/test/moz.build
content/smil/test/Makefile.in
content/smil/test/mochitest.ini
content/smil/test/moz.build
content/xbl/test/Makefile.in
content/xbl/test/mochitest.ini
content/xbl/test/moz.build
content/xml/document/test/Makefile.in
content/xml/document/test/mochitest.ini
content/xml/document/test/moz.build
content/xslt/tests/mochitest/Makefile.in
content/xslt/tests/mochitest/mochitest.ini
content/xslt/tests/mochitest/moz.build
content/xul/content/test/Makefile.in
content/xul/content/test/mochitest.ini
content/xul/content/test/moz.build
docshell/test/Makefile.in
docshell/test/mochitest.ini
docshell/test/moz.build
docshell/test/navigation/Makefile.in
docshell/test/navigation/mochitest.ini
docshell/test/navigation/moz.build
dom/alarm/test/Makefile.in
dom/alarm/test/mochitest.ini
dom/alarm/test/moz.build
dom/apps/tests/Makefile.in
dom/apps/tests/mochitest.ini
dom/apps/tests/moz.build
dom/base/test/Makefile.in
dom/base/test/mochitest.ini
dom/base/test/moz.build
dom/battery/test/Makefile.in
dom/battery/test/mochitest.ini
dom/battery/test/moz.build
dom/bindings/test/Makefile.in
dom/bindings/test/mochitest.ini
dom/bindings/test/moz.build
dom/camera/test/Makefile.in
dom/camera/test/mochitest.ini
dom/camera/test/moz.build
dom/contacts/tests/Makefile.in
dom/contacts/tests/mochitest.ini
dom/contacts/tests/moz.build
dom/devicestorage/ipc/Makefile.in
dom/devicestorage/ipc/mochitest.ini
dom/devicestorage/ipc/moz.build
dom/devicestorage/test/Makefile.in
dom/devicestorage/test/mochitest.ini
dom/devicestorage/test/moz.build
dom/encoding/test/Makefile.in
dom/encoding/test/mochitest.ini
dom/encoding/test/moz.build
dom/encoding/test/unit/Makefile.in
dom/encoding/test/unit/mochitest.ini
dom/encoding/test/unit/moz.build
dom/file/test/Makefile.in
dom/file/test/mochitest.ini
dom/file/test/moz.build
dom/indexedDB/ipc/Makefile.in
dom/indexedDB/ipc/mochitest.ini
dom/indexedDB/ipc/moz.build
dom/indexedDB/test/Makefile.in
dom/indexedDB/test/mochitest.ini
dom/indexedDB/test/moz.build
dom/indexedDB/test/unit/Makefile.in
dom/indexedDB/test/unit/mochitest.ini
dom/indexedDB/test/unit/moz.build
dom/media/tests/mochitest/Makefile.in
dom/media/tests/mochitest/mochitest.ini
dom/media/tests/mochitest/moz.build
dom/mobilemessage/tests/Makefile.in
dom/mobilemessage/tests/mochitest.ini
dom/mobilemessage/tests/moz.build
dom/network/tests/Makefile.in
dom/network/tests/mochitest.ini
dom/network/tests/moz.build
dom/permission/tests/Makefile.in
dom/permission/tests/mochitest.ini
dom/permission/tests/moz.build
dom/phonenumberutils/tests/Makefile.in
dom/phonenumberutils/tests/mochitest.ini
dom/phonenumberutils/tests/moz.build
dom/plugins/test/mochitest/Makefile.in
dom/plugins/test/mochitest/mochitest.ini
dom/plugins/test/mochitest/moz.build
dom/power/test/Makefile.in
dom/power/test/mochitest.ini
dom/power/test/moz.build
dom/promise/tests/Makefile.in
dom/promise/tests/mochitest.ini
dom/promise/tests/moz.build
dom/settings/tests/Makefile.in
dom/settings/tests/mochitest.ini
dom/settings/tests/moz.build
dom/src/json/test/Makefile.in
dom/src/json/test/mochitest.ini
dom/src/json/test/moz.build
dom/src/jsurl/test/Makefile.in
dom/src/jsurl/test/mochitest.ini
dom/src/jsurl/test/moz.build
dom/tests/mochitest/ajax/jquery/Makefile.in
dom/tests/mochitest/ajax/jquery/mochitest.ini
dom/tests/mochitest/ajax/jquery/moz.build
dom/tests/mochitest/ajax/mochikit/Makefile.in
dom/tests/mochitest/ajax/mochikit/mochitest.ini
dom/tests/mochitest/ajax/mochikit/moz.build
dom/tests/mochitest/ajax/mochikit/tests/Makefile.in
dom/tests/mochitest/ajax/mochikit/tests/mochitest.ini
dom/tests/mochitest/ajax/mochikit/tests/moz.build
dom/tests/mochitest/ajax/offline/Makefile.in
dom/tests/mochitest/ajax/offline/mochitest.ini
dom/tests/mochitest/ajax/offline/moz.build
dom/tests/mochitest/ajax/prototype/Makefile.in
dom/tests/mochitest/ajax/prototype/mochitest.ini
dom/tests/mochitest/ajax/prototype/moz.build
dom/tests/mochitest/ajax/scriptaculous/Makefile.in
dom/tests/mochitest/ajax/scriptaculous/mochitest.ini
dom/tests/mochitest/ajax/scriptaculous/moz.build
dom/tests/mochitest/bugs/Makefile.in
dom/tests/mochitest/bugs/mochitest.ini
dom/tests/mochitest/bugs/moz.build
dom/tests/mochitest/crypto/Makefile.in
dom/tests/mochitest/crypto/mochitest.ini
dom/tests/mochitest/crypto/moz.build
dom/tests/mochitest/dom-level0/Makefile.in
dom/tests/mochitest/dom-level0/mochitest.ini
dom/tests/mochitest/dom-level0/moz.build
dom/tests/mochitest/dom-level1-core/Makefile.in
dom/tests/mochitest/dom-level1-core/mochitest.ini
dom/tests/mochitest/dom-level1-core/moz.build
dom/tests/mochitest/dom-level2-core/Makefile.in
dom/tests/mochitest/dom-level2-core/mochitest.ini
dom/tests/mochitest/dom-level2-core/moz.build
dom/tests/mochitest/dom-level2-html/Makefile.in
dom/tests/mochitest/dom-level2-html/mochitest.ini
dom/tests/mochitest/dom-level2-html/moz.build
dom/tests/mochitest/gamepad/Makefile.in
dom/tests/mochitest/gamepad/mochitest.ini
dom/tests/mochitest/gamepad/moz.build
dom/tests/mochitest/general/Makefile.in
dom/tests/mochitest/general/mochitest.ini
dom/tests/mochitest/general/moz.build
dom/tests/mochitest/geolocation/Makefile.in
dom/tests/mochitest/geolocation/mochitest.ini
dom/tests/mochitest/geolocation/moz.build
dom/tests/mochitest/localstorage/Makefile.in
dom/tests/mochitest/localstorage/mochitest.ini
dom/tests/mochitest/localstorage/moz.build
dom/tests/mochitest/notification/Makefile.in
dom/tests/mochitest/notification/mochitest.ini
dom/tests/mochitest/notification/moz.build
dom/tests/mochitest/orientation/Makefile.in
dom/tests/mochitest/orientation/mochitest.ini
dom/tests/mochitest/orientation/moz.build
dom/tests/mochitest/sessionstorage/Makefile.in
dom/tests/mochitest/sessionstorage/mochitest.ini
dom/tests/mochitest/sessionstorage/moz.build
dom/tests/mochitest/storageevent/Makefile.in
dom/tests/mochitest/storageevent/mochitest.ini
dom/tests/mochitest/storageevent/moz.build
dom/tests/mochitest/webapps/Makefile.in
dom/tests/mochitest/webapps/mochitest.ini
dom/tests/mochitest/webapps/moz.build
dom/tests/mochitest/webcomponents/Makefile.in
dom/tests/mochitest/webcomponents/mochitest.ini
dom/tests/mochitest/webcomponents/moz.build
dom/workers/test/Makefile.in
dom/workers/test/mochitest.ini
dom/workers/test/moz.build
editor/composer/test/Makefile.in
editor/composer/test/mochitest.ini
editor/composer/test/moz.build
editor/libeditor/base/tests/Makefile.in
editor/libeditor/base/tests/mochitest.ini
editor/libeditor/base/tests/moz.build
editor/libeditor/html/tests/Makefile.in
editor/libeditor/html/tests/mochitest.ini
editor/libeditor/html/tests/moz.build
editor/libeditor/text/tests/Makefile.in
editor/libeditor/text/tests/mochitest.ini
editor/libeditor/text/tests/moz.build
embedding/test/Makefile.in
embedding/test/mochitest.ini
embedding/test/moz.build
extensions/cookie/test/Makefile.in
extensions/cookie/test/mochitest.ini
extensions/cookie/test/moz.build
image/test/mochitest/Makefile.in
image/test/mochitest/mochitest.ini
image/test/mochitest/moz.build
intl/uconv/tests/Makefile.in
intl/uconv/tests/mochitest.ini
intl/uconv/tests/moz.build
js/jsd/test/Makefile.in
js/jsd/test/mochitest.ini
js/jsd/test/moz.build
js/xpconnect/tests/mochitest/Makefile.in
js/xpconnect/tests/mochitest/mochitest.ini
js/xpconnect/tests/mochitest/moz.build
layout/forms/test/Makefile.in
layout/forms/test/mochitest.ini
layout/forms/test/moz.build
layout/inspector/tests/Makefile.in
layout/inspector/tests/mochitest.ini
layout/inspector/tests/moz.build
layout/mathml/tests/Makefile.in
layout/mathml/tests/mochitest.ini
layout/mathml/tests/moz.build
layout/tables/test/Makefile.in
layout/tables/test/mochitest.ini
layout/tables/test/moz.build
layout/xul/base/test/Makefile.in
layout/xul/base/test/mochitest.ini
layout/xul/base/test/moz.build
layout/xul/test/Makefile.in
layout/xul/test/mochitest.ini
layout/xul/test/moz.build
modules/libjar/test/mochitest/Makefile.in
modules/libjar/test/mochitest/mochitest.ini
modules/libjar/test/mochitest/moz.build
netwerk/test/mochitests/Makefile.in
netwerk/test/mochitests/mochitest.ini
netwerk/test/mochitests/moz.build
parser/htmlparser/tests/mochitest/Makefile.in
parser/htmlparser/tests/mochitest/mochitest.ini
parser/htmlparser/tests/mochitest/moz.build
security/manager/ssl/tests/mochitest/bugs/Makefile.in
security/manager/ssl/tests/mochitest/bugs/mochitest.ini
security/manager/ssl/tests/mochitest/bugs/moz.build
security/manager/ssl/tests/mochitest/mixedcontent/Makefile.in
security/manager/ssl/tests/mochitest/mixedcontent/mochitest.ini
security/manager/ssl/tests/mochitest/mixedcontent/moz.build
security/manager/ssl/tests/mochitest/stricttransportsecurity/Makefile.in
security/manager/ssl/tests/mochitest/stricttransportsecurity/mochitest.ini
security/manager/ssl/tests/mochitest/stricttransportsecurity/moz.build
toolkit/components/alerts/test/Makefile.in
toolkit/components/alerts/test/mochitest.ini
toolkit/components/alerts/test/moz.build
toolkit/components/microformats/tests/Makefile.in
toolkit/components/microformats/tests/mochitest.ini
toolkit/components/microformats/tests/moz.build
toolkit/components/passwordmgr/test/Makefile.in
toolkit/components/passwordmgr/test/mochitest.ini
toolkit/components/passwordmgr/test/moz.build
toolkit/components/prompts/test/Makefile.in
toolkit/components/prompts/test/mochitest.ini
toolkit/components/prompts/test/moz.build
toolkit/components/satchel/test/Makefile.in
toolkit/components/satchel/test/mochitest.ini
toolkit/components/satchel/test/moz.build
toolkit/components/url-classifier/tests/mochitest/Makefile.in
toolkit/components/url-classifier/tests/mochitest/mochitest.ini
toolkit/components/url-classifier/tests/mochitest/moz.build
toolkit/mozapps/extensions/test/mochitest/Makefile.in
toolkit/mozapps/extensions/test/mochitest/mochitest.ini
toolkit/mozapps/extensions/test/mochitest/moz.build
toolkit/xre/test/Makefile.in
toolkit/xre/test/mochitest.ini
toolkit/xre/test/moz.build
uriloader/exthandler/tests/mochitest/Makefile.in
uriloader/exthandler/tests/mochitest/mochitest.ini
uriloader/exthandler/tests/mochitest/moz.build
--- a/browser/base/content/test/general/Makefile.in
+++ b/browser/base/content/test/general/Makefile.in
@@ -1,41 +1,12 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-        head_plain.js \
-        bug364677-data.xml \
-        bug364677-data.xml^headers^ \
-        bug395533-data.txt \
-        ctxmenu-image.png \
-        feed_discovery.html \
-        gZipOfflineChild.cacheManifest \
-        gZipOfflineChild.cacheManifest^headers^ \
-        gZipOfflineChild.html \
-        gZipOfflineChild.html^headers^ \
-        offlineChild.cacheManifest \
-        offlineChild.cacheManifest^headers^ \
-        offlineChild.html \
-        offlineChild2.cacheManifest \
-        offlineChild2.cacheManifest^headers^ \
-        offlineChild2.html \
-        offlineEvent.cacheManifest \
-        offlineEvent.cacheManifest^headers^ \
-        offlineEvent.html \
-        test_bug364677.html \
-        test_bug395533.html \
-        test_feed_discovery.html \
-        test_offline_gzip.html \
-        test_offlineNotification.html \
-        video.ogg \
-        offlineByDefault.js \
-        $(NULL)
-
 # test_contextmenu.html and test_contextmenu_input are disabled on Linux due to bug 513558
 ifndef MOZ_WIDGET_GTK
 MOCHITEST_FILES += \
         audio.ogg \
         privateBrowsingMode.js \
         subtst_contextmenu.html \
         contextmenu_common.js \
         test_contextmenu.html \
new file mode 100644
--- /dev/null
+++ b/browser/base/content/test/general/mochitest.ini
@@ -0,0 +1,29 @@
+[DEFAULT]
+support-files =
+  bug364677-data.xml
+  bug364677-data.xml^headers^
+  bug395533-data.txt
+  ctxmenu-image.png
+  feed_discovery.html
+  gZipOfflineChild.cacheManifest
+  gZipOfflineChild.cacheManifest^headers^
+  gZipOfflineChild.html
+  gZipOfflineChild.html^headers^
+  head_plain.js
+  offlineByDefault.js
+  offlineChild.cacheManifest
+  offlineChild.cacheManifest^headers^
+  offlineChild.html
+  offlineChild2.cacheManifest
+  offlineChild2.cacheManifest^headers^
+  offlineChild2.html
+  offlineEvent.cacheManifest
+  offlineEvent.cacheManifest^headers^
+  offlineEvent.html
+  video.ogg
+
+[test_bug364677.html]
+[test_bug395533.html]
+[test_feed_discovery.html]
+[test_offlineNotification.html]
+[test_offline_gzip.html]
--- a/browser/base/content/test/general/moz.build
+++ b/browser/base/content/test/general/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/browser/components/feeds/test/Makefile.in
+++ b/browser/components/feeds/test/Makefile.in
@@ -1,17 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-		bug408328-data.xml \
-		bug368464-data.xml \
-		test_bug494328.html \
-		bug494328-data.xml \
-		test_bug589543.html \
-		bug589543-data.xml \
-		test_bug436801.html \
-		bug436801-data.xml \
-		test_registerHandler.html \
-		valid-feed.xml \
-		valid-unsniffable-feed.xml \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/components/feeds/test/mochitest.ini
@@ -0,0 +1,14 @@
+[DEFAULT]
+support-files =
+  bug368464-data.xml
+  bug408328-data.xml
+  bug436801-data.xml
+  bug494328-data.xml
+  bug589543-data.xml
+  valid-feed.xml
+  valid-unsniffable-feed.xml
+
+[test_bug436801.html]
+[test_bug494328.html]
+[test_bug589543.html]
+[test_registerHandler.html]
--- a/browser/components/feeds/test/moz.build
+++ b/browser/components/feeds/test/moz.build
@@ -4,8 +4,11 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += ['chrome']
 
 MODULE = 'test_browser_feeds'
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/caps/tests/mochitest/Makefile.in
+++ b/caps/tests/mochitest/Makefile.in
@@ -1,18 +1,10 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = 	test_bug423375.html \
-                test_bug246699.html \
-                test_bug292789.html \
-                test_bug470804.html \
-                test_disallowInheritPrincipal.html \
-                test_app_principal_equality.html \
-                $(NULL)
-
 # jarPrefix test doesn't work on Windows, see bug 776296.
 ifneq ($(OS_ARCH),WINNT)
 MOCHITEST_CHROME_FILES = test_principal_jarprefix_origin_appid_appstatus.html \
                          $(NULL)
 endif
new file mode 100644
--- /dev/null
+++ b/caps/tests/mochitest/mochitest.ini
@@ -0,0 +1,8 @@
+[DEFAULT]
+
+[test_app_principal_equality.html]
+[test_bug246699.html]
+[test_bug292789.html]
+[test_bug423375.html]
+[test_bug470804.html]
+[test_disallowInheritPrincipal.html]
--- a/caps/tests/mochitest/moz.build
+++ b/caps/tests/mochitest/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/base/test/Makefile.in
+++ b/content/base/test/Makefile.in
@@ -1,587 +1,13 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-		responseIdentical.sjs \
-		test_bug5141.html \
-		test_bug51034.html \
-		test_bug166235.html \
-		test_bug199959.html \
-		test_bug218236.html \
-		test_bug218277.html \
-		test_bug238409.html \
-		test_bug254337.html \
-		test_bug276037-1.html \
-		test_bug276037-2.xhtml \
-		test_bug298064.html \
-		bug298064-subframe.html \
-		test_xhr_forbidden_headers.html \
-		test_bug311681.xml \
-		test_bug320799.html \
-		test_bug322317.html \
-		test_bug330925.xhtml \
-		test_bug331959.html \
-		test_bug333673.html \
-		test_bug337631.html \
-		test_bug338541.xhtml \
-		test_bug338679.html \
-		test_bug339494.html \
-		test_bug339494.xhtml \
-		test_bug340571.html \
-		test_bug343596.html \
-		test_bug345339.html \
-		345339_iframe.html \
-		test_bug352728.html \
-		test_bug352728.xhtml \
-		test_bug353334.html \
-		test_bug355026.html \
-		test_bug357450.js \
-		test_bug357450.html \
-		test_bug357450.xhtml \
-		test_bug357450_svg.xhtml \
-		test_bug357509.html \
-		test_bug358660.html \
-		test_bug362391.xhtml \
-		test_bug364092.xhtml \
-		test_bug364413.xhtml \
-		test_bug366946.html \
-		test_bug367164.html \
-		test_bug371576-2.html \
-		test_bug371576-3.html \
-		test_bug371576-4.html \
-		test_bug371576-5.html \
-		test_bug372086.html \
-		test_bug372964.html \
-		test_bug372964-2.html \
-		test_bug373181.xhtml \
-		test_bug375314.html \
-		test_bug378969.html \
-		test_bug382113.html \
-		test_bug382871.html \
-		test_bug384003.xhtml \
-		test_bug390219.html \
-		test_bug390735.html \
-		test_bug392318.html \
-		test_bug392511.html \
-		test_bug393968.html \
-		test_bug395915.html \
-		test_bug397234.html \
-		test_bug398243.html \
-		test_bug419132.html \
-		bug419132.html \
-		formReset.html \
-		bug382113_object.html \
-		test_bug326337.html \
-		file_bug326337_inner.html \
-		file_bug326337_outer.html \
-		file_bug326337.xml \
-		test_bug333198.html \
-		test_bug402150.html \
-		test_bug402150.html^headers^ \
-		test_bug401662.html \
-		test_bug403852.html \
-		test_fileapi.html \
-		test_fileapi_slice.html \
-		test_bug403868.xml \
-		test_bug405182.html \
-		test_bug403841.html \
-		test_bug409380.html \
-		test_bug410229.html \
-		test_bug413974.html \
-		test_bug415860.html \
-		test_bug414190.html \
-		test_bug527896.html \
-		test_bug416317-1.html \
-		test_bug416317-2.html \
-		test_XHRSendData.html \
-		file_XHRSendData.sjs \
-		file_XHRSendData_doc.xml \
-		file_XHRSendData_doc.xml^headers^ \
-		file_bug416317.xhtml \
-		test_bug416383.html \
-		test_bug417255.html \
-		test_bug417384.html \
-		test_bug418214.html \
-		test_bug419527.xhtml \
-		test_bug420609.xhtml \
-		test_bug420700.html \
-		test_bug421602.html \
-		test_bug422537.html \
-		test_bug424359-1.html \
-		test_bug499656.html \
-		test_bug499656.xhtml \
-		file_htmlserializer_1.html \
-		file_htmlserializer_1_bodyonly.html \
-		file_htmlserializer_1_format.html \
-		file_htmlserializer_1_linebreak.html \
-		file_htmlserializer_1_links.html \
-		file_htmlserializer_1_noflag.html \
-		file_htmlserializer_1_noformatpre.html \
-		file_htmlserializer_1_raw.html \
-		file_htmlserializer_1_nested_body.html \
-		file_htmlserializer_1_sibling_body.html \
-		file_htmlserializer_1_sibling_body_only_body.html \
-		file_htmlserializer_1_no_body.html \
-		file_htmlserializer_1_wrap.html \
-		test_bug424359-2.html \
-		file_htmlserializer_2.html \
-		test_bug431082.html \
-		file_htmlserializer_2_basic.html \
-		file_htmlserializer_2_enthtml.html \
-		file_htmlserializer_2_entw3c.html \
-		file_htmlserializer_2_latin1.html \
-		test_bug424212.html \
-		test_bug425013.html \
-		bug426308-redirect.sjs \
-		test_bug426308.html \
-		test_bug426646.html \
-		file_bug426646-1.html \
-		file_bug426646-2.html \
-		test_bug429157.html \
-		test_XHR.html \
-		file_XHR_pass1.xml \
-		file_XHR_pass2.txt \
-		file_XHR_pass3.txt \
-		file_XHR_pass3.txt^headers^ \
-		file_XHR_fail1.txt \
-		file_XHR_fail1.txt^headers^ \
-		file_XHR_binary1.bin \
-		file_XHR_binary1.bin^headers^ \
-		file_XHR_binary2.bin \
-		file_XHR_header.sjs \
-		test_XHR_header.html \
-		test_bug428847.html \
-		file_bug428847-1.xhtml \
-		file_bug428847-2.xhtml \
-		test_bug431701.html \
-		test_bug431833.html \
-		test_bug435425.html \
-		bug435425.sjs \
-		bug435425_redirect.sjs \
-		test_bug438519.html \
-		test_bug444722.html \
-		test_bug451376.html \
-		test_text_wholeText.html \
-		test_bug433533.html \
-		wholeTexty-helper.xml \
-		test_bug444030.xhtml \
-		test_NodeIterator_basics_filters.xhtml \
-		test_NodeIterator_mutations_1.xhtml \
-		test_NodeIterator_mutations_2.html \
-		test_NodeIterator_mutations_3.html \
-		test_bug28293.html \
-		test_bug28293.xhtml \
-		file_bug28293.sjs \
-		test_title.html \
-		test_bug453521.html \
-		test_bug454325.html \
-		test_bug456262.html \
-		test_bug482935.html \
-		     bug482935.sjs \
-		test_bug590870.html \
-		file_bug590870.html \
-		test_bug590812.html \
-		file_bug590812.xml \
-		file_bug590812-ref.xhtml \
-		test_bug368972.html \
-		test_bug448993.html \
-		test_bug450160.html \
-		test_bug453736.html \
-		test_bug454326.html \
-		test_bug505783.html \
-		test_bug457746.html \
-		test_bug587931.html \
-		test_bug592829.html \
-		test_bug518104.html \
-		test_bug682463.html \
-		bug457746.sjs \
-		test_CrossSiteXHR.html \
-		test_CrossSiteXHR_origin.html \
-		file_CrossSiteXHR_inner.html \
-		file_CrossSiteXHR_inner_data.sjs \
-		file_CrossSiteXHR_inner.jar \
-		file_CrossSiteXHR_server.sjs \
-		test_CrossSiteXHR_cache.html \
-		file_CrossSiteXHR_cache_server.sjs \
-		test_XHRDocURI.html \
-		file_XHRDocURI.xml \
-		file_XHRDocURI.xml^headers^ \
-		file_XHRDocURI.text \
-		file_XHRDocURI.text^headers^ \
-		test_DOMException.html \
-		test_domparsing.html \
-		test_meta_viewport0.html \
-		test_meta_viewport1.html \
-		test_meta_viewport2.html \
-		test_meta_viewport3.html \
-		test_meta_viewport4.html \
-		test_meta_viewport5.html \
-		test_meta_viewport6.html \
-			viewport_helpers.js \
-		test_mutationobservers.html \
-		mutationobserver_dialog.html \
-		test_bug744830.html \
-		file_bug782342.txt \
-		test_bug782342.html \
-		test_bug282547.html \
-		bug282547.sjs \
-		test_domparser_null_char.html \
-		test_bug811701.html \
-		test_bug811701.xhtml \
-		test_bug820909.html \
-		test_bug704063.html \
-		test_bug894874.html \
-		test_bug895974.html \
-		test_bug895239.html \
-		test_bug459424.html \
-		bug461735-redirect1.sjs \
-		bug461735-redirect2.sjs \
-		bug461735-post-redirect.js \
-		test_bug513194.html \
-		test_bug461735.html \
-		test_bug380418.html \
-		test_bug469304.html \
-		test_bug465767.html \
-		test_bug380418.html^headers^ \
-		test_bug422403-1.html \
-		file_xhtmlserializer_1.xhtml \
-		file_xhtmlserializer_1_bodyonly.xhtml \
-		file_xhtmlserializer_1_format.xhtml \
-		file_xhtmlserializer_1_linebreak.xhtml \
-		file_xhtmlserializer_1_links.xhtml \
-		file_xhtmlserializer_1_noflag.xhtml \
-		file_xhtmlserializer_1_noformatpre.xhtml \
-		file_xhtmlserializer_1_raw.xhtml \
-		file_xhtmlserializer_1_nested_body.xhtml \
-		file_xhtmlserializer_1_sibling_body.xhtml \
-		file_xhtmlserializer_1_sibling_body_only_body.xhtml \
-		file_xhtmlserializer_1_no_body.xhtml \
-		file_xhtmlserializer_1_wrap.xhtml \
-		test_bug422403-2.xhtml \
-		file_xhtmlserializer_2.xhtml \
-		file_xhtmlserializer_2_basic.xhtml \
-		file_xhtmlserializer_2_enthtml.xhtml \
-		file_xhtmlserializer_2_entw3c.xhtml \
-		file_xhtmlserializer_2_latin1.xhtml \
-		test_bug500937.html \
-		test_htmlcopyencoder.html \
-		test_bug313646.html \
-		bug313646.txt \
-		test_htmlcopyencoder.xhtml \
-		test_bug270145.xhtml \
-		test_elementTraversal.html \
-		test_w3element_traversal.html \
-		test_w3element_traversal.xhtml \
-		test_bug469020.html \
-		test_w3element_traversal_svg.html \
-		w3element_traversal.svg \
-		test_bug444322.html \
-		bug444322.txt \
-		bug444322.js \
-		test_bug455472.html \
-		test_bug455629.html \
-		bug455629-helper.svg \
-		test_bug473162-1.html \
-		test_bug473162-2.html \
-		test_bug466751.xhtml \
-		test_bug461555.html \
-		test_sync_xhr_timer.xhtml \
-		test_bug498240.html \
-		file_htmlserializer_ipv6.html \
-		file_htmlserializer_ipv6_out.html \
-		test_bug498433.html \
-		test_bug498897.html \
-		file_bug498897.html \
-		file_bug498897.html^headers^ \
-		file_bug498897.css \
-		test_bug493881.js \
-		test_bug493881.html \
-		bug466409-page.html \
-		bug466409-empty.css \
-		test_bug466409.html \
-		test_classList.html \
-		test_bug514487.html \
-		test_range_bounds.html \
-		test_mozfiledataurl.html \
-		file_mozfiledataurl_audio.ogg \
-		file_mozfiledataurl_img.jpg \
-		file_mozfiledataurl_inner.html \
-		file_mozfiledataurl_doc.html \
-		file_mozfiledataurl_text.txt \
-		test_bug475156.html \
-		bug475156.sjs \
-		test_bug544642.html \
-		test_bug564863.xhtml \
-		test_bug588990.html \
-		test_copypaste.html \
-		test_copypaste.xhtml \
-		copypaste.js \
-		test_bug503481.html \
-		file_bug503481.sjs \
-		test_bug503481b.html \
-		file_bug503481b_inner.html \
-		test_viewport_scroll.html \
-		test_bug540854.html \
-		bug540854.sjs \
-		test_bug548463.html \
-		test_bug545644.html \
-		test_bug545644.xhtml \
-		test_bug553896.xhtml \
-		test_bug515401.html \
-		test_bug541937.html \
-		file_bug541937.html \
-		file_bug541937.xhtml \
-		test_bug558726.html \
-		test_bug557892.html \
-		file_bug557892.html \
-		test_bug559526.html \
-		test_bug346485.html \
-		test_bug560780.html \
-		test_bug562652.html \
-		test_bug562137.html \
-		file_bug562137.txt \
-		test_bug562169-1.html \
-		test_bug562169-2.html \
-		test_bug548193.html \
-		file_bug548193.sjs \
-		test_html_colors_quirks.html \
-		test_html_colors_standards.html \
-		test_bug300992.html \
-		test_websocket_hello.html \
-		file_websocket_hello_wsh.py \
-		test_websocket_basic.html \
-		file_websocket_basic_wsh.py \
-		test_websocket.html \
-		file_websocket_wsh.py \
-		file_websocket_http_resource.txt \
-		test_x-frame-options.html \
-		file_x-frame-options_main.html \
-		file_x-frame-options_page.sjs \
-		test_createHTMLDocument.html \
-		test_bug622088.html \
-		file_bug622088_inner.html \
-		file_bug622088.sjs \
-		test_bug564047.html \
-		test_bug567350.html \
-		test_bug578096.html \
-		test_bug585978.html \
-		test_bug592366.html \
-		test_bug597345.html \
-		script-1_bug597345.sjs \
-		script-2_bug597345.js \
-		test_bug599588.html \
-		test_bug601803.html \
-		file_bug601803a.html \
-		file_bug601803b.html \
-		test_bug602838.html \
-		script_bug602838.sjs \
-		test_bug614583.html \
-		test_bug604660.html \
-		file_bug604660-1.xml \
-		file_bug604660-2.xsl \
-		file_bug604660-3.js \
-		file_bug604660-4.js \
-		file_bug604660-5.xml \
-		file_bug604660-6.xsl \
-		test_bug605982.html \
-		test_bug606729.html \
-		test_treewalker_nextsibling.xml \
-		test_bug614058.html \
-		test_bug622117.html \
-		test_base.xhtml \
-		file_base_xbl.xml \
-		test_bug622246.html \
-		test_bug484396.html \
-		test_bug466080.html \
-		bug466080.sjs \
-		test_bug625722.html \
-		test_bug631615.html \
-		test_bug558431.html \
-		file_bug558431.html \
-		file_bug558431.html^headers^ \
-		test_bug604592.html \
-		test_bug628938.html \
-		test_bug626262.html \
-		test_plugin_freezing.html \
-		test_bug638112.html \
-		bug638112-response.txt \
-		bug638112.sjs \
-		test_bug656283.html \
-		test_blobconstructor.html \
-		fileutils.js \
-		test_bug338583.html \
-		test_EventSource_redirects.html \
-		eventsource.resource \
-		eventsource.resource^headers^ \
-		eventsource_redirect.resource \
-		eventsource_redirect.resource^headers^ \
-		eventsource_redirect_to.resource \
-		eventsource_redirect_to.resource^headers^ \
-		badContentType.eventsource \
-		badContentType.eventsource^headers^ \
-		badHTTPResponseCode.eventsource \
-		badHTTPResponseCode.eventsource^headers^ \
-		badMessageEvent.eventsource \
-		badMessageEvent.eventsource^headers^ \
-		file_restrictedEventSource.sjs \
-		forRemoval.resource \
-		forRemoval.resource^headers^ \
-		accesscontrol.resource \
-		accesscontrol.resource^headers^ \
-		invalid_accesscontrol.resource \
-		invalid_accesscontrol.resource^headers^ \
-		file_bug869432.eventsource \
-		file_bug869432.eventsource^headers^ \
-		test_xhr_progressevents.html \
-		progressserver.sjs \
-		somedatas.resource \
-		somedatas.resource^headers^ \
-		delayedServerEvents.sjs \
-		test_html_in_xhr.html \
-		file_html_in_xhr.html \
-		file_html_in_xhr2.html \
-		file_html_in_xhr3.html \
-		file_html_in_xhr.sjs \
-		test_bug647518.html \
-		test_caretPositionFromPoint.html \
-		Ahem.ttf \
-		test_bug664916.html \
-		test_bug666604.html \
-		test_bug675121.html \
-		file_bug675121.sjs \
-		test_bug675166.html \
-		test_bug682554.html \
-		test_bug682592.html \
-		bug682592-subframe.html \
-		bug682592-subframe-ref.html \
-		test_bug684671.html \
-		test_bug685798.html \
-		test_bug686449.xhtml \
-		test_bug690056.html \
-		test_bug692434.html \
-		file_bug692434.xml \
-		test_bug693615.html \
-		test_bug693875.html \
-		test_bug694754.xhtml \
-		test_bug698384.html \
-		test_nodelist_holes.html \
-		test_xhr_abort_after_load.html \
-		test_bug702439.html \
-		test_bug702439.html^headers^ \
-		file_bug702439.html \
-		test_bug707142.html \
-		file_bug707142_baseline.json \
-		file_bug707142_bom.json \
-		file_bug707142_utf-16.json \
-		test_reentrant_flush.html \
-		test_bug708620.html \
-		file_bug708620.html \
-		file_bug708620-2.html \
-		test_XHR_timeout.html \
-		test_XHR_timeout.js \
-		file_XHR_timeout.sjs \
-		test_bug717511.html \
-		file_bug717511.html \
-		file_bug717511.html^headers^ \
-		file_bug717511_2.html \
-		file_bug717511_2.html^headers^ \
-		test_bug726364.html \
-		test_bug698381.html \
-		test_bug711047.html \
-		test_bug696301-1.html \
-		test_bug696301-2.html \
-		bug696301-script-1.js \
-		bug696301-script-1.js^headers^ \
-		bug696301-script-2.js \
-		test_bug737565.html \
-		test_bug737612.html \
-		test_bug738108.html \
-		test_bug366944.html \
-		test_bug650386_redirect_301.html \
-		test_bug650386_redirect_302.html \
-		test_bug650386_redirect_303.html \
-		test_bug650386_redirect_307.html \
-		file_bug650386_content.sjs \
-		file_bug650386_report.sjs \
-		test_bug687859.html \
-		file_bug687859-bom.js \
-		file_bug687859-bom.js^headers^ \
-		file_bug687859-16.js \
-		file_bug687859-16.js^headers^ \
-		file_bug687859-http.js \
-		file_bug687859-http.js^headers^ \
-		file_bug687859-charset.js \
-		file_bug687859-inherit.js \
-		test_bug719533.html \
-		test_bug737087.html \
-		test_bug433662.html \
-		test_bug749367.html \
-		test_bug753278.html \
-		test_bug761120.html \
-		test_bug787778.html \
-		file_bug787778.sjs \
-		test_xbl_userdata.xhtml \
-		test_XHR_onuploadprogress.html \
-		test_XHR_anon.html \
-		file_XHR_anon.sjs \
-		file_XHR_system_redirect.html \
-		file_XHR_system_redirect.html^headers^ \
-		test_XHR_system.html \
-		test_XHR_parameters.html \
-		test_ipc_messagemanager_blob.html \
-		test_mixed_content_blocker.html \
-		file_mixed_content_main.html \
-		file_mixed_content_server.sjs \
-		test_mixed_content_blocker_bug803225.html \
-		file_mixed_content_main_bug803225.html \
-		file_mixed_content_main_bug803225_websocket_wsh.py \
-		bug803225_test_mailto.html \
-		test_mixed_content_blocker_frameNavigation.html \
-		file_mixed_content_frameNavigation.html \
-		file_mixed_content_frameNavigation_innermost.html \
-		file_mixed_content_frameNavigation_grandchild.html \
-		file_mixed_content_frameNavigation_secure.html \
-		file_mixed_content_frameNavigation_secure_grandchild.html \
-		file_mixed_content_frameNavigation_blankTarget.html \
-		file_bug902350.html \
-		file_bug902350_frame.html \
-		test_bug789856.html \
-		file_bug804395.jar \
-		test_bug804395.html \
-		test_bug809003.html \
-		test_bug810494.html \
-		test_bug819051.html \
-		bug819051.sjs \
-		test_textnode_split_in_selection.html \
-		test_textnode_normalize_in_selection.html \
-		test_xhr_send_readystate.html \
-		test_bug813919.html \
-		test_bug814576.html \
-		test_xhr_withCredentials.html \
-		badMessageEvent2.eventsource \
-		badMessageEvent2.eventsource^headers^ \
-		test_object.html \
-		test_bug869006.html \
-		test_bug868999.html \
-		test_bug869000.html \
-		test_bug869002.html \
-		test_bug876282.html \
-		test_bug890580.html \
-		test_declare_stylesheet_obsolete.html \
-		variable_style_sheet.sjs \
-		test_processing_instruction_update_stylesheet.xhtml \
-		test_bug907892.html \
-		file_bug907892.html \
-		test_bug902847.html \
-		$(NULL)
-
 # OOP tests don't work on Windows (bug 763081) or native-fennec
 # (see Bug 774939). App permission checks are also disabled on
 # anything but B2G (Bug 900707).
 ifdef MOZ_CHILD_PERMISSIONS
 MOCHITEST_FILES += \
 		test_messagemanager_assertpermission.html \
 		test_child_process_shutdown_message.html \
 		$(NULL)
--- a/content/base/test/csp/Makefile.in
+++ b/content/base/test/csp/Makefile.in
@@ -5,106 +5,14 @@
 DEPTH := @DEPTH@
 topsrcdir := @top_srcdir@
 srcdir := @srcdir@
 VPATH := @srcdir@
 relativesrcdir := @relativesrcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-MOCHITEST_FILES := \
-  test_CSP.html \
-  file_CSP.sjs \
-  file_CSP.css \
-  file_CSP_main.html \
-  file_CSP_main.html^headers^ \
-  file_CSP_main_spec_compliant.html \
-  file_CSP_main_spec_compliant.html^headers^ \
-  file_CSP_main.js \
-  file_CSP_main_spec_compliant.js \
-  test_CSP_frameancestors.html \
-  file_CSP_frameancestors.sjs \
-  file_CSP_frameancestors_main.html \
-  file_CSP_frameancestors_main.js \
-  file_CSP_frameancestors_spec_compliant.sjs \
-  file_CSP_frameancestors_main_spec_compliant.html \
-  file_CSP_frameancestors_main_spec_compliant.js \
-  test_CSP_inlinescript.html \
-  file_CSP_inlinescript_main.html \
-  file_CSP_inlinescript_main.html^headers^ \
-  file_CSP_inlinescript_main_spec_compliant.html \
-  file_CSP_inlinescript_main_spec_compliant.html^headers^ \
-  file_CSP_inlinescript_main_spec_compliant_allowed.html \
-  file_CSP_inlinescript_main_spec_compliant_allowed.html^headers^ \
-  test_CSP_evalscript.html \
-  file_CSP_evalscript_main.html \
-  file_CSP_evalscript_main.html^headers^ \
-  file_CSP_evalscript_main.js \
-  file_CSP_evalscript_main_allowed.js \
-  file_CSP_evalscript_main_spec_compliant.html \
-  file_CSP_evalscript_main_spec_compliant.html^headers^ \
-  file_CSP_evalscript_main_spec_compliant_allowed.html \
-  file_CSP_evalscript_main_spec_compliant_allowed.html^headers^ \
-  test_CSP_evalscript_getCRMFRequest.html \
-  file_CSP_evalscript_main_getCRMFRequest.html \
-  file_CSP_evalscript_main_getCRMFRequest.html^headers^ \
-  file_CSP_evalscript_main_getCRMFRequest.js \
-  file_CSP_evalscript_main_allowed_getCRMFRequest.js \
-  file_CSP_evalscript_main_spec_compliant_getCRMFRequest.html \
-  file_CSP_evalscript_main_spec_compliant_getCRMFRequest.html^headers^ \
-  file_CSP_evalscript_main_spec_compliant_allowed_getCRMFRequest.html \
-  file_CSP_evalscript_main_spec_compliant_allowed_getCRMFRequest.html^headers^ \
-  file_CSP_evalscript_no_CSP_at_all.html \
-  file_CSP_evalscript_no_CSP_at_all.html^headers^ \
-  file_CSP_evalscript_no_CSP_at_all.js \
-  test_CSP_inlinestyle.html \
-  file_CSP_inlinestyle_main.html \
-  file_CSP_inlinestyle_main.html^headers^ \
-  file_CSP_inlinestyle_main_spec_compliant.html \
-  file_CSP_inlinestyle_main_spec_compliant.html^headers^ \
-  file_CSP_inlinestyle_main_spec_compliant_allowed.html \
-  file_CSP_inlinestyle_main_spec_compliant_allowed.html^headers^ \
-  file_csp_bug768029.html \
-  file_csp_bug768029.sjs \
-  file_csp_bug773891.html \
-  file_csp_bug773891.sjs \
-  test_csp_redirects.html \
-  file_csp_redirects_page.sjs \
-  file_csp_redirects_main.html \
-  file_csp_redirects_resource.sjs \
-  test_bothCSPheaders.html \
-  file_bothCSPheaders.html \
-  file_bothCSPheaders.html^headers^ \
-  test_CSP_bug663567.html \
-  file_CSP_bug663567_allows.xml \
-  file_CSP_bug663567_allows.xml^headers^ \
-  file_CSP_bug663567.xsl \
-  file_CSP_bug663567_blocks.xml \
-  file_CSP_bug663567_blocks.xml^headers^ \
-  test_CSP_bug802872.html \
-  file_CSP_bug802872.html \
-  file_CSP_bug802872.html^headers^ \
-  file_CSP_bug802872.js \
-  file_CSP_bug802872.sjs \
-  test_CSP_bug885433.html \
-  file_CSP_bug885433_allows.html \
-  file_CSP_bug885433_allows.html^headers^ \
-  file_CSP_bug885433_blocks.html \
-  file_CSP_bug885433_blocks.html^headers^ \
-  test_CSP_bug888172.html \
-  file_CSP_bug888172.html \
-  file_CSP_bug888172.sjs \
-  test_bug836922_npolicies.html \
-  file_bug836922_npolicies.html \
-  file_bug836922_npolicies.html^headers^ \
-  file_bug836922_npolicies_violation.sjs \
-  file_bug836922_npolicies_ro_violation.sjs \
-  test_CSP_bug916446.html \
-  file_CSP_bug916446.html \
-  file_CSP_bug916446.html^headers^ \
-  $(NULL)
-
 MOCHITEST_CHROME_FILES := \
   test_csp_bug768029.html \
   test_csp_bug773891.html \
   $(NULL)
 
 include $(topsrcdir)/config/rules.mk
new file mode 100644
--- /dev/null
+++ b/content/base/test/csp/mochitest.ini
@@ -0,0 +1,92 @@
+[DEFAULT]
+support-files =
+  file_CSP.css
+  file_CSP.sjs
+  file_CSP_bug663567.xsl
+  file_CSP_bug663567_allows.xml
+  file_CSP_bug663567_allows.xml^headers^
+  file_CSP_bug663567_blocks.xml
+  file_CSP_bug663567_blocks.xml^headers^
+  file_CSP_bug802872.html
+  file_CSP_bug802872.html^headers^
+  file_CSP_bug802872.js
+  file_CSP_bug802872.sjs
+  file_CSP_bug885433_allows.html
+  file_CSP_bug885433_allows.html^headers^
+  file_CSP_bug885433_blocks.html
+  file_CSP_bug885433_blocks.html^headers^
+  file_CSP_bug888172.html
+  file_CSP_bug888172.sjs
+  file_CSP_bug916446.html
+  file_CSP_bug916446.html^headers^
+  file_CSP_evalscript_main.html
+  file_CSP_evalscript_main.html^headers^
+  file_CSP_evalscript_main.js
+  file_CSP_evalscript_main_allowed.js
+  file_CSP_evalscript_main_allowed_getCRMFRequest.js
+  file_CSP_evalscript_main_getCRMFRequest.html
+  file_CSP_evalscript_main_getCRMFRequest.html^headers^
+  file_CSP_evalscript_main_getCRMFRequest.js
+  file_CSP_evalscript_main_spec_compliant.html
+  file_CSP_evalscript_main_spec_compliant.html^headers^
+  file_CSP_evalscript_main_spec_compliant_allowed.html
+  file_CSP_evalscript_main_spec_compliant_allowed.html^headers^
+  file_CSP_evalscript_main_spec_compliant_allowed_getCRMFRequest.html
+  file_CSP_evalscript_main_spec_compliant_allowed_getCRMFRequest.html^headers^
+  file_CSP_evalscript_main_spec_compliant_getCRMFRequest.html
+  file_CSP_evalscript_main_spec_compliant_getCRMFRequest.html^headers^
+  file_CSP_evalscript_no_CSP_at_all.html
+  file_CSP_evalscript_no_CSP_at_all.html^headers^
+  file_CSP_evalscript_no_CSP_at_all.js
+  file_CSP_frameancestors.sjs
+  file_CSP_frameancestors_main.html
+  file_CSP_frameancestors_main.js
+  file_CSP_frameancestors_main_spec_compliant.html
+  file_CSP_frameancestors_main_spec_compliant.js
+  file_CSP_frameancestors_spec_compliant.sjs
+  file_CSP_inlinescript_main.html
+  file_CSP_inlinescript_main.html^headers^
+  file_CSP_inlinescript_main_spec_compliant.html
+  file_CSP_inlinescript_main_spec_compliant.html^headers^
+  file_CSP_inlinescript_main_spec_compliant_allowed.html
+  file_CSP_inlinescript_main_spec_compliant_allowed.html^headers^
+  file_CSP_inlinestyle_main.html
+  file_CSP_inlinestyle_main.html^headers^
+  file_CSP_inlinestyle_main_spec_compliant.html
+  file_CSP_inlinestyle_main_spec_compliant.html^headers^
+  file_CSP_inlinestyle_main_spec_compliant_allowed.html
+  file_CSP_inlinestyle_main_spec_compliant_allowed.html^headers^
+  file_CSP_main.html
+  file_CSP_main.html^headers^
+  file_CSP_main.js
+  file_CSP_main_spec_compliant.html
+  file_CSP_main_spec_compliant.html^headers^
+  file_CSP_main_spec_compliant.js
+  file_bothCSPheaders.html
+  file_bothCSPheaders.html^headers^
+  file_bug836922_npolicies.html
+  file_bug836922_npolicies.html^headers^
+  file_bug836922_npolicies_ro_violation.sjs
+  file_bug836922_npolicies_violation.sjs
+  file_csp_bug768029.html
+  file_csp_bug768029.sjs
+  file_csp_bug773891.html
+  file_csp_bug773891.sjs
+  file_csp_redirects_main.html
+  file_csp_redirects_page.sjs
+  file_csp_redirects_resource.sjs
+
+[test_CSP.html]
+[test_CSP_bug663567.html]
+[test_CSP_bug802872.html]
+[test_CSP_bug885433.html]
+[test_CSP_bug888172.html]
+[test_CSP_bug916446.html]
+[test_CSP_evalscript.html]
+[test_CSP_evalscript_getCRMFRequest.html]
+[test_CSP_frameancestors.html]
+[test_CSP_inlinescript.html]
+[test_CSP_inlinestyle.html]
+[test_bothCSPheaders.html]
+[test_bug836922_npolicies.html]
+[test_csp_redirects.html]
--- a/content/base/test/csp/moz.build
+++ b/content/base/test/csp/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
new file mode 100644
--- /dev/null
+++ b/content/base/test/mochitest.ini
@@ -0,0 +1,574 @@
+[DEFAULT]
+support-files =
+  345339_iframe.html
+  Ahem.ttf
+  accesscontrol.resource
+  accesscontrol.resource^headers^
+  badContentType.eventsource
+  badContentType.eventsource^headers^
+  badHTTPResponseCode.eventsource
+  badHTTPResponseCode.eventsource^headers^
+  badMessageEvent.eventsource
+  badMessageEvent.eventsource^headers^
+  badMessageEvent2.eventsource
+  badMessageEvent2.eventsource^headers^
+  bug282547.sjs
+  bug298064-subframe.html
+  bug313646.txt
+  bug382113_object.html
+  bug419132.html
+  bug426308-redirect.sjs
+  bug435425.sjs
+  bug435425_redirect.sjs
+  bug444322.js
+  bug444322.txt
+  bug455629-helper.svg
+  bug457746.sjs
+  bug461735-post-redirect.js
+  bug461735-redirect1.sjs
+  bug461735-redirect2.sjs
+  bug466080.sjs
+  bug466409-empty.css
+  bug466409-page.html
+  bug475156.sjs
+  bug482935.sjs
+  bug540854.sjs
+  bug638112-response.txt
+  bug638112.sjs
+  bug682592-subframe-ref.html
+  bug682592-subframe.html
+  bug696301-script-1.js
+  bug696301-script-1.js^headers^
+  bug696301-script-2.js
+  bug803225_test_mailto.html
+  bug819051.sjs
+  copypaste.js
+  delayedServerEvents.sjs
+  eventsource.resource
+  eventsource.resource^headers^
+  eventsource_redirect.resource
+  eventsource_redirect.resource^headers^
+  eventsource_redirect_to.resource
+  eventsource_redirect_to.resource^headers^
+  file_CrossSiteXHR_cache_server.sjs
+  file_CrossSiteXHR_inner.html
+  file_CrossSiteXHR_inner.jar
+  file_CrossSiteXHR_inner_data.sjs
+  file_CrossSiteXHR_server.sjs
+  file_XHRDocURI.text
+  file_XHRDocURI.text^headers^
+  file_XHRDocURI.xml
+  file_XHRDocURI.xml^headers^
+  file_XHRSendData.sjs
+  file_XHRSendData_doc.xml
+  file_XHRSendData_doc.xml^headers^
+  file_XHR_anon.sjs
+  file_XHR_binary1.bin
+  file_XHR_binary1.bin^headers^
+  file_XHR_binary2.bin
+  file_XHR_fail1.txt
+  file_XHR_fail1.txt^headers^
+  file_XHR_header.sjs
+  file_XHR_pass1.xml
+  file_XHR_pass2.txt
+  file_XHR_pass3.txt
+  file_XHR_pass3.txt^headers^
+  file_XHR_system_redirect.html
+  file_XHR_system_redirect.html^headers^
+  file_XHR_timeout.sjs
+  file_base_xbl.xml
+  file_bug28293.sjs
+  file_bug326337.xml
+  file_bug326337_inner.html
+  file_bug326337_outer.html
+  file_bug416317.xhtml
+  file_bug426646-1.html
+  file_bug426646-2.html
+  file_bug428847-1.xhtml
+  file_bug428847-2.xhtml
+  file_bug498897.css
+  file_bug498897.html
+  file_bug498897.html^headers^
+  file_bug503481.sjs
+  file_bug503481b_inner.html
+  file_bug541937.html
+  file_bug541937.xhtml
+  file_bug548193.sjs
+  file_bug557892.html
+  file_bug558431.html
+  file_bug558431.html^headers^
+  file_bug562137.txt
+  file_bug590812-ref.xhtml
+  file_bug590812.xml
+  file_bug590870.html
+  file_bug601803a.html
+  file_bug601803b.html
+  file_bug604660-1.xml
+  file_bug604660-2.xsl
+  file_bug604660-3.js
+  file_bug604660-4.js
+  file_bug604660-5.xml
+  file_bug604660-6.xsl
+  file_bug622088.sjs
+  file_bug622088_inner.html
+  file_bug650386_content.sjs
+  file_bug650386_report.sjs
+  file_bug675121.sjs
+  file_bug687859-16.js
+  file_bug687859-16.js^headers^
+  file_bug687859-bom.js
+  file_bug687859-bom.js^headers^
+  file_bug687859-charset.js
+  file_bug687859-http.js
+  file_bug687859-http.js^headers^
+  file_bug687859-inherit.js
+  file_bug692434.xml
+  file_bug702439.html
+  file_bug707142_baseline.json
+  file_bug707142_bom.json
+  file_bug707142_utf-16.json
+  file_bug708620-2.html
+  file_bug708620.html
+  file_bug717511.html
+  file_bug717511.html^headers^
+  file_bug717511_2.html
+  file_bug717511_2.html^headers^
+  file_bug782342.txt
+  file_bug787778.sjs
+  file_bug804395.jar
+  file_bug869432.eventsource
+  file_bug869432.eventsource^headers^
+  file_bug902350.html
+  file_bug902350_frame.html
+  file_bug907892.html
+  file_html_in_xhr.html
+  file_html_in_xhr.sjs
+  file_html_in_xhr2.html
+  file_html_in_xhr3.html
+  file_htmlserializer_1.html
+  file_htmlserializer_1_bodyonly.html
+  file_htmlserializer_1_format.html
+  file_htmlserializer_1_linebreak.html
+  file_htmlserializer_1_links.html
+  file_htmlserializer_1_nested_body.html
+  file_htmlserializer_1_no_body.html
+  file_htmlserializer_1_noflag.html
+  file_htmlserializer_1_noformatpre.html
+  file_htmlserializer_1_raw.html
+  file_htmlserializer_1_sibling_body.html
+  file_htmlserializer_1_sibling_body_only_body.html
+  file_htmlserializer_1_wrap.html
+  file_htmlserializer_2.html
+  file_htmlserializer_2_basic.html
+  file_htmlserializer_2_enthtml.html
+  file_htmlserializer_2_entw3c.html
+  file_htmlserializer_2_latin1.html
+  file_htmlserializer_ipv6.html
+  file_htmlserializer_ipv6_out.html
+  file_mixed_content_frameNavigation.html
+  file_mixed_content_frameNavigation_blankTarget.html
+  file_mixed_content_frameNavigation_grandchild.html
+  file_mixed_content_frameNavigation_innermost.html
+  file_mixed_content_frameNavigation_secure.html
+  file_mixed_content_frameNavigation_secure_grandchild.html
+  file_mixed_content_main.html
+  file_mixed_content_main_bug803225.html
+  file_mixed_content_main_bug803225_websocket_wsh.py
+  file_mixed_content_server.sjs
+  file_mozfiledataurl_audio.ogg
+  file_mozfiledataurl_doc.html
+  file_mozfiledataurl_img.jpg
+  file_mozfiledataurl_inner.html
+  file_mozfiledataurl_text.txt
+  file_restrictedEventSource.sjs
+  file_websocket_basic_wsh.py
+  file_websocket_hello_wsh.py
+  file_websocket_http_resource.txt
+  file_websocket_wsh.py
+  file_x-frame-options_main.html
+  file_x-frame-options_page.sjs
+  file_xhtmlserializer_1.xhtml
+  file_xhtmlserializer_1_bodyonly.xhtml
+  file_xhtmlserializer_1_format.xhtml
+  file_xhtmlserializer_1_linebreak.xhtml
+  file_xhtmlserializer_1_links.xhtml
+  file_xhtmlserializer_1_nested_body.xhtml
+  file_xhtmlserializer_1_no_body.xhtml
+  file_xhtmlserializer_1_noflag.xhtml
+  file_xhtmlserializer_1_noformatpre.xhtml
+  file_xhtmlserializer_1_raw.xhtml
+  file_xhtmlserializer_1_sibling_body.xhtml
+  file_xhtmlserializer_1_sibling_body_only_body.xhtml
+  file_xhtmlserializer_1_wrap.xhtml
+  file_xhtmlserializer_2.xhtml
+  file_xhtmlserializer_2_basic.xhtml
+  file_xhtmlserializer_2_enthtml.xhtml
+  file_xhtmlserializer_2_entw3c.xhtml
+  file_xhtmlserializer_2_latin1.xhtml
+  fileutils.js
+  forRemoval.resource
+  forRemoval.resource^headers^
+  formReset.html
+  invalid_accesscontrol.resource
+  invalid_accesscontrol.resource^headers^
+  mutationobserver_dialog.html
+  progressserver.sjs
+  responseIdentical.sjs
+  script-1_bug597345.sjs
+  script-2_bug597345.js
+  script_bug602838.sjs
+  somedatas.resource
+  somedatas.resource^headers^
+  variable_style_sheet.sjs
+  viewport_helpers.js
+  w3element_traversal.svg
+  wholeTexty-helper.xml
+
+[test_CrossSiteXHR.html]
+[test_CrossSiteXHR_cache.html]
+[test_CrossSiteXHR_origin.html]
+[test_DOMException.html]
+[test_EventSource_redirects.html]
+[test_NodeIterator_basics_filters.xhtml]
+[test_NodeIterator_mutations_1.xhtml]
+[test_NodeIterator_mutations_2.html]
+[test_NodeIterator_mutations_3.html]
+[test_XHR.html]
+[test_XHRDocURI.html]
+[test_XHRSendData.html]
+[test_XHR_anon.html]
+[test_XHR_header.html]
+[test_XHR_onuploadprogress.html]
+[test_XHR_parameters.html]
+[test_XHR_system.html]
+[test_XHR_timeout.html]
+[test_XHR_timeout.js]
+[test_base.xhtml]
+[test_blobconstructor.html]
+[test_bug166235.html]
+[test_bug199959.html]
+[test_bug218236.html]
+[test_bug218277.html]
+[test_bug238409.html]
+[test_bug254337.html]
+[test_bug270145.xhtml]
+[test_bug276037-1.html]
+[test_bug276037-2.xhtml]
+[test_bug282547.html]
+[test_bug28293.html]
+[test_bug28293.xhtml]
+[test_bug298064.html]
+[test_bug300992.html]
+[test_bug311681.xml]
+[test_bug313646.html]
+[test_bug320799.html]
+[test_bug322317.html]
+[test_bug326337.html]
+[test_bug330925.xhtml]
+[test_bug331959.html]
+[test_bug333198.html]
+[test_bug333673.html]
+[test_bug337631.html]
+[test_bug338541.xhtml]
+[test_bug338583.html]
+[test_bug338679.html]
+[test_bug339494.html]
+[test_bug339494.xhtml]
+[test_bug340571.html]
+[test_bug343596.html]
+[test_bug345339.html]
+[test_bug346485.html]
+[test_bug352728.html]
+[test_bug352728.xhtml]
+[test_bug353334.html]
+[test_bug355026.html]
+[test_bug357450.html]
+[test_bug357450.js]
+[test_bug357450.xhtml]
+[test_bug357450_svg.xhtml]
+[test_bug357509.html]
+[test_bug358660.html]
+[test_bug362391.xhtml]
+[test_bug364092.xhtml]
+[test_bug364413.xhtml]
+[test_bug366944.html]
+[test_bug366946.html]
+[test_bug367164.html]
+[test_bug368972.html]
+[test_bug371576-2.html]
+[test_bug371576-3.html]
+[test_bug371576-4.html]
+[test_bug371576-5.html]
+[test_bug372086.html]
+[test_bug372964-2.html]
+[test_bug372964.html]
+[test_bug373181.xhtml]
+[test_bug375314.html]
+[test_bug378969.html]
+[test_bug380418.html]
+[test_bug380418.html^headers^]
+[test_bug382113.html]
+[test_bug382871.html]
+[test_bug384003.xhtml]
+[test_bug390219.html]
+[test_bug390735.html]
+[test_bug392318.html]
+[test_bug392511.html]
+[test_bug393968.html]
+[test_bug395915.html]
+[test_bug397234.html]
+[test_bug398243.html]
+[test_bug401662.html]
+[test_bug402150.html]
+[test_bug402150.html^headers^]
+[test_bug403841.html]
+[test_bug403852.html]
+[test_bug403868.xml]
+[test_bug405182.html]
+[test_bug409380.html]
+[test_bug410229.html]
+[test_bug413974.html]
+[test_bug414190.html]
+[test_bug415860.html]
+[test_bug416317-1.html]
+[test_bug416317-2.html]
+[test_bug416383.html]
+[test_bug417255.html]
+[test_bug417384.html]
+[test_bug418214.html]
+[test_bug419132.html]
+[test_bug419527.xhtml]
+[test_bug420609.xhtml]
+[test_bug420700.html]
+[test_bug421602.html]
+[test_bug422403-1.html]
+[test_bug422403-2.xhtml]
+[test_bug422537.html]
+[test_bug424212.html]
+[test_bug424359-1.html]
+[test_bug424359-2.html]
+[test_bug425013.html]
+[test_bug426308.html]
+[test_bug426646.html]
+[test_bug428847.html]
+[test_bug429157.html]
+[test_bug431082.html]
+[test_bug431701.html]
+[test_bug431833.html]
+[test_bug433533.html]
+[test_bug433662.html]
+[test_bug435425.html]
+[test_bug438519.html]
+[test_bug444030.xhtml]
+[test_bug444322.html]
+[test_bug444722.html]
+[test_bug448993.html]
+[test_bug450160.html]
+[test_bug451376.html]
+[test_bug453521.html]
+[test_bug453736.html]
+[test_bug454325.html]
+[test_bug454326.html]
+[test_bug455472.html]
+[test_bug455629.html]
+[test_bug456262.html]
+[test_bug457746.html]
+[test_bug459424.html]
+[test_bug461555.html]
+[test_bug461735.html]
+[test_bug465767.html]
+[test_bug466080.html]
+[test_bug466409.html]
+[test_bug466751.xhtml]
+[test_bug469020.html]
+[test_bug469304.html]
+[test_bug473162-1.html]
+[test_bug473162-2.html]
+[test_bug475156.html]
+[test_bug482935.html]
+[test_bug484396.html]
+[test_bug493881.html]
+[test_bug493881.js]
+[test_bug498240.html]
+[test_bug498433.html]
+[test_bug498897.html]
+[test_bug499656.html]
+[test_bug499656.xhtml]
+[test_bug500937.html]
+[test_bug503481.html]
+[test_bug503481b.html]
+[test_bug505783.html]
+[test_bug51034.html]
+[test_bug513194.html]
+[test_bug5141.html]
+[test_bug514487.html]
+[test_bug515401.html]
+[test_bug518104.html]
+[test_bug527896.html]
+[test_bug540854.html]
+[test_bug541937.html]
+[test_bug544642.html]
+[test_bug545644.html]
+[test_bug545644.xhtml]
+[test_bug548193.html]
+[test_bug548463.html]
+[test_bug553896.xhtml]
+[test_bug557892.html]
+[test_bug558431.html]
+[test_bug558726.html]
+[test_bug559526.html]
+[test_bug560780.html]
+[test_bug562137.html]
+[test_bug562169-1.html]
+[test_bug562169-2.html]
+[test_bug562652.html]
+[test_bug564047.html]
+[test_bug564863.xhtml]
+[test_bug567350.html]
+[test_bug578096.html]
+[test_bug585978.html]
+[test_bug587931.html]
+[test_bug588990.html]
+[test_bug590812.html]
+[test_bug590870.html]
+[test_bug592366.html]
+[test_bug592829.html]
+[test_bug597345.html]
+[test_bug599588.html]
+[test_bug601803.html]
+[test_bug602838.html]
+[test_bug604592.html]
+[test_bug604660.html]
+[test_bug605982.html]
+[test_bug606729.html]
+[test_bug614058.html]
+[test_bug614583.html]
+[test_bug622088.html]
+[test_bug622117.html]
+[test_bug622246.html]
+[test_bug625722.html]
+[test_bug626262.html]
+[test_bug628938.html]
+[test_bug631615.html]
+[test_bug638112.html]
+[test_bug647518.html]
+[test_bug650386_redirect_301.html]
+[test_bug650386_redirect_302.html]
+[test_bug650386_redirect_303.html]
+[test_bug650386_redirect_307.html]
+[test_bug656283.html]
+[test_bug664916.html]
+[test_bug666604.html]
+[test_bug675121.html]
+[test_bug675166.html]
+[test_bug682463.html]
+[test_bug682554.html]
+[test_bug682592.html]
+[test_bug684671.html]
+[test_bug685798.html]
+[test_bug686449.xhtml]
+[test_bug687859.html]
+[test_bug690056.html]
+[test_bug692434.html]
+[test_bug693615.html]
+[test_bug693875.html]
+[test_bug694754.xhtml]
+[test_bug696301-1.html]
+[test_bug696301-2.html]
+[test_bug698381.html]
+[test_bug698384.html]
+[test_bug702439.html]
+[test_bug702439.html^headers^]
+[test_bug704063.html]
+[test_bug707142.html]
+[test_bug708620.html]
+[test_bug711047.html]
+[test_bug717511.html]
+[test_bug719533.html]
+[test_bug726364.html]
+[test_bug737087.html]
+[test_bug737565.html]
+[test_bug737612.html]
+[test_bug738108.html]
+[test_bug744830.html]
+[test_bug749367.html]
+[test_bug753278.html]
+[test_bug761120.html]
+[test_bug782342.html]
+[test_bug787778.html]
+[test_bug789856.html]
+[test_bug804395.html]
+[test_bug809003.html]
+[test_bug810494.html]
+[test_bug811701.html]
+[test_bug811701.xhtml]
+[test_bug813919.html]
+[test_bug814576.html]
+[test_bug819051.html]
+[test_bug820909.html]
+[test_bug868999.html]
+[test_bug869000.html]
+[test_bug869002.html]
+[test_bug869006.html]
+[test_bug876282.html]
+[test_bug890580.html]
+[test_bug894874.html]
+[test_bug895239.html]
+[test_bug895974.html]
+[test_bug902847.html]
+[test_bug907892.html]
+[test_caretPositionFromPoint.html]
+[test_classList.html]
+[test_copypaste.html]
+[test_copypaste.xhtml]
+[test_createHTMLDocument.html]
+[test_declare_stylesheet_obsolete.html]
+[test_domparser_null_char.html]
+[test_domparsing.html]
+[test_elementTraversal.html]
+[test_fileapi.html]
+[test_fileapi_slice.html]
+[test_html_colors_quirks.html]
+[test_html_colors_standards.html]
+[test_html_in_xhr.html]
+[test_htmlcopyencoder.html]
+[test_htmlcopyencoder.xhtml]
+[test_ipc_messagemanager_blob.html]
+[test_meta_viewport0.html]
+[test_meta_viewport1.html]
+[test_meta_viewport2.html]
+[test_meta_viewport3.html]
+[test_meta_viewport4.html]
+[test_meta_viewport5.html]
+[test_meta_viewport6.html]
+[test_mixed_content_blocker.html]
+[test_mixed_content_blocker_bug803225.html]
+[test_mixed_content_blocker_frameNavigation.html]
+[test_mozfiledataurl.html]
+[test_mutationobservers.html]
+[test_nodelist_holes.html]
+[test_object.html]
+[test_plugin_freezing.html]
+[test_processing_instruction_update_stylesheet.xhtml]
+[test_range_bounds.html]
+[test_reentrant_flush.html]
+[test_sync_xhr_timer.xhtml]
+[test_text_wholeText.html]
+[test_textnode_normalize_in_selection.html]
+[test_textnode_split_in_selection.html]
+[test_title.html]
+[test_treewalker_nextsibling.xml]
+[test_viewport_scroll.html]
+[test_w3element_traversal.html]
+[test_w3element_traversal.xhtml]
+[test_w3element_traversal_svg.html]
+[test_websocket.html]
+[test_websocket_basic.html]
+[test_websocket_hello.html]
+[test_x-frame-options.html]
+[test_xbl_userdata.xhtml]
+[test_xhr_abort_after_load.html]
+[test_xhr_forbidden_headers.html]
+[test_xhr_progressevents.html]
+[test_xhr_send_readystate.html]
+[test_xhr_withCredentials.html]
--- a/content/base/test/moz.build
+++ b/content/base/test/moz.build
@@ -19,8 +19,10 @@ if CONFIG['OS_ARCH'] != 'Darwin':
     XPCSHELL_TESTS_MANIFESTS += ['unit_ipc/xpcshell.ini']
 
 CPP_UNIT_TESTS += [
     'TestGetURL.cpp',
     'TestNativeXMLHttpRequest.cpp',
     'TestPlainTextSerializer.cpp',
 ]
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/base/test/websocket_hybi/Makefile.in
+++ b/content/base/test/websocket_hybi/Makefile.in
@@ -1,15 +1,7 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 #### MODULE = content
 
-MOCHITEST_FILES = \
-    test_send-arraybuffer.html \
-    test_send-blob.html \
-    file_check-binary-messages_wsh.py \
-    test_receive-arraybuffer.html \
-    test_receive-blob.html \
-    file_binary-frames_wsh.py \
-    $(NULL)
new file mode 100644
--- /dev/null
+++ b/content/base/test/websocket_hybi/mochitest.ini
@@ -0,0 +1,9 @@
+[DEFAULT]
+support-files =
+  file_binary-frames_wsh.py
+  file_check-binary-messages_wsh.py
+
+[test_receive-arraybuffer.html]
+[test_receive-blob.html]
+[test_send-arraybuffer.html]
+[test_send-blob.html]
--- a/content/base/test/websocket_hybi/moz.build
+++ b/content/base/test/websocket_hybi/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/canvas/test/Makefile.in
+++ b/content/canvas/test/Makefile.in
@@ -1,125 +1,14 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-	android.json \
-	test_canvas.html \
-	test_isPointInStroke.html \
-	image_transparent50.png \
-	image_redtransparent.png \
-	image_yellow.png \
-	image_anim-poster-gr.png \
-	image_green-16x16.png \
-	image_red-16x16.png \
-	image_green-1x1.png \
-	image_ggrr-256x256.png \
-	image_yellow75.png \
-	image_anim-gr.gif \
-	image_rrgg-256x256.png \
-	image_broken.png \
-	image_anim-gr.png \
-	image_rgrg-256x256.png \
-	image_red.png \
-	image_transparent.png \
-	image_green.png \
-	image_green-redirect \
-	image_green-redirect^headers^ \
-	test_drawImageIncomplete.html \
-	test_canvas_font_setter.html \
-	test_2d.clearRect.image.offscreen.html \
-	test_2d.clip.winding.html \
-	test_2d.composite.canvas.destination-atop.html \
-	test_2d.composite.canvas.destination-in.html \
-	test_2d.composite.canvas.source-in.html \
-	test_2d.composite.canvas.source-out.html \
-	test_2d.composite.canvas.hard-light.html \
-	test_2d.composite.canvas.soft-light.html \
-	test_2d.composite.canvas.color.html \
-	test_2d.composite.image.destination-atop.html \
-	test_2d.composite.image.destination-in.html \
-	test_2d.composite.image.source-in.html \
-	test_2d.composite.image.source-out.html \
-	test_2d.composite.solid.hard-light.html \
-	test_2d.composite.uncovered.image.destination-in.html \
-	test_2d.composite.uncovered.image.source-in.html \
-	test_2d.composite.uncovered.image.source-out.html \
-	test_2d.composite.uncovered.fill.multiply.html \
-	test_2d.composite.uncovered.fill.screen.html \
-	test_2d.composite.uncovered.fill.overlay.html \
-	test_2d.composite.uncovered.fill.darken.html \
-	test_2d.composite.uncovered.fill.lighten.html \
-	test_2d.composite.uncovered.fill.color-dodge.html \
-	test_2d.composite.uncovered.fill.color-burn.html \
-	test_2d.composite.uncovered.fill.hard-light.html \
-	test_2d.composite.uncovered.fill.soft-light.html \
-	test_2d.composite.uncovered.fill.difference.html \
-	test_2d.composite.uncovered.fill.exclusion.html \
-	test_2d.composite.uncovered.fill.hue.html \
-	test_2d.composite.uncovered.fill.saturation.html \
-	test_2d.composite.uncovered.fill.color.html \
-	test_2d.composite.uncovered.fill.luminosity.html \
-	test_2d.drawImage.zerocanvas.html \
-	test_2d.fill.winding.html \
-	test_2d.isPointInPath.winding.html \
-	test_2d.strokeRect.zero.5.html \
-	test_toBlob.html \
-	test_toDataURL_alpha.html \
-	test_toDataURL_lowercase_ascii.html \
-	test_toDataURL_parameters.html \
-	test_mozGetAsFile.html \
-	test_canvas_strokeStyle_getter.html \
-	test_bug613794.html \
-	test_bug753758.html \
-	test_bug764125.html \
-	test_bug856472.html \
-	test_bug866575.html \
-	test_drawImage_edge_cases.html \
-	test_drawImage_document_domain.html \
-	test_mozDashOffset.html \
-	file_drawImage_document_domain.html \
-	test_windingRuleUndefined.html \
-	test_strokeText_throw.html \
-	test_bug902651.html \
-	$(NULL)
-
 # SkiaGL on Android/Gonk does not implement these composite ops yet
-
-MOCHITEST_FILES += \
-	test_2d.composite.canvas.color-burn.html \
-	test_2d.composite.canvas.color-dodge.html \
-	test_2d.composite.canvas.darken.html \
-	test_2d.composite.canvas.difference.html \
-	test_2d.composite.canvas.exclusion.html \
-	test_2d.composite.canvas.hue.html \
-	test_2d.composite.canvas.lighten.html \
-	test_2d.composite.canvas.luminosity.html \
-	test_2d.composite.canvas.multiply.html \
-	test_2d.composite.canvas.overlay.html \
-	test_2d.composite.canvas.saturation.html \
-	test_2d.composite.canvas.screen.html \
-	test_2d.composite.solid.color-burn.html \
-	test_2d.composite.solid.color-dodge.html \
-	test_2d.composite.solid.color.html \
-	test_2d.composite.solid.darken.html \
-	test_2d.composite.solid.difference.html \
-	test_2d.composite.solid.exclusion.html \
-	test_2d.composite.solid.hue.html \
-	test_2d.composite.solid.lighten.html \
-	test_2d.composite.solid.luminosity.html \
-	test_2d.composite.solid.multiply.html \
-	test_2d.composite.solid.overlay.html \
-	test_2d.composite.solid.saturation.html \
-	test_2d.composite.solid.screen.html \
-	test_2d.composite.solid.soft-light.html \
-	$(NULL)
-
 ifneq (1_Linux,$(MOZ_SUITE)_$(OS_ARCH))
 # This test fails in Suite on Linux for some reason, disable it there
 MOCHITEST_FILES += test_2d.composite.uncovered.image.destination-atop.html
 endif
 
 # xor and lighter aren't well handled by cairo; they mostly work, but we don't want
 # to test that
 #	test_2d.composite.solid.xor.html \
--- a/content/canvas/test/crossorigin/Makefile.in
+++ b/content/canvas/test/crossorigin/Makefile.in
@@ -1,16 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-	image-allow-credentials.png \
-	image-allow-credentials.png^headers^ \
-	image-allow-star.png \
-	image-allow-star.png^headers^ \
-	image.png \
-	test_canvas2d_crossorigin.html \
-	test_webgl_crossorigin_textures.html \
-	video.sjs \
-	test_video_crossorigin.html \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/content/canvas/test/crossorigin/mochitest.ini
@@ -0,0 +1,12 @@
+[DEFAULT]
+support-files =
+  image-allow-credentials.png
+  image-allow-credentials.png^headers^
+  image-allow-star.png
+  image-allow-star.png^headers^
+  image.png
+  video.sjs
+
+[test_canvas2d_crossorigin.html]
+[test_video_crossorigin.html]
+[test_webgl_crossorigin_textures.html]
--- a/content/canvas/test/crossorigin/moz.build
+++ b/content/canvas/test/crossorigin/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
new file mode 100644
--- /dev/null
+++ b/content/canvas/test/mochitest.ini
@@ -0,0 +1,107 @@
+[DEFAULT]
+support-files =
+  android.json
+  file_drawImage_document_domain.html
+  image_anim-gr.gif
+  image_anim-gr.png
+  image_anim-poster-gr.png
+  image_broken.png
+  image_ggrr-256x256.png
+  image_green-16x16.png
+  image_green-1x1.png
+  image_green-redirect
+  image_green-redirect^headers^
+  image_green.png
+  image_red-16x16.png
+  image_red.png
+  image_redtransparent.png
+  image_rgrg-256x256.png
+  image_rrgg-256x256.png
+  image_transparent.png
+  image_transparent50.png
+  image_yellow.png
+  image_yellow75.png
+
+[test_2d.clearRect.image.offscreen.html]
+[test_2d.clip.winding.html]
+[test_2d.composite.canvas.color-burn.html]
+[test_2d.composite.canvas.color-dodge.html]
+[test_2d.composite.canvas.color.html]
+[test_2d.composite.canvas.darken.html]
+[test_2d.composite.canvas.destination-atop.html]
+[test_2d.composite.canvas.destination-in.html]
+[test_2d.composite.canvas.difference.html]
+[test_2d.composite.canvas.exclusion.html]
+[test_2d.composite.canvas.hard-light.html]
+[test_2d.composite.canvas.hue.html]
+[test_2d.composite.canvas.lighten.html]
+[test_2d.composite.canvas.luminosity.html]
+[test_2d.composite.canvas.multiply.html]
+[test_2d.composite.canvas.overlay.html]
+[test_2d.composite.canvas.saturation.html]
+[test_2d.composite.canvas.screen.html]
+[test_2d.composite.canvas.soft-light.html]
+[test_2d.composite.canvas.source-in.html]
+[test_2d.composite.canvas.source-out.html]
+[test_2d.composite.image.destination-atop.html]
+[test_2d.composite.image.destination-in.html]
+[test_2d.composite.image.source-in.html]
+[test_2d.composite.image.source-out.html]
+[test_2d.composite.solid.color-burn.html]
+[test_2d.composite.solid.color-dodge.html]
+[test_2d.composite.solid.color.html]
+[test_2d.composite.solid.darken.html]
+[test_2d.composite.solid.difference.html]
+[test_2d.composite.solid.exclusion.html]
+[test_2d.composite.solid.hard-light.html]
+[test_2d.composite.solid.hue.html]
+[test_2d.composite.solid.lighten.html]
+[test_2d.composite.solid.luminosity.html]
+[test_2d.composite.solid.multiply.html]
+[test_2d.composite.solid.overlay.html]
+[test_2d.composite.solid.saturation.html]
+[test_2d.composite.solid.screen.html]
+[test_2d.composite.solid.soft-light.html]
+[test_2d.composite.uncovered.fill.color-burn.html]
+[test_2d.composite.uncovered.fill.color-dodge.html]
+[test_2d.composite.uncovered.fill.color.html]
+[test_2d.composite.uncovered.fill.darken.html]
+[test_2d.composite.uncovered.fill.difference.html]
+[test_2d.composite.uncovered.fill.exclusion.html]
+[test_2d.composite.uncovered.fill.hard-light.html]
+[test_2d.composite.uncovered.fill.hue.html]
+[test_2d.composite.uncovered.fill.lighten.html]
+[test_2d.composite.uncovered.fill.luminosity.html]
+[test_2d.composite.uncovered.fill.multiply.html]
+[test_2d.composite.uncovered.fill.overlay.html]
+[test_2d.composite.uncovered.fill.saturation.html]
+[test_2d.composite.uncovered.fill.screen.html]
+[test_2d.composite.uncovered.fill.soft-light.html]
+[test_2d.composite.uncovered.image.destination-in.html]
+[test_2d.composite.uncovered.image.source-in.html]
+[test_2d.composite.uncovered.image.source-out.html]
+[test_2d.drawImage.zerocanvas.html]
+[test_2d.fill.winding.html]
+[test_2d.isPointInPath.winding.html]
+[test_2d.strokeRect.zero.5.html]
+[test_bug613794.html]
+[test_bug753758.html]
+[test_bug764125.html]
+[test_bug856472.html]
+[test_bug866575.html]
+[test_bug902651.html]
+[test_canvas.html]
+[test_canvas_font_setter.html]
+[test_canvas_strokeStyle_getter.html]
+[test_drawImageIncomplete.html]
+[test_drawImage_document_domain.html]
+[test_drawImage_edge_cases.html]
+[test_isPointInStroke.html]
+[test_mozDashOffset.html]
+[test_mozGetAsFile.html]
+[test_strokeText_throw.html]
+[test_toBlob.html]
+[test_toDataURL_alpha.html]
+[test_toDataURL_lowercase_ascii.html]
+[test_toDataURL_parameters.html]
+[test_windingRuleUndefined.html]
--- a/content/canvas/test/moz.build
+++ b/content/canvas/test/moz.build
@@ -1,8 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += ['webgl', 'crossorigin', 'chrome']
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/canvas/test/webgl/Makefile.in
+++ b/content/canvas/test/webgl/Makefile.in
@@ -1,31 +1,12 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_webgl_conformance_test_suite.html \
-  00_test_list.txt \
-  failing_tests_linux.txt \
-  failing_tests_linux_mesa.txt \
-  skipped_tests_linux_mesa.txt \
-  failing_tests_linux_nvidia.txt \
-  failing_tests_windows.txt \
-  skipped_tests_winxp.txt \
-  skipped_tests_win_vista.txt \
-  failing_tests_mac.txt \
-  failing_tests_mac_mtnlion.txt \
-  failing_tests_android.txt \
-  failing_tests_android_nvidia.txt \
-  failing_tests_android_x86.txt \
-  skipped_tests_android.txt \
-  skipped_tests_android_x86.txt \
-  $(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
 libs::
 	$(TAR) -cf - -C $(srcdir) \
 	  resources \
 	  conformance \
 	  | $(TAR) -xf - -C $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir)
new file mode 100644
--- /dev/null
+++ b/content/canvas/test/webgl/mochitest.ini
@@ -0,0 +1,19 @@
+[DEFAULT]
+support-files =
+  00_test_list.txt
+  failing_tests_android.txt
+  failing_tests_android_nvidia.txt
+  failing_tests_android_x86.txt
+  failing_tests_linux.txt
+  failing_tests_linux_mesa.txt
+  failing_tests_linux_nvidia.txt
+  failing_tests_mac.txt
+  failing_tests_mac_mtnlion.txt
+  failing_tests_windows.txt
+  skipped_tests_android.txt
+  skipped_tests_android_x86.txt
+  skipped_tests_linux_mesa.txt
+  skipped_tests_win_vista.txt
+  skipped_tests_winxp.txt
+
+[test_webgl_conformance_test_suite.html]
--- a/content/canvas/test/webgl/moz.build
+++ b/content/canvas/test/webgl/moz.build
@@ -1,7 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += ['non-conf-tests']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/canvas/test/webgl/non-conf-tests/Makefile.in
+++ b/content/canvas/test/webgl/non-conf-tests/Makefile.in
@@ -1,13 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  driver-info.js \
-  webgl-util.js \
-  \
-  test_webgl_available.html \
-  test_webgl_conformance.html \
-  test_webgl_request_mismatch.html \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/content/canvas/test/webgl/non-conf-tests/mochitest.ini
@@ -0,0 +1,8 @@
+[DEFAULT]
+support-files =
+  driver-info.js
+  webgl-util.js
+
+[test_webgl_available.html]
+[test_webgl_conformance.html]
+[test_webgl_request_mismatch.html]
--- a/content/canvas/test/webgl/non-conf-tests/moz.build
+++ b/content/canvas/test/webgl/non-conf-tests/moz.build
@@ -1,5 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/events/test/Makefile.in
+++ b/content/events/test/Makefile.in
@@ -1,109 +1,15 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 # Disabled due to timeouts.
 # 		test_bug563329.html
-MOCHITEST_FILES = \
-		test_bug226361.xhtml \
-		     bug226361_iframe.xhtml \
-		test_bug238987.html \
-		test_bug288392.html \
-		test_bug299673-1.html \
-		test_bug299673-2.html \
-		     bug299673.js \
-		test_bug322588.html \
-		     bug322588-popup.html \
-		test_bug328885.html \
-		test_bug336682_1.html \
-		test_bug336682.js \
-		test_bug367781.html \
-		test_bug368835.html \
-		test_bug379120.html \
-		test_bug391568.xhtml \
-		test_bug402089.html \
-		test_bug405632.html \
-		test_bug409604.html \
-		test_bug412567.html \
-		test_bug422132.html \
-		test_bug426082.html \
-		bug426082.html \
-		test_bug427537.html \
-		test_bug432698.html \
-		test_bug443985.html \
-		test_bug447736.html \
-		test_bug448602.html \
-		test_bug450876.html \
-		test_bug456273.html \
-		test_bug457672.html \
-		test_bug428988.html \
-		bug457672.html \
-		test_draggableprop.html \
-		test_bug489671.html \
-		test_bug493251.html \
-		window_bug493251.html \
-		test_bug502818.html \
-		test_bug508479.html \
-		test_bug517851.html \
-		test_bug534833.html \
-		test_bug545268.html \
-		test_bug547996-1.html \
-		test_bug547996-2.xhtml \
-		test_bug556493.html \
-		test_bug574663.html \
-		test_clickevent_on_input.html \
-		test_bug593959.html \
-		test_bug591815.html \
-		test_bug605242.html \
-		test_bug613634.html \
-		test_bug607464.html \
-		test_bug624127.html \
-		test_bug650493.html \
-		test_bug641477.html \
-		test_bug648573.html \
-		test_bug615597.html \
-		test_bug656379-1.html \
-		bug656379-1.html \
-		test_bug656379-2.html \
-		test_bug656954.html \
-		test_bug659071.html \
-		window_bug659071.html \
-		test_bug659350.html \
-		test_bug662678.html \
-		test_bug667919-1.html \
-		test_bug667612.html \
-		empty.js \
-		test_bug689564.html \
-		test_bug698929.html \
-		test_eventctors.html \
-		test_bug635465.html \
-		test_bug741666.html \
-		test_dom_keyboard_event.html \
-		test_dom_mouse_event.html \
-		test_dom_wheel_event.html \
-		test_continuous_wheel_events.html \
-		test_moz_mouse_pixel_scroll_event.html \
-		test_wheel_default_action.html \
-		window_wheel_default_action.html \
-		test_bug603008.html \
-		test_bug742376.html \
-		test_dragstart.html \
-		test_bug812744.html \
-		test_addEventListenerExtraArg.html \
-		test_focus_disabled.html \
-		test_bug847597.html \
-		test_bug855741.html \
-		test_dblclick_explicit_original_target.html \
-		test_all_synthetic_events.html \
-		test_messageEvent.html \
-		$(NULL)
-
 ifeq (,$(filter gonk,$(MOZ_WIDGET_TOOLKIT)))
 # THESE TESTS (BELOW) DO NOT RUN ON B2G
 MOCHITEST_FILES += \
 		test_bug864040.html \
 		$(NULL)
 # THESE TESTS (ABOVE) DO NOT RUN ON B2G
 endif
 
new file mode 100644
--- /dev/null
+++ b/content/events/test/mochitest.ini
@@ -0,0 +1,94 @@
+[DEFAULT]
+support-files =
+  bug226361_iframe.xhtml
+  bug299673.js
+  bug322588-popup.html
+  bug426082.html
+  bug457672.html
+  bug656379-1.html
+  empty.js
+  window_bug493251.html
+  window_bug659071.html
+  window_wheel_default_action.html
+
+[test_addEventListenerExtraArg.html]
+[test_all_synthetic_events.html]
+[test_bug226361.xhtml]
+[test_bug238987.html]
+[test_bug288392.html]
+[test_bug299673-1.html]
+[test_bug299673-2.html]
+[test_bug322588.html]
+[test_bug328885.html]
+[test_bug336682.js]
+[test_bug336682_1.html]
+[test_bug367781.html]
+[test_bug368835.html]
+[test_bug379120.html]
+[test_bug391568.xhtml]
+[test_bug402089.html]
+[test_bug405632.html]
+[test_bug409604.html]
+[test_bug412567.html]
+[test_bug422132.html]
+[test_bug426082.html]
+[test_bug427537.html]
+[test_bug428988.html]
+[test_bug432698.html]
+[test_bug443985.html]
+[test_bug447736.html]
+[test_bug448602.html]
+[test_bug450876.html]
+[test_bug456273.html]
+[test_bug457672.html]
+[test_bug489671.html]
+[test_bug493251.html]
+[test_bug502818.html]
+[test_bug508479.html]
+[test_bug517851.html]
+[test_bug534833.html]
+[test_bug545268.html]
+[test_bug547996-1.html]
+[test_bug547996-2.xhtml]
+[test_bug556493.html]
+[test_bug574663.html]
+[test_bug591815.html]
+[test_bug593959.html]
+[test_bug603008.html]
+[test_bug605242.html]
+[test_bug607464.html]
+[test_bug613634.html]
+[test_bug615597.html]
+[test_bug624127.html]
+[test_bug635465.html]
+[test_bug641477.html]
+[test_bug648573.html]
+[test_bug650493.html]
+[test_bug656379-1.html]
+[test_bug656379-2.html]
+[test_bug656954.html]
+[test_bug659071.html]
+[test_bug659350.html]
+[test_bug662678.html]
+[test_bug667612.html]
+[test_bug667919-1.html]
+[test_bug689564.html]
+[test_bug698929.html]
+[test_bug741666.html]
+[test_bug742376.html]
+[test_bug812744.html]
+[test_bug847597.html]
+[test_bug855741.html]
+[test_clickevent_on_input.html]
+[test_continuous_wheel_events.html]
+[test_dblclick_explicit_original_target.html]
+[test_dom_keyboard_event.html]
+[test_dom_mouse_event.html]
+[test_dom_wheel_event.html]
+[test_draggableprop.html]
+[test_dragstart.html]
+[test_eventctors.html]
+[test_focus_disabled.html]
+[test_messageEvent.html]
+[test_moz_mouse_pixel_scroll_event.html]
+[test_wheel_default_action.html]
--- a/content/events/test/moz.build
+++ b/content/events/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/html/content/test/Makefile.in
+++ b/content/html/content/test/Makefile.in
@@ -1,401 +1,13 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-		test_hidden.html \
-		test_bug589.html \
-		test_bug691.html \
-		nnc_lockup.gif \
-		test_bug694.html \
-		test_bug696.html \
-		test_bug1297.html \
-		test_bug1366.html \
-		test_bug1400.html \
-		test_bug2082.html \
-		test_bug3348.html \
-		test_bug6296.html \
-		test_bug24958.html \
-		bug100533_load.html \
-		bug100533_iframe.html \
-		test_bug100533.html \
-		image.png \
-		test_bug109445.html \
-		test_bug109445.xhtml \
-		test_bug143220.html \
-		test_bug182279.html \
-		test_bug237071.html \
-		bug242709_iframe.html \
-		bug242709_load.html \
-		test_bug242709.html \
-		bug277724_iframe1.html \
-		bug277724_iframe2.xhtml \
-		test_bug277724.html \
-		bug277890_iframe.html \
-		bug277890_load.html \
-		test_bug277890.html \
-		test_bug274626.html \
-		test_bug287465.html \
-		test_bug209275.xhtml \
-		file_bug209275_1.html \
-		file_bug209275_2.html \
-		file_bug209275_3.html \
-		test_bug295561.html \
-		test_bug300691-1.html \
-		test_bug300691-2.html \
-		test_bug300691-3.xhtml \
-		test_bug330705-1.html \
-		test_bug332246.html \
-		test_bug332893-1.html \
-		test_bug332893-2.html \
-		test_bug332893-3.html \
-		test_bug332893-4.html \
-		test_bug332893-5.html \
-		test_bug332893-6.html \
-		test_bug332893-7.html \
-		bug340800_iframe.txt \
-		test_bug340800.html \
-		test_bug353415-1.html \
-		test_bug353415-2.html \
-		test_bug371375.html \
-		test_bug373589.html \
-		bug372098-link-target.html \
-		test_bug372098.html \
-		test_bug375003-1.html \
-		test_bug375003-2.html \
-		test_bug383383.html \
-		test_bug383383_2.xhtml \
-		test_bug384419.html \
-		test_bug386496.html \
-		test_bug386728.html \
-		test_bug386996.html \
-		test_bug388558.html \
-		test_bug388746.html \
-		test_bug388794.html \
-		test_bug389797.html \
-		test_bug390975.html \
-		test_bug391994.html \
-		test_bug392567.html \
-		bug392567.jar       \
-		bug392567.jar^headers^ \
-		test_bug394700.html \
-		test_bug395107.html \
-		test_bug401160.xhtml \
-		test_bug405242.html \
-		test_bug406596.html \
-		test_bug417760.html \
-		file_bug417760.png \
-		test_formSubmission.html \
-		test_formSubmission2.html \
-		file_formSubmission_text.txt \
-		file_formSubmission_img.jpg \
-		test_bug421640.html \
-		test_bug424698.html \
-		test_bug428135.xhtml \
-		test_bug430351.html \
-		test_bug430392.html \
-		bug441930_iframe.html \
-		test_bug441930.html \
-		test_bug442801.html \
-		test_bug448166.html \
-		test_bug460568.html \
-		test_bug347174.html \
-		test_bug347174_write.html \
-		test_bug347174_xsl.html \
-		test_bug347174_xslp.html \
-		347174transformable.xml \
-		347174transform.xsl \
-		test_a_text.html \
-		test_anchor_href_cache_invalidation.html \
-		test_bug481335.xhtml \
-		test_bug500885.html \
-		test_bug514856.html \
-		bug514856_iframe.html \
-		test_bug518122.html \
-		test_bug519987.html \
-		test_bug579079.html \
-		test_bug523771.html \
-		form_submit_server.sjs \
-		test_bug529819.html \
-		test_bug529859.html \
-		test_bug535043.html \
-		test_bug547850.html \
-		test_bug536891.html \
-		test_bug536895.html \
-		test_bug458037.xhtml \
-		test_bug556645.html \
-		test_bug555567.html \
-		test_bug557620.html \
-		test_bug456229.html \
-		test_bug546995.html \
-		test_bug377624.html \
-		test_bug551846.html \
-		test_bug564001.html \
-		test_bug566046.html \
-		test_bug567938-1.html \
-		test_bug567938-2.html \
-		test_bug567938-3.html \
-		test_bug567938-4.html \
-		test_bug569955.html \
-		test_bug573969.html \
-		test_bug561640.html \
-		test_bug582412-1.html \
-		test_bug582412-2.html \
-		test_bug558788-1.html \
-		test_bug558788-2.html \
-		test_bug561634.html \
-		test_bug590353-1.html \
-		test_bug590353-2.html \
-		test_bug593689.html \
-		test_bug561636.html \
-		test_bug590363.html \
-		test_bug592802.html \
-		test_bug595429.html \
-		test_bug595447.html \
-		test_bug595449.html \
-		test_bug557087-1.html \
-		test_bug557087-2.html \
-		test_bug557087-3.html \
-		test_bug557087-4.html \
-		test_bug557087-5.html \
-		test_bug557087-6.html \
-		test_bug586763.html \
-		test_bug587469.html \
-		test_bug598643.html \
-		test_bug596350.html \
-		test_bug598833-1.html \
-		test_bug600155.html \
-		test_bug606817.html \
-		test_bug297761.html \
-		file_bug297761.html \
-		test_bug607145.html \
-		test_bug596511.html \
-		reflect.js \
-		test_bug611189.html \
-		test_bug613113.html \
-		test_bug605124-1.html \
-		test_bug605124-2.html \
-		test_bug605125-1.html \
-		test_bug605125-2.html \
-		test_bug612730.html \
-		test_bug613722.html \
-		test_bug613979.html \
-		test_bug615833.html \
-		test_bug601030.html \
-		test_bug610687.html \
-		test_bug618948.html \
-		test_bug623291.html \
-		test_bug619278.html \
-		test_bug622558.html \
-		test_bug622597.html \
-		test_bug636336.html \
-		test_bug610212.html \
-		test_bug633058.html \
-		test_bug641219.html \
-		test_bug643051.html \
-		test_bug583514.html \
-		test_bug560112.html \
-		test_bug586786.html \
-		test_bug646157.html \
-		test_bug649134.html \
-		test_bug658746.html \
-		test_bug659596.html \
-		test_bug659743.xml \
-		test_bug660663.html \
-		test_bug666200.html \
-		test_bug666666.html \
-		test_bug669012.html \
-		test_bug674558.html \
-		test_bug583533.html \
-		test_restore_from_parser_fragment.html \
-		test_bug615595.html \
-		test_bug617528.html \
-		test_bug660959-1.html \
-		test_bug660959-2.html \
-		test_bug660959-3.html \
-		test_checked.html \
-		test_bug677658.html \
-		test_bug677463.html \
-		test_bug682886.html \
-		test_bug717819.html \
-		test_undoManager.html \
-		file_fullscreen-utils.js \
-		file_fullscreen-api.html \
-		file_fullscreen-api-keys.html \
-		test_fullscreen-api.html \
-		file_fullscreen-plugins.html \
-		file_fullscreen-denied.html \
-		file_fullscreen-denied-inner.html \
-		file_fullscreen-hidden.html \
-		file_fullscreen-navigation.html \
-		file_fullscreen-esc-exit.html \
-		file_fullscreen-esc-exit-inner.html \
-		file_fullscreen-rollback.html \
-		file_fullscreen-svg-element.html \
-		file_fullscreen-multiple.html \
-		file_fullscreen-multiple-inner.html \
-		test_li_attributes_reflection.html \
-		test_link_attributes_reflection.html \
-		test_object_attributes_reflection.html \
-		test_embed_attributes_reflection.html \
-		test_applet_attributes_reflection.html \
-		test_ol_attributes_reflection.html \
-		test_dl_attributes_reflection.html \
-		test_ul_attributes_reflection.html \
-		test_param_attributes_reflection.html \
-		test_base_attributes_reflection.html \
-		test_dir_attributes_reflection.html \
-		test_q_attributes_reflection.html \
-		test_html_attributes_reflection.html \
-		test_bug651956.html \
-		test_bug674927.html \
-		test_bug694503.html \
-		test_object_plugin_nav.html \
-		test_bug742030.html \
-		test_bug742549.html \
-		test_bug745685.html \
-		test_bug763626.html \
-		test_bug780993.html \
-		test_bug797113.html \
-		test_bug787134.html \
-		test_bug803677.html \
-		test_bug827126.html \
-		test_bug827426.html \
-		test_bug838582.html \
-		test_bug839913.html \
-		test_bug840877.html \
-		test_bug841466.html \
-		test_iframe_sandbox_inheritance.html \
-		file_iframe_sandbox_a_if1.html \
-		file_iframe_sandbox_a_if2.html \
-		file_iframe_sandbox_a_if3.html \
-		file_iframe_sandbox_a_if4.html \
-		file_iframe_sandbox_a_if5.html \
-		file_iframe_sandbox_a_if6.html \
-		file_iframe_sandbox_a_if7.html \
-		file_iframe_sandbox_a_if8.html \
-		file_iframe_sandbox_a_if9.html \
-		file_iframe_sandbox_a_if10.html \
-		file_iframe_sandbox_a_if11.html \
-		file_iframe_sandbox_a_if12.html \
-		file_iframe_sandbox_a_if13.html \
-		file_iframe_sandbox_a_if14.html \
-		file_iframe_sandbox_a_if15.html \
-		file_iframe_sandbox_a_if16.html \
-		file_iframe_sandbox_a_if17.html \
-		file_iframe_sandbox_a_if18.html \
-		file_iframe_sandbox_a_if19.html \
-		test_iframe_sandbox_same_origin.html \
-		file_iframe_sandbox_b_if1.html \
-		file_iframe_sandbox_b_if2.html \
-		file_iframe_sandbox_b_if3.html \
-		test_iframe_sandbox_general.html \
-		file_iframe_sandbox_c_if1.html \
-		file_iframe_sandbox_c_if2.html \
-		file_iframe_sandbox_c_if3.html \
-		file_iframe_sandbox_c_if4.html \
-		file_iframe_sandbox_c_if5.html \
-		file_iframe_sandbox_c_if6.html \
-		file_iframe_sandbox_c_if7.html \
-		file_iframe_sandbox_c_if8.html \
-		file_iframe_sandbox_form_fail.html \
-		file_iframe_sandbox_form_pass.html \
-		file_iframe_sandbox_open_window_fail.html \
-		file_iframe_sandbox_pass.js \
-		file_iframe_sandbox_fail.js \
-		test_iframe_sandbox_navigation.html \
-		test_iframe_sandbox_navigation2.html \
-		file_iframe_sandbox_d_if1.html \
-		file_iframe_sandbox_d_if2.html \
-		file_iframe_sandbox_d_if3.html \
-		file_iframe_sandbox_d_if4.html \
-		file_iframe_sandbox_d_if5.html \
-		file_iframe_sandbox_d_if6.html \
-		file_iframe_sandbox_d_if7.html \
-		file_iframe_sandbox_d_if8.html \
-		file_iframe_sandbox_d_if9.html \
-		file_iframe_sandbox_d_if10.html \
-		file_iframe_sandbox_d_if11.html \
-		file_iframe_sandbox_d_if12.html \
-		file_iframe_sandbox_d_if13.html \
-		file_iframe_sandbox_d_if14.html \
-		file_iframe_sandbox_d_if15.html \
-		file_iframe_sandbox_d_if16.html \
-		file_iframe_sandbox_d_if17.html \
-		file_iframe_sandbox_d_if18.html \
-		file_iframe_sandbox_d_if19.html \
-		file_iframe_sandbox_d_if20.html \
-		file_iframe_sandbox_d_if21.html \
-		file_iframe_sandbox_d_if22.html \
-		file_iframe_sandbox_navigation_start.html \
-		file_iframe_sandbox_navigation_pass.html \
-		file_iframe_sandbox_navigation_fail.html \
-		file_iframe_sandbox_e_if1.html \
-		file_iframe_sandbox_e_if2.html \
-		file_iframe_sandbox_e_if3.html \
-		file_iframe_sandbox_e_if4.html \
-		file_iframe_sandbox_e_if5.html \
-		file_iframe_sandbox_e_if6.html \
-		file_iframe_sandbox_e_if7.html \
-		file_iframe_sandbox_e_if8.html \
-		file_iframe_sandbox_e_if9.html \
-		file_iframe_sandbox_e_if10.html \
-		file_iframe_sandbox_e_if11.html \
-		file_iframe_sandbox_e_if12.html \
-		file_iframe_sandbox_e_if13.html \
-		file_iframe_sandbox_e_if14.html \
-		file_iframe_sandbox_e_if15.html \
-		file_iframe_sandbox_e_if16.html \
-		file_iframe_sandbox_top_navigation_pass.html \
-		file_iframe_sandbox_top_navigation_fail.html \
-		file_iframe_sandbox_window_navigation_fail.html \
-		test_iframe_sandbox_plugins.html \
-		file_iframe_sandbox_f_if1.html \
-		file_iframe_sandbox_f_if2.html \
-		file_iframe_sandbox_f_if2.html^headers^ \
-		test_iframe_sandbox_workers.html \
-		file_iframe_sandbox_g_if1.html \
-		file_iframe_sandbox_worker.js \
-		test_img_attributes_reflection.html \
-		test_named_options.html \
-		test_htmlcollection.html \
-		test_formelements.html \
-		test_rowscollection.html \
-		test_map_attributes_reflection.html \
-		test_meta_attributes_reflection.html \
-		test_mod_attributes_reflection.html \
-		test_mozaudiochannel.html \
-		test_style_attributes_reflection.html \
-		test_bug629801.html \
-		test_bug839371.html \
-		test_element_prototype.html \
-		test_formData.html \
-		test_audio_wakelock.html \
-		test_video_wakelock.html \
-		wakelock.ogg \
-		wakelock.ogv \
-		test_bug869040.html \
-		test_bug870787.html \
-		test_bug879319.html \
-		allowMedia.sjs \
-		test_bug874758.html \
-		test_bug885024.html \
-		test_track.html \
-		test_track_disabled.html \
-		test_srcdoc.html \
-		file_srcdoc.html \
-		test_srcdoc-2.html \
-		file_srcdoc-2.html \
-		test_bug893537.html \
-		file_bug893537.html \
-		$(NULL)
-
 MOCHITEST_CHROME_FILES = \
 		test_allowMedia.html \
 		$(NULL)
 
 MOCHITEST_BROWSER_FILES = \
 		browser_bug649778.js \
 		file_bug649778.html \
 		file_bug649778.html^headers^ \
--- a/content/html/content/test/forms/Makefile.in
+++ b/content/html/content/test/forms/Makefile.in
@@ -1,64 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-		save_restore_radio_groups.sjs \
-		test_save_restore_radio_groups.html \
-		test_set_range_text.html \
-		test_change_event.html \
-		test_mozistextfield.html \
-		test_input_attributes_reflection.html \
-		test_input_list_attribute.html \
-		test_input_email.html \
-		test_input_range_attr_order.html \
-		test_input_range_key_events.html \
-		test_input_range_mouse_and_touch_events.html \
-		test_input_range_rounding.html \
-		test_input_url.html \
-		test_pattern_attribute.html \
-		test_required_attribute.html \
-		test_novalidate_attribute.html \
-		test_formaction_attribute.html \
-		test_formnovalidate_attribute.html \
-		test_label_control_attribute.html \
-		test_output_element.html \
-		test_button_attributes_reflection.html \
-		test_textarea_attributes_reflection.html \
-		test_validation.html \
-		test_maxlength_attribute.html \
-		test_datalist_element.html \
-		test_form_attributes_reflection.html \
-		test_option_disabled.html \
-		test_option_index_attribute.html \
-		test_option_text.html \
-		test_progress_element.html \
-		test_form_attribute-1.html \
-		test_form_attribute-2.html \
-		test_form_attribute-3.html \
-		test_form_attribute-4.html \
-		test_meter_element.html \
-		test_meter_pseudo-classes.html \
-		test_max_attribute.html \
-		test_min_attribute.html \
-		test_step_attribute.html \
-		test_stepup_stepdown.html \
-		test_valueasnumber_attribute.html \
-		test_experimental_forms_pref.html \
-		test_input_typing_sanitization.html \
-		test_input_sanitization.html \
-		test_valueasdate_attribute.html \
-		test_input_textarea_set_value_no_scroll.html \
-		test_submit_invalid_file.html \
-		submit_invalid_file.sjs \
-		test_input_file_picker.html \
-		test_input_event.html \
-		test_input_number_rounding.html \
-		test_valueAsDate_pref.html \
-		test_input_color_picker_initial.html \
-		test_input_color_picker_update.html \
-		test_input_color_picker_popup.html \
-		test_input_color_input_change_events.html \
-		test_restore_form_elements.html \
-		test_select_selectedOptions.html \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/content/html/content/test/forms/mochitest.ini
@@ -0,0 +1,61 @@
+[DEFAULT]
+support-files =
+  save_restore_radio_groups.sjs
+  submit_invalid_file.sjs
+
+[test_button_attributes_reflection.html]
+[test_change_event.html]
+[test_datalist_element.html]
+[test_experimental_forms_pref.html]
+[test_form_attribute-1.html]
+[test_form_attribute-2.html]
+[test_form_attribute-3.html]
+[test_form_attribute-4.html]
+[test_form_attributes_reflection.html]
+[test_formaction_attribute.html]
+[test_formnovalidate_attribute.html]
+[test_input_attributes_reflection.html]
+[test_input_color_input_change_events.html]
+[test_input_color_picker_initial.html]
+[test_input_color_picker_popup.html]
+[test_input_color_picker_update.html]
+[test_input_email.html]
+[test_input_event.html]
+[test_input_file_picker.html]
+[test_input_list_attribute.html]
+[test_input_number_rounding.html]
+[test_input_range_attr_order.html]
+[test_input_range_key_events.html]
+[test_input_range_mouse_and_touch_events.html]
+[test_input_range_rounding.html]
+[test_input_sanitization.html]
+[test_input_textarea_set_value_no_scroll.html]
+[test_input_typing_sanitization.html]
+[test_input_url.html]
+[test_label_control_attribute.html]
+[test_max_attribute.html]
+[test_maxlength_attribute.html]
+[test_meter_element.html]
+[test_meter_pseudo-classes.html]
+[test_min_attribute.html]
+[test_mozistextfield.html]
+[test_novalidate_attribute.html]
+[test_option_disabled.html]
+[test_option_index_attribute.html]
+[test_option_text.html]
+[test_output_element.html]
+[test_pattern_attribute.html]
+[test_progress_element.html]
+[test_required_attribute.html]
+[test_restore_form_elements.html]
+[test_save_restore_radio_groups.html]
+[test_select_selectedOptions.html]
+[test_set_range_text.html]
+[test_step_attribute.html]
+[test_stepup_stepdown.html]
+[test_submit_invalid_file.html]
+[test_textarea_attributes_reflection.html]
+[test_validation.html]
+[test_valueAsDate_pref.html]
+[test_valueasdate_attribute.html]
+[test_valueasnumber_attribute.html]
--- a/content/html/content/test/forms/moz.build
+++ b/content/html/content/test/forms/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
new file mode 100644
--- /dev/null
+++ b/content/html/content/test/mochitest.ini
@@ -0,0 +1,388 @@
+[DEFAULT]
+support-files =
+  347174transform.xsl
+  347174transformable.xml
+  allowMedia.sjs
+  bug100533_iframe.html
+  bug100533_load.html
+  bug242709_iframe.html
+  bug242709_load.html
+  bug277724_iframe1.html
+  bug277724_iframe2.xhtml
+  bug277890_iframe.html
+  bug277890_load.html
+  bug340800_iframe.txt
+  bug372098-link-target.html
+  bug392567.jar
+  bug392567.jar^headers^
+  bug441930_iframe.html
+  bug514856_iframe.html
+  file_bug209275_1.html
+  file_bug209275_2.html
+  file_bug209275_3.html
+  file_bug297761.html
+  file_bug417760.png
+  file_bug893537.html
+  file_formSubmission_img.jpg
+  file_formSubmission_text.txt
+  file_fullscreen-api-keys.html
+  file_fullscreen-api.html
+  file_fullscreen-denied-inner.html
+  file_fullscreen-denied.html
+  file_fullscreen-esc-exit-inner.html
+  file_fullscreen-esc-exit.html
+  file_fullscreen-hidden.html
+  file_fullscreen-multiple-inner.html
+  file_fullscreen-multiple.html
+  file_fullscreen-navigation.html
+  file_fullscreen-plugins.html
+  file_fullscreen-rollback.html
+  file_fullscreen-svg-element.html
+  file_fullscreen-utils.js
+  file_iframe_sandbox_a_if1.html
+  file_iframe_sandbox_a_if10.html
+  file_iframe_sandbox_a_if11.html
+  file_iframe_sandbox_a_if12.html
+  file_iframe_sandbox_a_if13.html
+  file_iframe_sandbox_a_if14.html
+  file_iframe_sandbox_a_if15.html
+  file_iframe_sandbox_a_if16.html
+  file_iframe_sandbox_a_if17.html
+  file_iframe_sandbox_a_if18.html
+  file_iframe_sandbox_a_if19.html
+  file_iframe_sandbox_a_if2.html
+  file_iframe_sandbox_a_if3.html
+  file_iframe_sandbox_a_if4.html
+  file_iframe_sandbox_a_if5.html
+  file_iframe_sandbox_a_if6.html
+  file_iframe_sandbox_a_if7.html
+  file_iframe_sandbox_a_if8.html
+  file_iframe_sandbox_a_if9.html
+  file_iframe_sandbox_b_if1.html
+  file_iframe_sandbox_b_if2.html
+  file_iframe_sandbox_b_if3.html
+  file_iframe_sandbox_c_if1.html
+  file_iframe_sandbox_c_if2.html
+  file_iframe_sandbox_c_if3.html
+  file_iframe_sandbox_c_if4.html
+  file_iframe_sandbox_c_if5.html
+  file_iframe_sandbox_c_if6.html
+  file_iframe_sandbox_c_if7.html
+  file_iframe_sandbox_c_if8.html
+  file_iframe_sandbox_d_if1.html
+  file_iframe_sandbox_d_if10.html
+  file_iframe_sandbox_d_if11.html
+  file_iframe_sandbox_d_if12.html
+  file_iframe_sandbox_d_if13.html
+  file_iframe_sandbox_d_if14.html
+  file_iframe_sandbox_d_if15.html
+  file_iframe_sandbox_d_if16.html
+  file_iframe_sandbox_d_if17.html
+  file_iframe_sandbox_d_if18.html
+  file_iframe_sandbox_d_if19.html
+  file_iframe_sandbox_d_if2.html
+  file_iframe_sandbox_d_if20.html
+  file_iframe_sandbox_d_if21.html
+  file_iframe_sandbox_d_if22.html
+  file_iframe_sandbox_d_if3.html
+  file_iframe_sandbox_d_if4.html
+  file_iframe_sandbox_d_if5.html
+  file_iframe_sandbox_d_if6.html
+  file_iframe_sandbox_d_if7.html
+  file_iframe_sandbox_d_if8.html
+  file_iframe_sandbox_d_if9.html
+  file_iframe_sandbox_e_if1.html
+  file_iframe_sandbox_e_if10.html
+  file_iframe_sandbox_e_if11.html
+  file_iframe_sandbox_e_if12.html
+  file_iframe_sandbox_e_if13.html
+  file_iframe_sandbox_e_if14.html
+  file_iframe_sandbox_e_if15.html
+  file_iframe_sandbox_e_if16.html
+  file_iframe_sandbox_e_if2.html
+  file_iframe_sandbox_e_if3.html
+  file_iframe_sandbox_e_if4.html
+  file_iframe_sandbox_e_if5.html
+  file_iframe_sandbox_e_if6.html
+  file_iframe_sandbox_e_if7.html
+  file_iframe_sandbox_e_if8.html
+  file_iframe_sandbox_e_if9.html
+  file_iframe_sandbox_f_if1.html
+  file_iframe_sandbox_f_if2.html
+  file_iframe_sandbox_f_if2.html^headers^
+  file_iframe_sandbox_fail.js
+  file_iframe_sandbox_form_fail.html
+  file_iframe_sandbox_form_pass.html
+  file_iframe_sandbox_g_if1.html
+  file_iframe_sandbox_navigation_fail.html
+  file_iframe_sandbox_navigation_pass.html
+  file_iframe_sandbox_navigation_start.html
+  file_iframe_sandbox_open_window_fail.html
+  file_iframe_sandbox_pass.js
+  file_iframe_sandbox_top_navigation_fail.html
+  file_iframe_sandbox_top_navigation_pass.html
+  file_iframe_sandbox_window_navigation_fail.html
+  file_iframe_sandbox_worker.js
+  file_srcdoc-2.html
+  file_srcdoc.html
+  form_submit_server.sjs
+  image.png
+  nnc_lockup.gif
+  reflect.js
+  wakelock.ogg
+  wakelock.ogv
+
+[test_a_text.html]
+[test_anchor_href_cache_invalidation.html]
+[test_applet_attributes_reflection.html]
+[test_audio_wakelock.html]
+[test_base_attributes_reflection.html]
+[test_bug100533.html]
+[test_bug109445.html]
+[test_bug109445.xhtml]
+[test_bug1297.html]
+[test_bug1366.html]
+[test_bug1400.html]
+[test_bug143220.html]
+[test_bug182279.html]
+[test_bug2082.html]
+[test_bug209275.xhtml]
+[test_bug237071.html]
+[test_bug242709.html]
+[test_bug24958.html]
+[test_bug274626.html]
+[test_bug277724.html]
+[test_bug277890.html]
+[test_bug287465.html]
+[test_bug295561.html]
+[test_bug297761.html]
+[test_bug300691-1.html]
+[test_bug300691-2.html]
+[test_bug300691-3.xhtml]
+[test_bug330705-1.html]
+[test_bug332246.html]
+[test_bug332893-1.html]
+[test_bug332893-2.html]
+[test_bug332893-3.html]
+[test_bug332893-4.html]
+[test_bug332893-5.html]
+[test_bug332893-6.html]
+[test_bug332893-7.html]
+[test_bug3348.html]
+[test_bug340800.html]
+[test_bug347174.html]
+[test_bug347174_write.html]
+[test_bug347174_xsl.html]
+[test_bug347174_xslp.html]
+[test_bug353415-1.html]
+[test_bug353415-2.html]
+[test_bug371375.html]
+[test_bug372098.html]
+[test_bug373589.html]
+[test_bug375003-1.html]
+[test_bug375003-2.html]
+[test_bug377624.html]
+[test_bug383383.html]
+[test_bug383383_2.xhtml]
+[test_bug384419.html]
+[test_bug386496.html]
+[test_bug386728.html]
+[test_bug386996.html]
+[test_bug388558.html]
+[test_bug388746.html]
+[test_bug388794.html]
+[test_bug389797.html]
+[test_bug390975.html]
+[test_bug391994.html]
+[test_bug392567.html]
+[test_bug394700.html]
+[test_bug395107.html]
+[test_bug401160.xhtml]
+[test_bug405242.html]
+[test_bug406596.html]
+[test_bug417760.html]
+[test_bug421640.html]
+[test_bug424698.html]
+[test_bug428135.xhtml]
+[test_bug430351.html]
+[test_bug430392.html]
+[test_bug441930.html]
+[test_bug442801.html]
+[test_bug448166.html]
+[test_bug456229.html]
+[test_bug458037.xhtml]
+[test_bug460568.html]
+[test_bug481335.xhtml]
+[test_bug500885.html]
+[test_bug514856.html]
+[test_bug518122.html]
+[test_bug519987.html]
+[test_bug523771.html]
+[test_bug529819.html]
+[test_bug529859.html]
+[test_bug535043.html]
+[test_bug536891.html]
+[test_bug536895.html]
+[test_bug546995.html]
+[test_bug547850.html]
+[test_bug551846.html]
+[test_bug555567.html]
+[test_bug556645.html]
+[test_bug557087-1.html]
+[test_bug557087-2.html]
+[test_bug557087-3.html]
+[test_bug557087-4.html]
+[test_bug557087-5.html]
+[test_bug557087-6.html]
+[test_bug557620.html]
+[test_bug558788-1.html]
+[test_bug558788-2.html]
+[test_bug560112.html]
+[test_bug561634.html]
+[test_bug561636.html]
+[test_bug561640.html]
+[test_bug564001.html]
+[test_bug566046.html]
+[test_bug567938-1.html]
+[test_bug567938-2.html]
+[test_bug567938-3.html]
+[test_bug567938-4.html]
+[test_bug569955.html]
+[test_bug573969.html]
+[test_bug579079.html]
+[test_bug582412-1.html]
+[test_bug582412-2.html]
+[test_bug583514.html]
+[test_bug583533.html]
+[test_bug586763.html]
+[test_bug586786.html]
+[test_bug587469.html]
+[test_bug589.html]
+[test_bug590353-1.html]
+[test_bug590353-2.html]
+[test_bug590363.html]
+[test_bug592802.html]
+[test_bug593689.html]
+[test_bug595429.html]
+[test_bug595447.html]
+[test_bug595449.html]
+[test_bug596350.html]
+[test_bug596511.html]
+[test_bug598643.html]
+[test_bug598833-1.html]
+[test_bug600155.html]
+[test_bug601030.html]
+[test_bug605124-1.html]
+[test_bug605124-2.html]
+[test_bug605125-1.html]
+[test_bug605125-2.html]
+[test_bug606817.html]
+[test_bug607145.html]
+[test_bug610212.html]
+[test_bug610687.html]
+[test_bug611189.html]
+[test_bug612730.html]
+[test_bug613113.html]
+[test_bug613722.html]
+[test_bug613979.html]
+[test_bug615595.html]
+[test_bug615833.html]
+[test_bug617528.html]
+[test_bug618948.html]
+[test_bug619278.html]
+[test_bug622558.html]
+[test_bug622597.html]
+[test_bug623291.html]
+[test_bug6296.html]
+[test_bug629801.html]
+[test_bug633058.html]
+[test_bug636336.html]
+[test_bug641219.html]
+[test_bug643051.html]
+[test_bug646157.html]
+[test_bug649134.html]
+[test_bug651956.html]
+[test_bug658746.html]
+[test_bug659596.html]
+[test_bug659743.xml]
+[test_bug660663.html]
+[test_bug660959-1.html]
+[test_bug660959-2.html]
+[test_bug660959-3.html]
+[test_bug666200.html]
+[test_bug666666.html]
+[test_bug669012.html]
+[test_bug674558.html]
+[test_bug674927.html]
+[test_bug677463.html]
+[test_bug677658.html]
+[test_bug682886.html]
+[test_bug691.html]
+[test_bug694.html]
+[test_bug694503.html]
+[test_bug696.html]
+[test_bug717819.html]
+[test_bug742030.html]
+[test_bug742549.html]
+[test_bug745685.html]
+[test_bug763626.html]
+[test_bug780993.html]
+[test_bug787134.html]
+[test_bug797113.html]
+[test_bug803677.html]
+[test_bug827126.html]
+[test_bug827426.html]
+[test_bug838582.html]
+[test_bug839371.html]
+[test_bug839913.html]
+[test_bug840877.html]
+[test_bug841466.html]
+[test_bug869040.html]
+[test_bug870787.html]
+[test_bug874758.html]
+[test_bug879319.html]
+[test_bug885024.html]
+[test_bug893537.html]
+[test_checked.html]
+[test_dir_attributes_reflection.html]
+[test_dl_attributes_reflection.html]
+[test_element_prototype.html]
+[test_embed_attributes_reflection.html]
+[test_formData.html]
+[test_formSubmission.html]
+[test_formSubmission2.html]
+[test_formelements.html]
+[test_fullscreen-api.html]
+[test_hidden.html]
+[test_html_attributes_reflection.html]
+[test_htmlcollection.html]
+[test_iframe_sandbox_general.html]
+[test_iframe_sandbox_inheritance.html]
+[test_iframe_sandbox_navigation.html]
+[test_iframe_sandbox_navigation2.html]
+[test_iframe_sandbox_plugins.html]
+[test_iframe_sandbox_same_origin.html]
+[test_iframe_sandbox_workers.html]
+[test_img_attributes_reflection.html]
+[test_li_attributes_reflection.html]
+[test_link_attributes_reflection.html]
+[test_map_attributes_reflection.html]
+[test_meta_attributes_reflection.html]
+[test_mod_attributes_reflection.html]
+[test_mozaudiochannel.html]
+[test_named_options.html]
+[test_object_attributes_reflection.html]
+[test_object_plugin_nav.html]
+[test_ol_attributes_reflection.html]
+[test_param_attributes_reflection.html]
+[test_q_attributes_reflection.html]
+[test_restore_from_parser_fragment.html]
+[test_rowscollection.html]
+[test_srcdoc-2.html]
+[test_srcdoc.html]
+[test_style_attributes_reflection.html]
+[test_track.html]
+[test_track_disabled.html]
+[test_ul_attributes_reflection.html]
+[test_undoManager.html]
+[test_video_wakelock.html]
--- a/content/html/content/test/moz.build
+++ b/content/html/content/test/moz.build
@@ -8,8 +8,11 @@
 # With the bug, the test loads the base URL of the bug649134/file_*.sjs
 # files, and the mochitest server responds with the contents of index.html if
 # it exists in that case, which we use to detect failure.
 # We can't have index.html in this directory because it would prevent
 # running the tests here.
 TEST_DIRS += ['bug649134']
 
 TEST_DIRS += ['forms']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/media/mediasource/test/Makefile.in
+++ b/content/media/mediasource/test/Makefile.in
@@ -1,8 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_MediaSource.html \
-  seek.webm \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/content/media/mediasource/test/mochitest.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+support-files = seek.webm
+
+[test_MediaSource.html]
--- a/content/media/mediasource/test/moz.build
+++ b/content/media/mediasource/test/moz.build
@@ -1,4 +1,7 @@
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/media/webaudio/test/Makefile.in
+++ b/content/media/webaudio/test/Makefile.in
@@ -1,111 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES := \
-  audioBufferSourceNodeNeutered_worker.js \
-  webaudio.js \
-  layouttest-glue.js \
-  test_bug808374.html \
-  test_bug827541.html \
-  test_bug839753.html \
-  test_bug845960.html \
-  test_bug856771.html \
-  test_bug866570.html \
-  test_bug866737.html \
-  test_bug867089.html \
-  test_bug867104.html \
-  test_bug867174.html \
-  test_bug867203.html \
-  test_bug875221.html \
-  test_bug875402.html \
-  test_bug894150.html \
-  test_analyserNode.html \
-  test_AudioBuffer.html \
-  test_AudioContext.html \
-  test_AudioListener.html \
-  test_AudioParam.html \
-  test_audioParamExponentialRamp.html \
-  test_audioParamLinearRamp.html \
-  test_audioParamSetCurveAtTime.html \
-  test_audioParamSetCurveAtTimeZeroDuration.html \
-  test_audioParamSetTargetAtTime.html \
-  test_audioParamSetValueAtTime.html \
-  test_audioParamTimelineDestinationOffset.html \
-  test_audioBufferSourceNode.html \
-  test_audioBufferSourceNodeEnded.html \
-  test_audioBufferSourceNodeOffset.html \
-  test_audioBufferSourceNodeLazyLoopParam.html \
-  test_audioBufferSourceNodeLoop.html \
-  test_audioBufferSourceNodeLoopStartEnd.html \
-  test_audioBufferSourceNodeLoopStartEndSame.html \
-  test_audioBufferSourceNodeNeutered.html \
-  test_audioBufferSourceNodeNoStart.html \
-  test_audioBufferSourceNodeNullBuffer.html \
-  test_badConnect.html \
-  test_biquadFilterNode.html \
-  test_channelMergerNode.html \
-  test_channelMergerNodeWithVolume.html \
-  test_channelSplitterNode.html \
-  test_channelSplitterNodeWithVolume.html \
-  test_convolverNode.html \
-  test_convolverNodeChannelCount.html \
-  test_convolverNodeWithGain.html \
-  test_convolverNode_mono_mono.html \
-  test_currentTime.html \
-  test_delayNode.html \
-  test_delayNodeAtMax.html \
-  test_delayNodeSmallMaxDelay.html \
-  test_delayNodeWithGain.html \
-  test_delayNodeCycles.html \
-  test_dynamicsCompressorNode.html \
-  test_gainNode.html \
-  test_gainNodeInLoop.html \
-  test_maxChannelCount.html \
-  test_mediaDecoding.html \
-  test_decodeMultichannel.html \
-  test_mediaElementAudioSourceNode.html \
-  test_mediaStreamAudioDestinationNode.html \
-  test_mediaStreamAudioSourceNode.html \
-  test_mediaStreamAudioSourceNodeCrossOrigin.html \
-  test_mediaStreamAudioSourceNodeResampling.html \
-  test_mixingRules.html \
-  test_nodeToParamConnection.html \
-  test_OfflineAudioContext.html \
-  test_offlineDestinationChannelCountLess.html \
-  test_offlineDestinationChannelCountMore.html \
-  test_oscillatorNode.html \
-  test_oscillatorNode2.html \
-  test_oscillatorNodeStart.html \
-  test_pannerNode.html \
-  test_pannerNodeAbove.html \
-  test_pannerNodeChannelCount.html \
-  test_pannerNode_equalPower.html \
-  test_periodicWave.html \
-  test_scriptProcessorNode.html \
-  test_scriptProcessorNodeChannelCount.html \
-  test_scriptProcessorNodeZeroInputOutput.html \
-  test_singleSourceDest.html \
-  test_waveShaper.html \
-  test_waveShaperNoCurve.html \
-  test_waveShaperZeroLengthCurve.html \
-  ting.ogg \
-  ting-expected.wav \
-  ting-dualchannel44.1.ogg \
-  ting-dualchannel44.1-expected.wav \
-  ting-dualchannel48.ogg \
-  ting-dualchannel48-expected.wav \
-  ting-mono-expected.wav \
-  ting-mono-dualchannel44.1-expected.wav \
-  ting-mono-dualchannel48-expected.wav \
-  small-shot.ogg \
-  small-shot-expected.wav \
-  small-shot-mono-expected.wav \
-  invalid.txt \
-  noaudio.webm \
-  audio.ogv \
-  audio-expected.wav \
-  audio-mono-expected.wav \
-  audio-mono-expected-2.wav \
-  audio-quad.wav \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/content/media/webaudio/test/mochitest.ini
@@ -0,0 +1,108 @@
+[DEFAULT]
+support-files =
+  audio-expected.wav
+  audio-mono-expected-2.wav
+  audio-mono-expected.wav
+  audio-quad.wav
+  audio.ogv
+  audioBufferSourceNodeNeutered_worker.js
+  invalid.txt
+  layouttest-glue.js
+  noaudio.webm
+  small-shot-expected.wav
+  small-shot-mono-expected.wav
+  small-shot.ogg
+  ting-dualchannel44.1-expected.wav
+  ting-dualchannel44.1.ogg
+  ting-dualchannel48-expected.wav
+  ting-dualchannel48.ogg
+  ting-expected.wav
+  ting-mono-dualchannel44.1-expected.wav
+  ting-mono-dualchannel48-expected.wav
+  ting-mono-expected.wav
+  ting.ogg
+  webaudio.js
+
+[test_AudioBuffer.html]
+[test_AudioContext.html]
+[test_AudioListener.html]
+[test_AudioParam.html]
+[test_OfflineAudioContext.html]
+[test_analyserNode.html]
+[test_audioBufferSourceNode.html]
+[test_audioBufferSourceNodeEnded.html]
+[test_audioBufferSourceNodeLazyLoopParam.html]
+[test_audioBufferSourceNodeLoop.html]
+[test_audioBufferSourceNodeLoopStartEnd.html]
+[test_audioBufferSourceNodeLoopStartEndSame.html]
+[test_audioBufferSourceNodeNeutered.html]
+[test_audioBufferSourceNodeNoStart.html]
+[test_audioBufferSourceNodeNullBuffer.html]
+[test_audioBufferSourceNodeOffset.html]
+[test_audioParamExponentialRamp.html]
+[test_audioParamLinearRamp.html]
+[test_audioParamSetCurveAtTime.html]
+[test_audioParamSetCurveAtTimeZeroDuration.html]
+[test_audioParamSetTargetAtTime.html]
+[test_audioParamSetValueAtTime.html]
+[test_audioParamTimelineDestinationOffset.html]
+[test_badConnect.html]
+[test_biquadFilterNode.html]
+[test_bug808374.html]
+[test_bug827541.html]
+[test_bug839753.html]
+[test_bug845960.html]
+[test_bug856771.html]
+[test_bug866570.html]
+[test_bug866737.html]
+[test_bug867089.html]
+[test_bug867104.html]
+[test_bug867174.html]
+[test_bug867203.html]
+[test_bug875221.html]
+[test_bug875402.html]
+[test_bug894150.html]
+[test_channelMergerNode.html]
+[test_channelMergerNodeWithVolume.html]
+[test_channelSplitterNode.html]
+[test_channelSplitterNodeWithVolume.html]
+[test_convolverNode.html]
+[test_convolverNodeChannelCount.html]
+[test_convolverNodeWithGain.html]
+[test_convolverNode_mono_mono.html]
+[test_currentTime.html]
+[test_decodeMultichannel.html]
+[test_delayNode.html]
+[test_delayNodeAtMax.html]
+[test_delayNodeCycles.html]
+[test_delayNodeSmallMaxDelay.html]
+[test_delayNodeWithGain.html]
+[test_dynamicsCompressorNode.html]
+[test_gainNode.html]
+[test_gainNodeInLoop.html]
+[test_maxChannelCount.html]
+[test_mediaDecoding.html]
+[test_mediaElementAudioSourceNode.html]
+[test_mediaStreamAudioDestinationNode.html]
+[test_mediaStreamAudioSourceNode.html]
+[test_mediaStreamAudioSourceNodeCrossOrigin.html]
+[test_mediaStreamAudioSourceNodeResampling.html]
+[test_mixingRules.html]
+[test_nodeToParamConnection.html]
+[test_offlineDestinationChannelCountLess.html]
+[test_offlineDestinationChannelCountMore.html]
+[test_oscillatorNode.html]
+[test_oscillatorNode2.html]
+[test_oscillatorNodeStart.html]
+[test_pannerNode.html]
+[test_pannerNodeAbove.html]
+[test_pannerNodeChannelCount.html]
+[test_pannerNode_equalPower.html]
+[test_periodicWave.html]
+[test_scriptProcessorNode.html]
+[test_scriptProcessorNodeChannelCount.html]
+[test_scriptProcessorNodeZeroInputOutput.html]
+[test_singleSourceDest.html]
+[test_waveShaper.html]
+[test_waveShaperNoCurve.html]
+[test_waveShaperZeroLengthCurve.html]
--- a/content/media/webaudio/test/moz.build
+++ b/content/media/webaudio/test/moz.build
@@ -1,7 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 PARALLEL_DIRS += ['blink']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/media/webspeech/recognition/test/Makefile.in
+++ b/content/media/webspeech/recognition/test/Makefile.in
@@ -1,17 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES := \
-  head.js \
-  test_success_without_recognition_service.html \
-  test_timeout.html \
-  test_recognition_service_error.html \
-  test_audio_capture_error.html \
-  test_abort.html \
-  test_call_start_from_end_handler.html \
-  test_preference_enable.html \
-  test_nested_eventloop.html \
-  hello.ogg \
-  silence.ogg \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/content/media/webspeech/recognition/test/mochitest.ini
@@ -0,0 +1,14 @@
+[DEFAULT]
+support-files =
+  head.js
+  hello.ogg
+  silence.ogg
+
+[test_abort.html]
+[test_audio_capture_error.html]
+[test_call_start_from_end_handler.html]
+[test_nested_eventloop.html]
+[test_preference_enable.html]
+[test_recognition_service_error.html]
+[test_success_without_recognition_service.html]
+[test_timeout.html]
--- a/content/media/webspeech/recognition/test/moz.build
+++ b/content/media/webspeech/recognition/test/moz.build
@@ -1,4 +1,7 @@
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/media/webspeech/synth/ipc/test/Makefile.in
+++ b/content/media/webspeech/synth/ipc/test/Makefile.in
@@ -1,7 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES := \
-  test_ipc.html \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/content/media/webspeech/synth/ipc/test/mochitest.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[test_ipc.html]
--- a/content/media/webspeech/synth/ipc/test/moz.build
+++ b/content/media/webspeech/synth/ipc/test/moz.build
@@ -1,4 +1,7 @@
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/media/webspeech/synth/test/Makefile.in
+++ b/content/media/webspeech/synth/test/Makefile.in
@@ -1,10 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES := \
-  common.js \
-  test_setup.html \
-  test_speech_simple.html \
-  test_speech_queue.html \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/content/media/webspeech/synth/test/mochitest.ini
@@ -0,0 +1,6 @@
+[DEFAULT]
+support-files = common.js
+
+[test_setup.html]
+[test_speech_queue.html]
+[test_speech_simple.html]
--- a/content/media/webspeech/synth/test/moz.build
+++ b/content/media/webspeech/synth/test/moz.build
@@ -1,4 +1,7 @@
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/smil/test/Makefile.in
+++ b/content/smil/test/Makefile.in
@@ -1,57 +1,5 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-MOCHITEST_FILES = \
-	  db_smilAnimateMotion.js \
-	  db_smilCSSFromBy.js \
-	  db_smilCSSFromTo.js \
-	  db_smilCSSPaced.js \
-	  db_smilCSSPropertyList.js \
-	  db_smilMappedAttrList.js \
-	  smilAnimateMotionValueLists.js \
-	  smilTestUtils.js \
-	  smilXHR_helper.svg \
-	  smilExtDoc_helper.svg \
-	  test_smilAccessKey.xhtml \
-	  test_smilAnimateMotion.xhtml \
-	  test_smilAnimateMotionInvalidValues.xhtml \
-	  test_smilAnimateMotionOverrideRules.xhtml \
-	  test_smilBackwardsSeeking.xhtml \
-	  test_smilChangeAfterFrozen.xhtml \
-	  test_smilContainerBinding.xhtml \
-	  test_smilCrossContainer.xhtml \
-	  test_smilCSSFontStretchRelative.xhtml \
-	  test_smilCSSFromBy.xhtml \
-	  test_smilCSSFromTo.xhtml \
-	  test_smilCSSInvalidValues.xhtml \
-	  test_smilCSSPaced.xhtml \
-	  test_smilDynamicDelayedBeginElement.xhtml \
-	  test_smilMappedAttrFromTo.xhtml \
-	  test_smilMappedAttrFromBy.xhtml \
-	  test_smilMappedAttrPaced.xhtml \
-	  test_smilReset.xhtml \
-	  test_smilRestart.xhtml \
-	  test_smilExtDoc.xhtml \
-	  test_smilFillMode.xhtml \
-	  test_smilGetStartTime.xhtml \
-	  test_smilGetSimpleDuration.xhtml \
-	  test_smilHyperlinking.xhtml \
-	  test_smilKeySplines.xhtml \
-	  test_smilKeyTimes.xhtml \
-	  test_smilKeyTimesPacedMode.xhtml \
-	  test_smilRepeatTiming.xhtml \
-	  test_smilSetCurrentTime.xhtml \
-	  test_smilSync.xhtml \
-	  test_smilSyncbaseTarget.xhtml \
-	  test_smilSyncTransform.xhtml \
-	  test_smilTextZoom.xhtml \
-	  test_smilTimeEvents.xhtml \
-	  test_smilTiming.xhtml \
-	  test_smilTimingZeroIntervals.xhtml \
-	  test_smilUpdatedInterval.xhtml \
-	  test_smilValues.xhtml \
-	  test_smilXHR.xhtml \
-	  $(NULL)
-
 # Tests disabled due to intermittent orange
 # test_smilCSSInherit.xhtml disabled until bug 501183 is fixed
new file mode 100644
--- /dev/null
+++ b/content/smil/test/mochitest.ini
@@ -0,0 +1,52 @@
+[DEFAULT]
+support-files =
+  db_smilAnimateMotion.js
+  db_smilCSSFromBy.js
+  db_smilCSSFromTo.js
+  db_smilCSSPaced.js
+  db_smilCSSPropertyList.js
+  db_smilMappedAttrList.js
+  smilAnimateMotionValueLists.js
+  smilExtDoc_helper.svg
+  smilTestUtils.js
+  smilXHR_helper.svg
+
+[test_smilAccessKey.xhtml]
+[test_smilAnimateMotion.xhtml]
+[test_smilAnimateMotionInvalidValues.xhtml]
+[test_smilAnimateMotionOverrideRules.xhtml]
+[test_smilBackwardsSeeking.xhtml]
+[test_smilCSSFontStretchRelative.xhtml]
+[test_smilCSSFromBy.xhtml]
+[test_smilCSSFromTo.xhtml]
+[test_smilCSSInvalidValues.xhtml]
+[test_smilCSSPaced.xhtml]
+[test_smilChangeAfterFrozen.xhtml]
+[test_smilContainerBinding.xhtml]
+[test_smilCrossContainer.xhtml]
+[test_smilDynamicDelayedBeginElement.xhtml]
+[test_smilExtDoc.xhtml]
+[test_smilFillMode.xhtml]
+[test_smilGetSimpleDuration.xhtml]
+[test_smilGetStartTime.xhtml]
+[test_smilHyperlinking.xhtml]
+[test_smilKeySplines.xhtml]
+[test_smilKeyTimes.xhtml]
+[test_smilKeyTimesPacedMode.xhtml]
+[test_smilMappedAttrFromBy.xhtml]
+[test_smilMappedAttrFromTo.xhtml]
+[test_smilMappedAttrPaced.xhtml]
+[test_smilRepeatTiming.xhtml]
+[test_smilReset.xhtml]
+[test_smilRestart.xhtml]
+[test_smilSetCurrentTime.xhtml]
+[test_smilSync.xhtml]
+[test_smilSyncTransform.xhtml]
+[test_smilSyncbaseTarget.xhtml]
+[test_smilTextZoom.xhtml]
+[test_smilTimeEvents.xhtml]
+[test_smilTiming.xhtml]
+[test_smilTimingZeroIntervals.xhtml]
+[test_smilUpdatedInterval.xhtml]
+[test_smilValues.xhtml]
+[test_smilXHR.xhtml]
--- a/content/smil/test/moz.build
+++ b/content/smil/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/xbl/test/Makefile.in
+++ b/content/xbl/test/Makefile.in
@@ -1,48 +1,13 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES =	\
-		test_bug310107.html \
-		bug310107-resource.xhtml \
-		test_bug366770.html \
-		test_bug371724.xhtml \
-		test_bug372769.html \
-		file_bug372769.xhtml \
-		test_bug378866.xhtml \
-		test_bug397934.html \
-		file_bug397934.xhtml \
-		test_bug389322.xhtml \
-		test_bug400705.xhtml \
-		test_bug401907.xhtml \
-		test_bug403162.xhtml \
-		test_bug379959.html \
-		file_bug379959_data.html \
-		file_bug379959_cross.html \
-		file_bug379959_xbl.xml \
-		test_bug468210.xhtml \
-		test_bug481558.html \
-		file_bug481558css.sjs \
-		file_bug481558.xbl \
-		test_bug526178.xhtml \
-		test_bug542406.xhtml \
-		test_bug591198.html \
-		file_bug591198_xbl.xml \
-		file_bug591198_inner.html \
-		test_bug639338.xhtml \
-		test_bug790265.xhtml \
-		test_bug821850.html \
-		file_bug821850.xhtml \
-		test_bug844783.html \
-		file_bug844783.xhtml \
-		$(NULL)
-
 MOCHITEST_CHROME_FILES = \
 		test_bug378518.xul \
 		test_bug398135.xul \
 		test_bug398492.xul \
 		test_bug721452.xul \
 		test_bug723676.xul \
 		test_bug772966.xul \
 		$(NULL)
new file mode 100644
--- /dev/null
+++ b/content/xbl/test/mochitest.ini
@@ -0,0 +1,35 @@
+[DEFAULT]
+support-files =
+  bug310107-resource.xhtml
+  file_bug372769.xhtml
+  file_bug379959_cross.html
+  file_bug379959_data.html
+  file_bug379959_xbl.xml
+  file_bug397934.xhtml
+  file_bug481558.xbl
+  file_bug481558css.sjs
+  file_bug591198_inner.html
+  file_bug591198_xbl.xml
+  file_bug821850.xhtml
+  file_bug844783.xhtml
+
+[test_bug310107.html]
+[test_bug366770.html]
+[test_bug371724.xhtml]
+[test_bug372769.html]
+[test_bug378866.xhtml]
+[test_bug379959.html]
+[test_bug389322.xhtml]
+[test_bug397934.html]
+[test_bug400705.xhtml]
+[test_bug401907.xhtml]
+[test_bug403162.xhtml]
+[test_bug468210.xhtml]
+[test_bug481558.html]
+[test_bug526178.xhtml]
+[test_bug542406.xhtml]
+[test_bug591198.html]
+[test_bug639338.xhtml]
+[test_bug790265.xhtml]
+[test_bug821850.html]
+[test_bug844783.html]
--- a/content/xbl/test/moz.build
+++ b/content/xbl/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/xml/document/test/Makefile.in
+++ b/content/xml/document/test/Makefile.in
@@ -1,17 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = 	test_bug232004.xhtml \
-		test_bug343870.xhtml \
-		test_bug355213.xhtml \
-		test_bug392338.html \
-		test_bug399502.xhtml \
-		test_bug445330.html \
-		test_viewport.xhtml \
-		test_bug293347.html \
-		file_bug293347.xml \
-		file_bug293347xslt.xml \
-		test_bug691215.html \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/content/xml/document/test/mochitest.ini
@@ -0,0 +1,14 @@
+[DEFAULT]
+support-files =
+  file_bug293347.xml
+  file_bug293347xslt.xml
+
+[test_bug232004.xhtml]
+[test_bug293347.html]
+[test_bug343870.xhtml]
+[test_bug355213.xhtml]
+[test_bug392338.html]
+[test_bug399502.xhtml]
+[test_bug445330.html]
+[test_bug691215.html]
+[test_viewport.xhtml]
--- a/content/xml/document/test/moz.build
+++ b/content/xml/document/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/xslt/tests/mochitest/Makefile.in
+++ b/content/xslt/tests/mochitest/Makefile.in
@@ -1,20 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = 	test_bug319374.xhtml \
-		test_bug440974.html \
-		test_bug427060.html \
-		test_bug468208.html \
-		test_bug453441.html \
-		test_bug511487.html \
-		test_bug551412.html \
-		test_bug551654.html \
-		test_bug566629.html \
-		test_bug566629.xhtml \
-		test_bug603159.html \
-		test_bug616774.html \
-		test_bug667315.html \
-		test_exslt_regex.html \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/content/xslt/tests/mochitest/mochitest.ini
@@ -0,0 +1,16 @@
+[DEFAULT]
+
+[test_bug319374.xhtml]
+[test_bug427060.html]
+[test_bug440974.html]
+[test_bug453441.html]
+[test_bug468208.html]
+[test_bug511487.html]
+[test_bug551412.html]
+[test_bug551654.html]
+[test_bug566629.html]
+[test_bug566629.xhtml]
+[test_bug603159.html]
+[test_bug616774.html]
+[test_bug667315.html]
+[test_exslt_regex.html]
--- a/content/xslt/tests/mochitest/moz.build
+++ b/content/xslt/tests/mochitest/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/content/xul/content/test/Makefile.in
+++ b/content/xul/content/test/Makefile.in
@@ -1,18 +1,13 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = 	\
-		test_bug486990.xul \
-		test_bug749367.xul \
-		$(NULL)
-
 MOCHITEST_CHROME_FILES = \
 		test_bug233643.xul \
 		test_bug236853.xul \
 		file_bug236853.rdf \
 		test_bug398289.html \
 		398289-resource.xul \
 		test_bug775972.xul \
 		$(NULL)
new file mode 100644
--- /dev/null
+++ b/content/xul/content/test/mochitest.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+
+[test_bug486990.xul]
+[test_bug749367.xul]
--- a/content/xul/content/test/moz.build
+++ b/content/xul/content/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/docshell/test/Makefile.in
+++ b/docshell/test/Makefile.in
@@ -1,86 +1,14 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 # Disabled for too many intermittent failures (bug 719186)
 #		test_bug413310.html \
 
-MOCHITEST_FILES = \
-		test_bug123696.html \
-		bug123696-subframe.html \
-		test_bug369814.html \
-		bug369814.zip \
-		bug369814.jar \
-		test_bug384014.html \
-		test_bug387979.html \
-		test_bug404548.html \
-		bug404548-subframe.html \
-		bug413310-subframe.html \
-		bug413310-post.sjs \
-		test_bug402210.html \
-		test_bug475636.html \
-		file_bug475636.sjs \
-		test_bug385434.html \
-		file_bug385434_1.html \
-		file_bug385434_2.html \
-		file_bug385434_3.html \
-		test_bug509055.html \
-		file_bug509055.html \
-		test_bug529119-1.html \
-		test_bug529119-2.html \
-		bug529119-window.html \
-		test_bug540462.html \
-		file_bug540462.html \
-		test_bug551225.html \
-		test_bug580069.html \
-		file_bug580069_1.html \
-		file_bug580069_2.sjs \
-		test_bug590573.html \
-		file_bug590573_1.html \
-		file_bug590573_2.html \
-		test_bug598895.html \
-		test_bug634834.html \
-		file_bug634834.html \
-		test_bug637644.html \
-		test_bug640387_1.html \
-		test_bug640387_2.html \
-		file_bug640387.html \
-		test_bug653741.html \
-		file_bug653741.html \
-		test_framedhistoryframes.html \
-		test_windowedhistoryframes.html \
-		historyframes.html \
-		test_bug660404.html \
-		file_bug660404 \
-		file_bug660404^headers^ \
-		test_bug662170.html \
-		file_bug662170.html \
-		test_bug570341.html \
-		bug570341_recordevents.html \
-		test_bug668513.html \
-		bug668513_redirect.html \
-		bug668513_redirect.html^headers^ \
-		test_bug669671.html \
-		file_bug669671.sjs \
-		test_bug675587.html \
-		test_bfcache_plus_hash.html \
-		test_bug680257.html \
-		file_bug680257.html \
-		test_bug691547.html \
-		bug691547_frame.html \
-		test_bug694612.html \
-		test_bug703855.html \
-		file_bug703855.html \
-		test_bug713825.html \
-		test_bug728939.html \
-		file_bug728939.html \
-		test_bug797909.html \
-		$(NULL)
-
 ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
 MOCHITEST_FILES += \
 		test_bug511449.html \
 		file_bug511449.html \
 		$(NULL)
 endif
new file mode 100644
--- /dev/null
+++ b/docshell/test/mochitest.ini
@@ -0,0 +1,72 @@
+[DEFAULT]
+support-files =
+  bug123696-subframe.html
+  bug369814.jar
+  bug369814.zip
+  bug404548-subframe.html
+  bug413310-post.sjs
+  bug413310-subframe.html
+  bug529119-window.html
+  bug570341_recordevents.html
+  bug668513_redirect.html
+  bug668513_redirect.html^headers^
+  bug691547_frame.html
+  file_bug385434_1.html
+  file_bug385434_2.html
+  file_bug385434_3.html
+  file_bug475636.sjs
+  file_bug509055.html
+  file_bug540462.html
+  file_bug580069_1.html
+  file_bug580069_2.sjs
+  file_bug590573_1.html
+  file_bug590573_2.html
+  file_bug634834.html
+  file_bug640387.html
+  file_bug653741.html
+  file_bug660404
+  file_bug660404^headers^
+  file_bug662170.html
+  file_bug669671.sjs
+  file_bug680257.html
+  file_bug703855.html
+  file_bug728939.html
+  historyframes.html
+
+[test_bfcache_plus_hash.html]
+[test_bug123696.html]
+[test_bug369814.html]
+[test_bug384014.html]
+[test_bug385434.html]
+[test_bug387979.html]
+[test_bug402210.html]
+[test_bug404548.html]
+[test_bug475636.html]
+[test_bug509055.html]
+[test_bug529119-1.html]
+[test_bug529119-2.html]
+[test_bug540462.html]
+[test_bug551225.html]
+[test_bug570341.html]
+[test_bug580069.html]
+[test_bug590573.html]
+[test_bug598895.html]
+[test_bug634834.html]
+[test_bug637644.html]
+[test_bug640387_1.html]
+[test_bug640387_2.html]
+[test_bug653741.html]
+[test_bug660404.html]
+[test_bug662170.html]
+[test_bug668513.html]
+[test_bug669671.html]
+[test_bug675587.html]
+[test_bug680257.html]
+[test_bug691547.html]
+[test_bug694612.html]
+[test_bug703855.html]
+[test_bug713825.html]
+[test_bug728939.html]
+[test_bug797909.html]
+[test_framedhistoryframes.html]
+[test_windowedhistoryframes.html]
--- a/docshell/test/moz.build
+++ b/docshell/test/moz.build
@@ -8,8 +8,11 @@ DIRS += ['chrome', 'navigation', 'browse
 
 MODULE = 'test_docshell'
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
 
 # FIXME/bug 575918: out-of-process xpcshell is broken on OS X
 if CONFIG['OS_ARCH'] != 'Darwin':
     XPCSHELL_TESTS_MANIFESTS += ['unit_ipc/xpcshell.ini']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/docshell/test/navigation/Makefile.in
+++ b/docshell/test/navigation/Makefile.in
@@ -1,49 +1,12 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-		test_bug13871.html \
-		test_bug344861.html \
-		test_bug278916.html \
-		test_bug279495.html \
-		test_bug386782.html \
-		test_bug430624.html \
-		test_bug430723.html \
-		test_child.html \
-		test_grandchild.html \
-		test_sibling-off-domain.html \
-		test_sibling-matching-parent.html \
-		test_opener.html \
-		test_not-opener.html \
-		test_popup-navigates-children.html \
-		test_reserved.html \
-		NavigationUtils.js \
-		navigate.html \
-		open.html \
-		iframe.html \
-		parent.html \
-		blank.html \
-		test_sessionhistory.html \
-		file_bug462076_1.html \
-		file_bug462076_2.html \
-		file_bug462076_3.html \
-		file_bug508537_1.html \
-		file_document_write_1.html \
-		file_static_and_dynamic_1.html \
-		frame0.html \
-		frame1.html \
-		frame2.html \
-		frame3.html \
-		goback.html \
-		file_bug534178.html \
-		$(NULL)
-
 ifneq (mobile/android,$(MOZ_BUILD_APP))
 MOCHITEST_FILES += \
 		test_bug270414.html \
 		$(NULL)
 endif
 
 MOCHITEST_BROWSER_FILES = \
 		browser_bug343515.js \
new file mode 100644
--- /dev/null
+++ b/docshell/test/navigation/mochitest.ini
@@ -0,0 +1,37 @@
+[DEFAULT]
+support-files =
+  NavigationUtils.js
+  blank.html
+  file_bug462076_1.html
+  file_bug462076_2.html
+  file_bug462076_3.html
+  file_bug508537_1.html
+  file_bug534178.html
+  file_document_write_1.html
+  file_static_and_dynamic_1.html
+  frame0.html
+  frame1.html
+  frame2.html
+  frame3.html
+  goback.html
+  iframe.html
+  navigate.html
+  open.html
+  parent.html
+
+[test_bug13871.html]
+[test_bug278916.html]
+[test_bug279495.html]
+[test_bug344861.html]
+[test_bug386782.html]
+[test_bug430624.html]
+[test_bug430723.html]
+[test_child.html]
+[test_grandchild.html]
+[test_not-opener.html]
+[test_opener.html]
+[test_popup-navigates-children.html]
+[test_reserved.html]
+[test_sessionhistory.html]
+[test_sibling-matching-parent.html]
+[test_sibling-off-domain.html]
--- a/docshell/test/navigation/moz.build
+++ b/docshell/test/navigation/moz.build
@@ -1,8 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 MODULE = 'test_docshell'
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/alarm/test/Makefile.in
+++ b/dom/alarm/test/Makefile.in
@@ -1,12 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_alarm_add_data.html \
-  test_alarm_add_date.html \
-  test_alarm_add_respectTimezone.html \
-  test_alarm_non_permitted_app.html \
-  test_alarm_permitted_app.html \
-  test_alarm_remove.html \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/alarm/test/mochitest.ini
@@ -0,0 +1,8 @@
+[DEFAULT]
+
+[test_alarm_add_data.html]
+[test_alarm_add_date.html]
+[test_alarm_add_respectTimezone.html]
+[test_alarm_non_permitted_app.html]
+[test_alarm_permitted_app.html]
+[test_alarm_remove.html]
--- a/dom/alarm/test/moz.build
+++ b/dom/alarm/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/apps/tests/Makefile.in
+++ b/dom/apps/tests/Makefile.in
@@ -1,26 +1,9 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  file_app.sjs \
-  file_app.template.html \
-  file_cached_app.template.webapp \
-  file_cached_app.template.appcache \
-  file_hosted_app.template.webapp \
-  test_app_update.html \
-  file_packaged_app.sjs \
-  file_packaged_app.template.webapp \
-  file_packaged_app.template.html \
-  test_packaged_app_install.html \
-  test_packaged_app_update.html \
-  test_packaged_app_common.js \
-  test_uninstall_errors.html \
-  test_bug_795164.html \
-  $(NULL)
-
 MOCHITEST_CHROME_FILES = \
   test_apps_service.xul \
   test_operator_app_install.xul \
   test_operator_app_install.js \
   $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/apps/tests/mochitest.ini
@@ -0,0 +1,17 @@
+[DEFAULT]
+support-files =
+  file_app.sjs
+  file_app.template.html
+  file_cached_app.template.appcache
+  file_cached_app.template.webapp
+  file_hosted_app.template.webapp
+  file_packaged_app.sjs
+  file_packaged_app.template.html
+  file_packaged_app.template.webapp
+
+[test_app_update.html]
+[test_bug_795164.html]
+[test_packaged_app_common.js]
+[test_packaged_app_install.html]
+[test_packaged_app_update.html]
+[test_uninstall_errors.html]
--- a/dom/apps/tests/moz.build
+++ b/dom/apps/tests/moz.build
@@ -1,7 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/base/test/Makefile.in
+++ b/dom/base/test/Makefile.in
@@ -1,45 +1,9 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_constructor.html \
-  test_constructor-assignment.html \
-  test_document.all_unqualified.html \
-  test_domrequest.html \
-  test_e4x_for_each.html \
-  test_gsp-standards.html \
-  test_gsp-quirks.html \
-  test_gsp-qualified.html \
-  test_nondomexception.html \
-  test_screen_orientation.html \
-  test_window_constructor.html \
-  test_window_enumeration.html \
-  test_window_extensible.html \
-  test_window_indexing.html \
-  test_writable-replaceable.html \
-  test_domcursor.html \
-  test_named_frames.html \
-  test_Image_constructor.html \
-  test_setting_opener.html \
-  test_error.html \
-  test_messageChannel.html \
-  test_messageChannel_cloning.html \
-  iframe_messageChannel_cloning.html \
-  test_messageChannel_post.html \
-  iframe_messageChannel_post.html \
-  test_messageChannel_transferable.html \
-  test_messageChannel_start.html \
-  test_messageChannel_pingpong.html \
-  iframe_messageChannel_pingpong.html \
-  test_messageChannel_unshipped.html \
-  test_messageChannel_pref.html \
-  test_url.html \
-  test_bug913761.html \
-  $(NULL)
-
 MOCHITEST_CHROME_FILES = \
    test_bug715041.xul \
    test_bug715041_removal.xul \
    test_domrequesthelper.xul \
    $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/base/test/mochitest.ini
@@ -0,0 +1,36 @@
+[DEFAULT]
+support-files =
+  iframe_messageChannel_cloning.html
+  iframe_messageChannel_pingpong.html
+  iframe_messageChannel_post.html
+
+[test_Image_constructor.html]
+[test_bug913761.html]
+[test_constructor-assignment.html]
+[test_constructor.html]
+[test_document.all_unqualified.html]
+[test_domcursor.html]
+[test_domrequest.html]
+[test_e4x_for_each.html]
+[test_error.html]
+[test_gsp-qualified.html]
+[test_gsp-quirks.html]
+[test_gsp-standards.html]
+[test_messageChannel.html]
+[test_messageChannel_cloning.html]
+[test_messageChannel_pingpong.html]
+[test_messageChannel_post.html]
+[test_messageChannel_pref.html]
+[test_messageChannel_start.html]
+[test_messageChannel_transferable.html]
+[test_messageChannel_unshipped.html]
+[test_named_frames.html]
+[test_nondomexception.html]
+[test_screen_orientation.html]
+[test_setting_opener.html]
+[test_url.html]
+[test_window_constructor.html]
+[test_window_enumeration.html]
+[test_window_extensible.html]
+[test_window_indexing.html]
+[test_writable-replaceable.html]
--- a/dom/base/test/moz.build
+++ b/dom/base/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/battery/test/Makefile.in
+++ b/dom/battery/test/Makefile.in
@@ -1,7 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_battery_basics.html \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/battery/test/mochitest.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[test_battery_basics.html]
--- a/dom/battery/test/moz.build
+++ b/dom/battery/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/bindings/test/Makefile.in
+++ b/dom/bindings/test/Makefile.in
@@ -39,47 +39,16 @@ bindinggen_dependencies := \
   ../Configuration.py \
   ../Codegen.py \
   ../ParserResults.pkl \
   ../parser/WebIDL.py \
   ../Makefile \
   $(GLOBAL_DEPS) \
   $(NULL)
 
-MOCHITEST_FILES := \
-  test_bug773326.html \
-  test_enums.html \
-  test_integers.html \
-  test_interfaceToString.html \
-  test_lookupGetter.html \
-  test_InstanceOf.html \
-  file_InstanceOf.html \
-  test_traceProtos.html \
-  test_forOf.html \
-  forOf_iframe.html \
-  test_sequence_wrapping.html \
-  file_bug775543.html \
-  file_bug707564.html \
-  test_bug788369.html \
-  test_bug742191.html \
-  test_namedNoIndexed.html \
-  test_bug759621.html \
-  test_queryInterface.html \
-  test_exceptionThrowing.html \
-  test_bug852846.html \
-  test_bug862092.html \
-  test_bug560072.html \
-  test_lenientThis.html \
-  test_ByteString.html \
-  test_exception_messages.html \
-  test_bug707564.html \
-  test_defineProperty.html \
-  file_document_location_set_via_xray.html \
-  $(NULL)
-
 MOCHITEST_CHROME_FILES = \
   test_bug775543.html \
   test_bug707564-chrome.html \
   test_document_location_set_via_xray.html \
   $(NULL)
 
 ifdef GNU_CC
 CXXFLAGS += -Wno-uninitialized
new file mode 100644
--- /dev/null
+++ b/dom/bindings/test/mochitest.ini
@@ -0,0 +1,31 @@
+[DEFAULT]
+support-files =
+  file_InstanceOf.html
+  file_bug707564.html
+  file_bug775543.html
+  file_document_location_set_via_xray.html
+  forOf_iframe.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_defineProperty.html]
+[test_enums.html]
+[test_exceptionThrowing.html]
+[test_exception_messages.html]
+[test_forOf.html]
+[test_integers.html]
+[test_interfaceToString.html]
+[test_lenientThis.html]
+[test_lookupGetter.html]
+[test_namedNoIndexed.html]
+[test_queryInterface.html]
+[test_sequence_wrapping.html]
+[test_traceProtos.html]
--- a/dom/bindings/test/moz.build
+++ b/dom/bindings/test/moz.build
@@ -12,8 +12,10 @@ CPP_SOURCES += [
 ]
 
 LIBXUL_LIBRARY = True
 # Do NOT export this library.  We don't actually want our test code
 # being added to libxul or anything.
 
 LIBRARY_NAME = 'dombindings_test_s'
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/camera/test/Makefile.in
+++ b/dom/camera/test/Makefile.in
@@ -1,8 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_camera.html \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/camera/test/mochitest.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[test_camera.html]
--- a/dom/camera/test/moz.build
+++ b/dom/camera/test/moz.build
@@ -1,5 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/contacts/tests/Makefile.in
+++ b/dom/contacts/tests/Makefile.in
@@ -1,17 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_contacts_basics.html \
-  test_contacts_substringmatching.html \
-  test_contacts_substringmatchingVE.html \
-  test_contacts_events.html \
-  test_contacts_blobs.html \
-  test_contacts_international.html \
-  test_contacts_getall.html \
-  $(NULL)
-
 MOCHITEST_CHROME_FILES = \
   test_contacts_upgrade.html \
   $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/contacts/tests/mochitest.ini
@@ -0,0 +1,9 @@
+[DEFAULT]
+
+[test_contacts_basics.html]
+[test_contacts_blobs.html]
+[test_contacts_events.html]
+[test_contacts_getall.html]
+[test_contacts_international.html]
+[test_contacts_substringmatching.html]
+[test_contacts_substringmatchingVE.html]
--- a/dom/contacts/tests/moz.build
+++ b/dom/contacts/tests/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/devicestorage/ipc/Makefile.in
+++ b/dom/devicestorage/ipc/Makefile.in
@@ -1,12 +1,6 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES := \
-  test_ipc.html \
-  ../test/devicestorage_common.js \
-  $(NULL)
-
-
 include $(topsrcdir)/config/rules.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
new file mode 100644
--- /dev/null
+++ b/dom/devicestorage/ipc/mochitest.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+support-files = ../test/devicestorage_common.js
+
+[test_ipc.html]
--- a/dom/devicestorage/ipc/moz.build
+++ b/dom/devicestorage/ipc/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/devicestorage/test/Makefile.in
+++ b/dom/devicestorage/test/Makefile.in
@@ -4,30 +4,11 @@
 
 #  man, our mime database sucks hard.  followup bug # 788273
 #		test_add.html \
 
 # Possible race between the time we write a file, and the
 # time it takes to be reflected by statfs().  Bug # 791287
 #                 test_diskSpace.html \
 
-MOCHITEST_FILES	= \
-		test_sanity.html \
-		test_addCorrectType.html \
-		test_basic.html \
-		test_enumerate.html \
-		test_enumerateMultipleContinue.html \
-		test_overwrite.html \
-		test_dotdot.html \
-		test_enumerateOptions.html \
-		test_lastModificationFilter.html \
-		test_freeSpace.html \
-		test_usedSpace.html \
-		test_available.html \
-		test_watch.html \
-		test_watchOther.html \
-		test_823965.html \
-		devicestorage_common.js \
-		$(NULL)
-
 MOCHITEST_CHROME_FILES =\
 		test_app_permissions.html \
 		$(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/devicestorage/test/mochitest.ini
@@ -0,0 +1,18 @@
+[DEFAULT]
+support-files = devicestorage_common.js
+
+[test_823965.html]
+[test_addCorrectType.html]
+[test_available.html]
+[test_basic.html]
+[test_dotdot.html]
+[test_enumerate.html]
+[test_enumerateMultipleContinue.html]
+[test_enumerateOptions.html]
+[test_freeSpace.html]
+[test_lastModificationFilter.html]
+[test_overwrite.html]
+[test_sanity.html]
+[test_usedSpace.html]
+[test_watch.html]
+[test_watchOther.html]
--- a/dom/devicestorage/test/moz.build
+++ b/dom/devicestorage/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/encoding/test/Makefile.in
+++ b/dom/encoding/test/Makefile.in
@@ -1,27 +1,8 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  file_utf16_be_bom.css \
-  file_utf16_be_bom.js \
-  file_utf16_be_bom.xhtml \
-  file_utf16_le_bom.css \
-  file_utf16_le_bom.js \
-  file_utf16_le_bom.xhtml \
-  file_utf16_le_nobom.xhtml \
-  test_BOMEncoding.js \
-  test_TextDecoder.html \
-  test_TextDecoder.js \
-  test_TextEncoder.html \
-  test_TextEncoder.js \
-  test_stringencoding.html \
-  test_submit_euckr.html \
-  test_utf16_files.html \
-  worker_helper.js \
-  $(NULL)
-
 MOCHITEST_CHROME_FILES = \
   file_stringencoding.jsm \
   test_stringencoding.xul \
   $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/encoding/test/mochitest.ini
@@ -0,0 +1,19 @@
+[DEFAULT]
+support-files =
+  file_utf16_be_bom.css
+  file_utf16_be_bom.js
+  file_utf16_be_bom.xhtml
+  file_utf16_le_bom.css
+  file_utf16_le_bom.js
+  file_utf16_le_bom.xhtml
+  file_utf16_le_nobom.xhtml
+  worker_helper.js
+
+[test_BOMEncoding.js]
+[test_TextDecoder.html]
+[test_TextDecoder.js]
+[test_TextEncoder.html]
+[test_TextEncoder.js]
+[test_stringencoding.html]
+[test_submit_euckr.html]
+[test_utf16_files.html]
--- a/dom/encoding/test/moz.build
+++ b/dom/encoding/test/moz.build
@@ -2,8 +2,11 @@
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['unit']
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/encoding/test/unit/Makefile.in
+++ b/dom/encoding/test/unit/Makefile.in
@@ -1,15 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_big5.js \
-  test_euc-jp.js \
-  test_euc-kr.js \
-  test_gbk.js \
-  test_hz-gb-2312.js \
-  test_iso-2022-jp.js \
-  test_iso-2022-kr.js \
-  test_shift_jis.js \
-  test_singlebytes.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/encoding/test/unit/mochitest.ini
@@ -0,0 +1,11 @@
+[DEFAULT]
+
+[test_big5.js]
+[test_euc-jp.js]
+[test_euc-kr.js]
+[test_gbk.js]
+[test_hz-gb-2312.js]
+[test_iso-2022-jp.js]
+[test_iso-2022-kr.js]
+[test_shift_jis.js]
+[test_singlebytes.js]
--- a/dom/encoding/test/unit/moz.build
+++ b/dom/encoding/test/unit/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/file/test/Makefile.in
+++ b/dom/file/test/Makefile.in
@@ -1,27 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  dummy_worker.js \
-  helpers.js \
-  test_append_read_data.html \
-  test_getFileId.html \
-  test_location.html \
-  test_lockedfile_lifetimes.html \
-  test_lockedfile_lifetimes_nested.html \
-  test_lockedfile_ordering.html \
-  test_overlapping_lockedfiles.html \
-  test_progress_events.html \
-  test_readonly_lockedfiles.html \
-  test_request_readyState.html \
-  test_stream_tracking.html \
-  test_success_events_after_abort.html \
-  test_truncate.html \
-  test_write_read_data.html \
-  test_workers.html \
-  test_archivereader.html \
-  test_archivereader_zip_in_zip.html \
-  test_archivereader_nonUnicode.html \
-  test_bug_793311.html \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/file/test/mochitest.ini
@@ -0,0 +1,24 @@
+[DEFAULT]
+support-files =
+  dummy_worker.js
+  helpers.js
+
+[test_append_read_data.html]
+[test_archivereader.html]
+[test_archivereader_nonUnicode.html]
+[test_archivereader_zip_in_zip.html]
+[test_bug_793311.html]
+[test_getFileId.html]
+[test_location.html]
+[test_lockedfile_lifetimes.html]
+[test_lockedfile_lifetimes_nested.html]
+[test_lockedfile_ordering.html]
+[test_overlapping_lockedfiles.html]
+[test_progress_events.html]
+[test_readonly_lockedfiles.html]
+[test_request_readyState.html]
+[test_stream_tracking.html]
+[test_success_events_after_abort.html]
+[test_truncate.html]
+[test_workers.html]
+[test_write_read_data.html]
--- a/dom/file/test/moz.build
+++ b/dom/file/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/indexedDB/ipc/Makefile.in
+++ b/dom/indexedDB/ipc/Makefile.in
@@ -2,18 +2,16 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
 LOCAL_INCLUDES += \
   -I$(topsrcdir)/dom/indexedDB \
   -I$(topsrcdir)/content/events/src \
   $(NULL)
 
-MOCHITEST_FILES = test_ipc.html
-
 include $(topsrcdir)/config/rules.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 
 xpcshell_tests = unit
 
 # Copy all the normal xpcshell tests from the regular unit directory.
 copy-xpcshell-tests:
 	$(call install_cmd,$(wildcard $(topsrcdir)/dom/indexedDB/test/unit/test_*.js) \
new file mode 100644
--- /dev/null
+++ b/dom/indexedDB/ipc/mochitest.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[test_ipc.html]
--- a/dom/indexedDB/ipc/moz.build
+++ b/dom/indexedDB/ipc/moz.build
@@ -31,8 +31,10 @@ IPDL_SOURCES += [
 ]
 
 FAIL_ON_WARNINGS = True
 
 LIBXUL_LIBRARY = True
 
 LIBRARY_NAME = 'dom_indexeddb_ipc_s'
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/indexedDB/test/Makefile.in
+++ b/dom/indexedDB/test/Makefile.in
@@ -1,127 +1,14 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  bfcache_iframe1.html \
-  bfcache_iframe2.html \
-  error_events_abort_transactions_iframe.html \
-  event_propagation_iframe.html \
-  exceptions_in_events_iframe.html \
-  file.js \
-  file_app_isolation.html \
-  file_app_isolation.js \
-  helpers.js \
-  leaving_page_iframe.html \
-  test_add_put.html \
-  test_add_twice_failure.html \
-  test_advance.html \
-  test_autoIncrement_indexes.html \
-  test_autoIncrement.html \
-  test_bfcache.html \
-  test_blob_archive.html \
-  test_blob_simple.html \
-  test_clear.html \
-  test_complex_keyPaths.html \
-  test_count.html \
-  test_create_index.html \
-  test_create_index_with_integer_keys.html \
-  test_create_objectStore.html \
-  test_cursors.html \
-  test_cursor_mutation.html \
-  test_cursor_update_updates_indexes.html \
-  test_deleteDatabase.html \
-  test_deleteDatabase_interactions.html \
-  test_error_events_abort_transactions.html \
-  test_event_propagation.html \
-  test_event_source.html \
-  test_exceptions_in_events.html \
-  test_file_array.html \
-  test_file_cross_database_copying.html \
-  test_file_delete.html \
-  test_file_os_delete.html \
-  test_file_put_get_object.html \
-  test_file_put_get_values.html \
-  test_file_quota.html \
-  test_file_replace.html \
-  test_file_resurrection_delete.html \
-  test_file_resurrection_transaction_abort.html \
-  test_file_sharing.html \
-  test_file_transaction_abort.html \
-  test_filehandle_quota.html \
-  test_filehandle_serialization.html \
-  test_filehandle_store_snapshot.html \
-  test_getAll.html \
-  test_get_filehandle.html \
-  test_globalObjects.html \
-  test_global_data.html \
-  test_index_empty_keyPath.html \
-  test_index_getAll.html \
-  test_index_getAllObjects.html \
-  test_index_object_cursors.html \
-  test_index_update_delete.html \
-  test_indexes.html \
-  test_indexes_bad_values.html \
-  test_indexes_funny_things.html \
-  test_invalid_version.html \
-  test_key_requirements.html \
-  test_keys.html \
-  test_leaving_page.html \
-  test_lowDiskSpace.html \
-  test_multientry.html \
-  test_names_sorted.html \
-  test_objectCursors.html \
-  test_objectStore_getAllKeys.html \
-  test_objectStore_inline_autoincrement_key_added_on_put.html \
-  test_objectStore_openKeyCursor.html \
-  test_objectStore_remove_values.html \
-  test_object_identity.html \
-  test_odd_result_order.html \
-  test_open_empty_db.html \
-  test_open_for_principal.html \
-  test_open_objectStore.html \
-  test_optionalArguments.html \
-  test_overlapping_transactions.html \
-  test_persistenceType.html \
-  test_put_get_values.html \
-  test_put_get_values_autoIncrement.html \
-  test_readonly_transactions.html \
-  test_remove_index.html \
-  test_remove_objectStore.html \
-  test_request_readyState.html \
-  test_success_events_after_abort.html \
-  test_third_party.html \
-  test_traffic_jam.html \
-  test_transaction_abort.html \
-  test_transaction_abort_hang.html \
-  test_transaction_lifetimes.html \
-  test_transaction_lifetimes_nested.html \
-  test_transaction_ordering.html \
-  test_setVersion.html \
-  test_setVersion_abort.html \
-  test_setVersion_events.html \
-  test_setVersion_exclusion.html \
-  test_unique_index_update.html \
-  test_webapp_clearBrowserData_inproc_oop.html \
-  test_webapp_clearBrowserData_oop_inproc.html \
-  test_webapp_clearBrowserData_inproc_inproc.html \
-  third_party_iframe1.html \
-  third_party_iframe2.html \
-  test_app_isolation_inproc.html \
-  test_app_isolation_oop.html \
-  webapp_clearBrowserData.js \
-  webapp_clearBrowserData_appFrame.html \
-  webapp_clearBrowserData_browserFrame.html \
-  $(NULL)
-
 #   test_bug847147.html disabled for timeouts
 #   test_writer_starvation.html  disabled for infinite loops, bug 595368
-
 MOCHITEST_CHROME_FILES = \
   chromeHelpers.js \
   test_globalObjects.xul \
   $(NULL)
 
 ifeq (browser,$(MOZ_BUILD_APP))
 MOCHITEST_BROWSER_FILES = \
   browser_forgetThisSite.js \
new file mode 100644
--- /dev/null
+++ b/dom/indexedDB/test/mochitest.ini
@@ -0,0 +1,112 @@
+[DEFAULT]
+support-files =
+  bfcache_iframe1.html
+  bfcache_iframe2.html
+  error_events_abort_transactions_iframe.html
+  event_propagation_iframe.html
+  exceptions_in_events_iframe.html
+  file.js
+  file_app_isolation.html
+  file_app_isolation.js
+  helpers.js
+  leaving_page_iframe.html
+  third_party_iframe1.html
+  third_party_iframe2.html
+  webapp_clearBrowserData.js
+  webapp_clearBrowserData_appFrame.html
+  webapp_clearBrowserData_browserFrame.html
+
+[test_add_put.html]
+[test_add_twice_failure.html]
+[test_advance.html]
+[test_app_isolation_inproc.html]
+[test_app_isolation_oop.html]
+[test_autoIncrement.html]
+[test_autoIncrement_indexes.html]
+[test_bfcache.html]
+[test_blob_archive.html]
+[test_blob_simple.html]
+[test_clear.html]
+[test_complex_keyPaths.html]
+[test_count.html]
+[test_create_index.html]
+[test_create_index_with_integer_keys.html]
+[test_create_objectStore.html]
+[test_cursor_mutation.html]
+[test_cursor_update_updates_indexes.html]
+[test_cursors.html]
+[test_deleteDatabase.html]
+[test_deleteDatabase_interactions.html]
+[test_error_events_abort_transactions.html]
+[test_event_propagation.html]
+[test_event_source.html]
+[test_exceptions_in_events.html]
+[test_file_array.html]
+[test_file_cross_database_copying.html]
+[test_file_delete.html]
+[test_file_os_delete.html]
+[test_file_put_get_object.html]
+[test_file_put_get_values.html]
+[test_file_quota.html]
+[test_file_replace.html]
+[test_file_resurrection_delete.html]
+[test_file_resurrection_transaction_abort.html]
+[test_file_sharing.html]
+[test_file_transaction_abort.html]
+[test_filehandle_quota.html]
+[test_filehandle_serialization.html]
+[test_filehandle_store_snapshot.html]
+[test_getAll.html]
+[test_get_filehandle.html]
+[test_globalObjects.html]
+[test_global_data.html]
+[test_index_empty_keyPath.html]
+[test_index_getAll.html]
+[test_index_getAllObjects.html]
+[test_index_object_cursors.html]
+[test_index_update_delete.html]
+[test_indexes.html]
+[test_indexes_bad_values.html]
+[test_indexes_funny_things.html]
+[test_invalid_version.html]
+[test_key_requirements.html]
+[test_keys.html]
+[test_leaving_page.html]
+[test_lowDiskSpace.html]
+[test_multientry.html]
+[test_names_sorted.html]
+[test_objectCursors.html]
+[test_objectStore_getAllKeys.html]
+[test_objectStore_inline_autoincrement_key_added_on_put.html]
+[test_objectStore_openKeyCursor.html]
+[test_objectStore_remove_values.html]
+[test_object_identity.html]
+[test_odd_result_order.html]
+[test_open_empty_db.html]
+[test_open_for_principal.html]
+[test_open_objectStore.html]
+[test_optionalArguments.html]
+[test_overlapping_transactions.html]
+[test_persistenceType.html]
+[test_put_get_values.html]
+[test_put_get_values_autoIncrement.html]
+[test_readonly_transactions.html]
+[test_remove_index.html]
+[test_remove_objectStore.html]
+[test_request_readyState.html]
+[test_setVersion.html]
+[test_setVersion_abort.html]
+[test_setVersion_events.html]
+[test_setVersion_exclusion.html]
+[test_success_events_after_abort.html]
+[test_third_party.html]
+[test_traffic_jam.html]
+[test_transaction_abort.html]
+[test_transaction_abort_hang.html]
+[test_transaction_lifetimes.html]
+[test_transaction_lifetimes_nested.html]
+[test_transaction_ordering.html]
+[test_unique_index_update.html]
+[test_webapp_clearBrowserData_inproc_inproc.html]
+[test_webapp_clearBrowserData_inproc_oop.html]
+[test_webapp_clearBrowserData_oop_inproc.html]
--- a/dom/indexedDB/test/moz.build
+++ b/dom/indexedDB/test/moz.build
@@ -4,8 +4,11 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += ['extensions']
 
 TEST_DIRS += ['unit']
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/indexedDB/test/unit/Makefile.in
+++ b/dom/indexedDB/test/unit/Makefile.in
@@ -1,74 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_add_put.js \
-  test_add_twice_failure.js \
-  test_advance.js \
-  test_autoIncrement.js \
-  test_autoIncrement_indexes.js \
-  test_clear.js \
-  test_complex_keyPaths.js \
-  test_count.js \
-  test_create_index.js \
-  test_create_index_with_integer_keys.js \
-  test_create_objectStore.js \
-  test_cursor_mutation.js \
-  test_cursor_update_updates_indexes.js \
-  test_cursors.js \
-  test_deleteDatabase.js \
-  test_deleteDatabase_interactions.js \
-  test_event_source.js \
-  test_getAll.js \
-  test_globalObjects.js \
-  test_globalObjects_ipc.js \
-  test_global_data.js \
-  test_index_empty_keyPath.js \
-  test_index_getAll.js \
-  test_index_getAllObjects.js \
-  test_index_object_cursors.js \
-  test_index_update_delete.js \
-  test_indexes.js \
-  test_indexes_bad_values.js \
-  test_indexes_funny_things.js \
-  test_invalid_version.js \
-  test_key_requirements.js \
-  test_keys.js \
-  test_lowDiskSpace.js \
-  test_multientry.js \
-  test_names_sorted.js \
-  test_object_identity.js \
-  test_objectCursors.js \
-  test_objectStore_getAllKeys.js \
-  test_objectStore_inline_autoincrement_key_added_on_put.js \
-  test_objectStore_openKeyCursor.js \
-  test_objectStore_remove_values.js \
-  test_odd_result_order.js \
-  test_open_empty_db.js \
-  test_open_for_principal.js \
-  test_open_objectStore.js \
-  test_optionalArguments.js \
-  test_overlapping_transactions.js \
-  test_persistenceType.js \
-  test_put_get_values.js \
-  test_put_get_values_autoIncrement.js \
-  test_readonly_transactions.js \
-  test_remove_index.js \
-  test_remove_objectStore.js \
-  test_request_readyState.js \
-  test_setVersion.js \
-  test_setVersion_abort.js \
-  test_setVersion_events.js \
-  test_setVersion_exclusion.js \
-  test_success_events_after_abort.js \
-  test_temporary_storage.js \
-  test_traffic_jam.js \
-  test_transaction_abort.js \
-  test_transaction_abort_hang.js \
-  test_transaction_lifetimes.js \
-  test_transaction_lifetimes_nested.js \
-  test_transaction_ordering.js \
-  test_unique_index_update.js \
-  test_writer_starvation.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/indexedDB/test/unit/mochitest.ini
@@ -0,0 +1,70 @@
+[DEFAULT]
+
+[test_add_put.js]
+[test_add_twice_failure.js]
+[test_advance.js]
+[test_autoIncrement.js]
+[test_autoIncrement_indexes.js]
+[test_clear.js]
+[test_complex_keyPaths.js]
+[test_count.js]
+[test_create_index.js]
+[test_create_index_with_integer_keys.js]
+[test_create_objectStore.js]
+[test_cursor_mutation.js]
+[test_cursor_update_updates_indexes.js]
+[test_cursors.js]
+[test_deleteDatabase.js]
+[test_deleteDatabase_interactions.js]
+[test_event_source.js]
+[test_getAll.js]
+[test_globalObjects.js]
+[test_globalObjects_ipc.js]
+[test_global_data.js]
+[test_index_empty_keyPath.js]
+[test_index_getAll.js]
+[test_index_getAllObjects.js]
+[test_index_object_cursors.js]
+[test_index_update_delete.js]
+[test_indexes.js]
+[test_indexes_bad_values.js]
+[test_indexes_funny_things.js]
+[test_invalid_version.js]
+[test_key_requirements.js]
+[test_keys.js]
+[test_lowDiskSpace.js]
+[test_multientry.js]
+[test_names_sorted.js]
+[test_objectCursors.js]
+[test_objectStore_getAllKeys.js]
+[test_objectStore_inline_autoincrement_key_added_on_put.js]
+[test_objectStore_openKeyCursor.js]
+[test_objectStore_remove_values.js]
+[test_object_identity.js]
+[test_odd_result_order.js]
+[test_open_empty_db.js]
+[test_open_for_principal.js]
+[test_open_objectStore.js]
+[test_optionalArguments.js]
+[test_overlapping_transactions.js]
+[test_persistenceType.js]
+[test_put_get_values.js]
+[test_put_get_values_autoIncrement.js]
+[test_readonly_transactions.js]
+[test_remove_index.js]
+[test_remove_objectStore.js]
+[test_request_readyState.js]
+[test_setVersion.js]
+[test_setVersion_abort.js]
+[test_setVersion_events.js]
+[test_setVersion_exclusion.js]
+[test_success_events_after_abort.js]
+[test_temporary_storage.js]
+[test_traffic_jam.js]
+[test_transaction_abort.js]
+[test_transaction_abort_hang.js]
+[test_transaction_lifetimes.js]
+[test_transaction_lifetimes_nested.js]
+[test_transaction_ordering.js]
+[test_unique_index_update.js]
+[test_writer_starvation.js]
--- a/dom/indexedDB/test/unit/moz.build
+++ b/dom/indexedDB/test/unit/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/media/tests/mochitest/Makefile.in
+++ b/dom/media/tests/mochitest/Makefile.in
@@ -1,59 +1,9 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_dataChannel_basicAudio.html \
-  test_dataChannel_basicAudioVideo.html \
-  test_dataChannel_basicAudioVideoCombined.html \
-  test_dataChannel_basicDataOnly.html \
-  test_dataChannel_basicVideo.html \
-  test_dataChannel_noOffer.html \
-  test_getUserMedia_exceptions.html \
-  test_getUserMedia_basicAudio.html \
-  test_getUserMedia_basicVideo.html \
-  test_getUserMedia_basicVideoAudio.html \
-  test_getUserMedia_gumWithinGum.html \
-  test_getUserMedia_playAudioTwice.html \
-  test_getUserMedia_playVideoTwice.html \
-  test_getUserMedia_playVideoAudioTwice.html \
-  test_getUserMedia_stopAudioStream.html \
-  test_getUserMedia_stopAudioStreamWithFollowupAudio.html \
-  test_getUserMedia_stopVideoStreamWithFollowupVideo.html \
-  test_getUserMedia_stopVideoAudioStreamWithFollowupVideoAudio.html \
-  test_getUserMedia_stopVideoStream.html \
-  test_getUserMedia_stopVideoAudioStream.html \
-  test_getUserMedia_constraints.html \
-  test_peerConnection_basicAudio.html \
-  test_peerConnection_basicAudioVideo.html \
-  test_peerConnection_basicAudioVideoCombined.html \
-  test_peerConnection_basicVideo.html \
-  test_peerConnection_errorCallbacks.html \
-  test_peerConnection_offerRequiresReceiveAudio.html \
-  test_peerConnection_offerRequiresReceiveVideo.html \
-  test_peerConnection_offerRequiresReceiveVideoAudio.html \
-  test_peerConnection_throwInCallbacks.html \
-  test_peerConnection_setLocalAnswerInStable.html \
-  test_peerConnection_setRemoteAnswerInStable.html \
-  test_peerConnection_setLocalAnswerInHaveLocalOffer.html \
-  test_peerConnection_setRemoteOfferInHaveLocalOffer.html \
-  test_peerConnection_setLocalOfferInHaveRemoteOffer.html \
-  test_peerConnection_setRemoteAnswerInHaveRemoteOffer.html \
-  test_peerConnection_addCandidateInHaveLocalOffer.html \
-  test_peerConnection_bug822674.html \
-  test_peerConnection_bug825703.html \
-  test_peerConnection_bug827843.html \
-  test_peerConnection_bug834153.html \
-  test_peerConnection_bug835370.html \
-  test_peerConnection_toJSON.html \
-  head.js \
-  mediaStreamPlayback.js \
-  pc.js \
-  templates.js \
-  $(NULL)
-
 # The following tests are leaking and cannot be run by default yet
 ifdef MOZ_WEBRTC_LEAKING_TESTS
 MOCHITEST_FILES += \
   $(NULL)
 endif
new file mode 100644
--- /dev/null
+++ b/dom/media/tests/mochitest/mochitest.ini
@@ -0,0 +1,50 @@
+[DEFAULT]
+support-files =
+  head.js
+  mediaStreamPlayback.js
+  pc.js
+  templates.js
+
+[test_dataChannel_basicAudio.html]
+[test_dataChannel_basicAudioVideo.html]
+[test_dataChannel_basicAudioVideoCombined.html]
+[test_dataChannel_basicDataOnly.html]
+[test_dataChannel_basicVideo.html]
+[test_dataChannel_noOffer.html]
+[test_getUserMedia_basicAudio.html]
+[test_getUserMedia_basicVideo.html]
+[test_getUserMedia_basicVideoAudio.html]
+[test_getUserMedia_constraints.html]
+[test_getUserMedia_exceptions.html]
+[test_getUserMedia_gumWithinGum.html]
+[test_getUserMedia_playAudioTwice.html]
+[test_getUserMedia_playVideoAudioTwice.html]
+[test_getUserMedia_playVideoTwice.html]
+[test_getUserMedia_stopAudioStream.html]
+[test_getUserMedia_stopAudioStreamWithFollowupAudio.html]
+[test_getUserMedia_stopVideoAudioStream.html]
+[test_getUserMedia_stopVideoAudioStreamWithFollowupVideoAudio.html]
+[test_getUserMedia_stopVideoStream.html]
+[test_getUserMedia_stopVideoStreamWithFollowupVideo.html]
+[test_peerConnection_addCandidateInHaveLocalOffer.html]
+[test_peerConnection_basicAudio.html]
+[test_peerConnection_basicAudioVideo.html]
+[test_peerConnection_basicAudioVideoCombined.html]
+[test_peerConnection_basicVideo.html]
+[test_peerConnection_bug822674.html]
+[test_peerConnection_bug825703.html]
+[test_peerConnection_bug827843.html]
+[test_peerConnection_bug834153.html]
+[test_peerConnection_bug835370.html]
+[test_peerConnection_errorCallbacks.html]
+[test_peerConnection_offerRequiresReceiveAudio.html]
+[test_peerConnection_offerRequiresReceiveVideo.html]
+[test_peerConnection_offerRequiresReceiveVideoAudio.html]
+[test_peerConnection_setLocalAnswerInHaveLocalOffer.html]
+[test_peerConnection_setLocalAnswerInStable.html]
+[test_peerConnection_setLocalOfferInHaveRemoteOffer.html]
+[test_peerConnection_setRemoteAnswerInHaveRemoteOffer.html]
+[test_peerConnection_setRemoteAnswerInStable.html]
+[test_peerConnection_setRemoteOfferInHaveLocalOffer.html]
+[test_peerConnection_throwInCallbacks.html]
+[test_peerConnection_toJSON.html]
--- a/dom/media/tests/mochitest/moz.build
+++ b/dom/media/tests/mochitest/moz.build
@@ -1,7 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 WEBRTC_SIGNALLING_TEST_MANIFESTS += ['steeplechase.ini']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/mobilemessage/tests/Makefile.in
+++ b/dom/mobilemessage/tests/Makefile.in
@@ -1,14 +1,9 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_sms_basics.html \
-  test_smsfilter.html \
-  $(NULL)
-
 ifdef MOZ_B2G_RIL
 MOCHITEST_CHROME_FILES = \
   test_smsdatabaseservice.xul \
   $(NULL)
 endif
new file mode 100644
--- /dev/null
+++ b/dom/mobilemessage/tests/mochitest.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+
+[test_sms_basics.html]
+[test_smsfilter.html]
--- a/dom/mobilemessage/tests/moz.build
+++ b/dom/mobilemessage/tests/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/network/tests/Makefile.in
+++ b/dom/network/tests/Makefile.in
@@ -1,19 +1,12 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_network_basics.html \
-  test_tcpsocket_default_permissions.html \
-  test_tcpsocket_enabled_no_perm.html \
-  test_tcpsocket_enabled_with_perm.html \
-  $(NULL)
-
 ifdef MOZ_B2G_RIL
 MOCHITEST_FILES = \
   test_networkstats_basics.html \
   test_networkstats_disabled.html \
   test_networkstats_enabled_no_perm.html \
   test_networkstats_enabled_perm.html \
   $(NULL)
 endif
new file mode 100644
--- /dev/null
+++ b/dom/network/tests/mochitest.ini
@@ -0,0 +1,6 @@
+[DEFAULT]
+
+[test_network_basics.html]
+[test_tcpsocket_default_permissions.html]
+[test_tcpsocket_enabled_no_perm.html]
+[test_tcpsocket_enabled_with_perm.html]
--- a/dom/network/tests/moz.build
+++ b/dom/network/tests/moz.build
@@ -5,8 +5,11 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 MODULE = 'test_dom_socket'
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini', 'unit_ipc/xpcshell.ini']
 
 if CONFIG['MOZ_B2G_RIL']:
     XPCSHELL_TESTS_MANIFESTS += ['unit_stats/xpcshell.ini']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/permission/tests/Makefile.in
+++ b/dom/permission/tests/Makefile.in
@@ -1,32 +1,16 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_permission_basics.html \
-  test_alarms.html \
-  test_idle.html \
-  test_permissions.html \
-  test_power.html \
-  test_systemXHR.html \
-  test_tcp-socket.html \
-  test_webapps-manage.html \
-  test_browser.html \
-  test_embed-apps.html \
-  file_shim.html \
-  file_framework.js \
-  $(NULL)
-
 # disabled until bug 859593 is fixed
 #MOCHITEST_FILES += \
 #  test_camera.html \
 #  $(NULL)
-
 ifdef MOZ_B2G
 MOCHITEST_FILES += \
   test_keyboard.html \
   test_wifi-manage.html \
   $(NULL)
 endif
 
 ifdef MOZ_B2G_RIL
new file mode 100644
--- /dev/null
+++ b/dom/permission/tests/mochitest.ini
@@ -0,0 +1,15 @@
+[DEFAULT]
+support-files =
+  file_framework.js
+  file_shim.html
+
+[test_alarms.html]
+[test_browser.html]
+[test_embed-apps.html]
+[test_idle.html]
+[test_permission_basics.html]
+[test_permissions.html]
+[test_power.html]
+[test_systemXHR.html]
+[test_tcp-socket.html]
+[test_webapps-manage.html]
--- a/dom/permission/tests/moz.build
+++ b/dom/permission/tests/moz.build
@@ -2,8 +2,11 @@
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 MODULE = 'test_permission'
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/phonenumberutils/tests/Makefile.in
+++ b/dom/phonenumberutils/tests/Makefile.in
@@ -1,13 +1,9 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_phonenumberutils_basics.html \
-  $(NULL)
-
 MOCHITEST_CHROME_FILES = \
   test_phonenumber.xul \
   test_phonenumberutils.xul \
   test_phonenumberservice.xul \
   $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/phonenumberutils/tests/mochitest.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[test_phonenumberutils_basics.html]
--- a/dom/phonenumberutils/tests/moz.build
+++ b/dom/phonenumberutils/tests/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/plugins/test/mochitest/Makefile.in
+++ b/dom/plugins/test/mochitest/Makefile.in
@@ -1,92 +1,14 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  utils.js \
-  test_defaultValue.html \
-  test_getauthenticationinfo.html \
-  test_npobject_getters.html \
-  test_npruntime_npnevaluate.html \
-  test_npruntime_npninvoke.html \
-  test_npruntime_npninvokedefault.html \
-  test_npruntime_identifiers.html \
-  npruntime_identifiers_subpage.html \
-  loremipsum.txt \
-  loremipsum_file.txt \
-  loremipsum_nocache.txt \
-  loremipsum_nocache.txt^headers^ \
-  post.sjs \
-  pluginstream.js \
-  plugin_window.html \
-  test_painting.html \
-  test_pluginstream_err.html \
-  test_pluginstream_src.html \
-  test_pluginstream_src_dynamic.html \
-  test_pluginstream_geturl.html \
-  test_pluginstream_geturlnotify.html \
-  test_pluginstream_asfile.html \
-  test_pluginstream_asfileonly.html \
-  test_pluginstream_post.html \
-  test_pluginstream_poststream.html \
-  test_pluginstream_seek.html \
-  test_pluginstream_newstream.html \
-  test_pluginstream_seek_close.html \
-  test_fullpage.html \
-  loremipsum.xtest \
-  loremipsum.xtest^headers^ \
-  test_multipleinstanceobjects.html \
-  test_streamNotify.html \
-  test_instantiation.html \
-  test_cookies.html \
-  test_npn_timers.html \
-  test_npn_asynccall.html \
-  test_bug532208.html \
-  large-pic.jpg \
-  test_twostreams.html \
-  test_streamatclose.html \
-  neverending.sjs \
-  test_newstreamondestroy.html \
-  crashing_subpage.html \
-  test_GCrace.html \
-  test_propertyAndMethod.html \
-  test_bug539565-1.html \
-  test_bug539565-2.html \
-  test_bug771202.html \
-  file_bug771202.html \
-  test_bug777098.html \
-  test_bug813906.html \
-  test_bug784131.html \
-  test_bug854082.html \
-  test_bug863792.html \
-  file_bug863792.html \
-  test_enumerate.html \
-  test_npruntime_construct.html \
-  307-xo-redirect.sjs \
-  test_redirect_handling.html \
-  test_zero_opacity.html \
-  test_NPPVpluginWantsAllNetworkStreams.html \
-  test_npruntime_npnsetexception.html \
-  test_NPNVdocumentOrigin.html \
-  test_instance_re-parent.html \
-  test_instance_unparent1.html \
-  test_instance_unparent2.html \
-  test_instance_unparent3.html \
-  test_pluginstream_referer.html \
-  test_pluginstream_src_referer.html \
-  plugin-stream-referer.sjs \
-  test_src_url_change.html \
-  test_secondPlugin.html \
-  $(NULL)
-
 #  test_plugin_scroll_painting.html \ bug 596491
-
 ifeq ($(OS_ARCH),WINNT)
 MOCHITEST_FILES += \
   test_windowed_invalidate.html \
   $(NULL)
 
 # test_positioning.html \ disabled due to oddness, perhaps scrolling of the
 # mochitest window?
 endif
new file mode 100644
--- /dev/null
+++ b/dom/plugins/test/mochitest/mochitest.ini
@@ -0,0 +1,77 @@
+[DEFAULT]
+support-files =
+  307-xo-redirect.sjs
+  crashing_subpage.html
+  file_bug771202.html
+  file_bug863792.html
+  large-pic.jpg
+  loremipsum.txt
+  loremipsum.xtest
+  loremipsum.xtest^headers^
+  loremipsum_file.txt
+  loremipsum_nocache.txt
+  loremipsum_nocache.txt^headers^
+  neverending.sjs
+  npruntime_identifiers_subpage.html
+  plugin-stream-referer.sjs
+  plugin_window.html
+  pluginstream.js
+  post.sjs
+  utils.js
+
+[test_GCrace.html]
+[test_NPNVdocumentOrigin.html]
+[test_NPPVpluginWantsAllNetworkStreams.html]
+[test_bug532208.html]
+[test_bug539565-1.html]
+[test_bug539565-2.html]
+[test_bug771202.html]
+[test_bug777098.html]
+[test_bug784131.html]
+[test_bug813906.html]
+[test_bug854082.html]
+[test_bug863792.html]
+[test_cookies.html]
+[test_defaultValue.html]
+[test_enumerate.html]
+[test_fullpage.html]
+[test_getauthenticationinfo.html]
+[test_instance_re-parent.html]
+[test_instance_unparent1.html]
+[test_instance_unparent2.html]
+[test_instance_unparent3.html]
+[test_instantiation.html]
+[test_multipleinstanceobjects.html]
+[test_newstreamondestroy.html]
+[test_npn_asynccall.html]
+[test_npn_timers.html]
+[test_npobject_getters.html]
+[test_npruntime_construct.html]
+[test_npruntime_identifiers.html]
+[test_npruntime_npnevaluate.html]
+[test_npruntime_npninvoke.html]
+[test_npruntime_npninvokedefault.html]
+[test_npruntime_npnsetexception.html]
+[test_painting.html]
+[test_pluginstream_asfile.html]
+[test_pluginstream_asfileonly.html]
+[test_pluginstream_err.html]
+[test_pluginstream_geturl.html]
+[test_pluginstream_geturlnotify.html]
+[test_pluginstream_newstream.html]
+[test_pluginstream_post.html]
+[test_pluginstream_poststream.html]
+[test_pluginstream_referer.html]
+[test_pluginstream_seek.html]
+[test_pluginstream_seek_close.html]
+[test_pluginstream_src.html]
+[test_pluginstream_src_dynamic.html]
+[test_pluginstream_src_referer.html]
+[test_propertyAndMethod.html]
+[test_redirect_handling.html]
+[test_secondPlugin.html]
+[test_src_url_change.html]
+[test_streamNotify.html]
+[test_streamatclose.html]
+[test_twostreams.html]
+[test_zero_opacity.html]
--- a/dom/plugins/test/mochitest/moz.build
+++ b/dom/plugins/test/mochitest/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/power/test/Makefile.in
+++ b/dom/power/test/Makefile.in
@@ -1,14 +1,7 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_power_basics.html \
-  test_power_set_cpusleepallowed.html \
-  test_power_set_screen_brightness.html \
-  test_power_set_screen_enabled.html \
-  $(NULL)
-
 MOCHITEST_BROWSER_FILES = \
   browser_wakelocks.js \
   $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/power/test/mochitest.ini
@@ -0,0 +1,6 @@
+[DEFAULT]
+
+[test_power_basics.html]
+[test_power_set_cpusleepallowed.html]
+[test_power_set_screen_brightness.html]
+[test_power_set_screen_enabled.html]
--- a/dom/power/test/moz.build
+++ b/dom/power/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/promise/tests/Makefile.in
+++ b/dom/promise/tests/Makefile.in
@@ -1,9 +1,4 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_promise.html \
-  test_resolve.html \
-  test_bug883683.html \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/promise/tests/mochitest.ini
@@ -0,0 +1,5 @@
+[DEFAULT]
+
+[test_bug883683.html]
+[test_promise.html]
+[test_resolve.html]
--- a/dom/promise/tests/moz.build
+++ b/dom/promise/tests/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/settings/tests/Makefile.in
+++ b/dom/settings/tests/Makefile.in
@@ -1,17 +1,8 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-  test_settings_basics.html \
-  test_settings_events.html \
-  test_settings_onsettingchange.html \
-  test_settings_blobs.html \
-  test_settings_data_uris.html \
-  test_settings_navigator_object.html \
-  $(NULL)
-
 MOCHITEST_CHROME_FILES = \
   test_settings_service.xul \
   test_settings_service.js \
   $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/settings/tests/mochitest.ini
@@ -0,0 +1,8 @@
+[DEFAULT]
+
+[test_settings_basics.html]
+[test_settings_blobs.html]
+[test_settings_data_uris.html]
+[test_settings_events.html]
+[test_settings_navigator_object.html]
+[test_settings_onsettingchange.html]
--- a/dom/settings/tests/moz.build
+++ b/dom/settings/tests/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/src/json/test/Makefile.in
+++ b/dom/src/json/test/Makefile.in
@@ -1,8 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = \
-    test_json.html \
-    $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/src/json/test/mochitest.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[test_json.html]
--- a/dom/src/json/test/moz.build
+++ b/dom/src/json/test/moz.build
@@ -2,8 +2,11 @@
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 MODULE = 'json_test'
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/src/jsurl/test/Makefile.in
+++ b/dom/src/jsurl/test/Makefile.in
@@ -1,18 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES = 	pass.html \
-		fail.html \
-		test_bug351633-1.html \
-		form-submit.html \
-		test_bug351633-2.html \
-		load-stopping-1a.html \
-		load-stopping-1b.html \
-		load-stopping-1c.html \
-		load-stopping-1d.html \
-		test_bug351633-3.html \
-		test_bug351633-4.html \
-		test_bug384981.html \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/src/jsurl/test/mochitest.ini
@@ -0,0 +1,15 @@
+[DEFAULT]
+support-files =
+  fail.html
+  form-submit.html
+  load-stopping-1a.html
+  load-stopping-1b.html
+  load-stopping-1c.html
+  load-stopping-1d.html
+  pass.html
+
+[test_bug351633-1.html]
+[test_bug351633-2.html]
+[test_bug351633-3.html]
+[test_bug351633-4.html]
+[test_bug384981.html]
--- a/dom/src/jsurl/test/moz.build
+++ b/dom/src/jsurl/test/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/tests/mochitest/ajax/jquery/Makefile.in
+++ b/dom/tests/mochitest/ajax/jquery/Makefile.in
@@ -1,9 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES	= \
-	manifest.json \
-	test_jQuery.html \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/ajax/jquery/mochitest.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+support-files = manifest.json
+
+[test_jQuery.html]
--- a/dom/tests/mochitest/ajax/jquery/moz.build
+++ b/dom/tests/mochitest/ajax/jquery/moz.build
@@ -1,7 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += ['dist', 'test']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/tests/mochitest/ajax/mochikit/Makefile.in
+++ b/dom/tests/mochitest/ajax/mochikit/Makefile.in
@@ -1,9 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES	= \
-	test_Mochikit.html \
-	manifest.json \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/ajax/mochikit/mochitest.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+support-files = manifest.json
+
+[test_Mochikit.html]
--- a/dom/tests/mochitest/ajax/mochikit/moz.build
+++ b/dom/tests/mochitest/ajax/mochikit/moz.build
@@ -1,7 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += ['MochiKit', 'tests']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/tests/mochitest/ajax/mochikit/tests/Makefile.in
+++ b/dom/tests/mochitest/ajax/mochikit/tests/Makefile.in
@@ -1,35 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES	= \
-		FakeJSAN.js \
-		cli.js \
-		index.html \
-		standalone.js \
-		test_Base.js \
-		test_Color.js \
-		test_DateTime.js \
-		test_DragAndDrop.js \
-		test_Format.js \
-		test_Iter.js \
-		test_Logging.js \
-		test_MochiKit-Async.json \
-		MochiKit-Async.html \
-		MochiKit-Base.html \
-		MochiKit-Color.html \
-		MochiKit-DOM.html \
-		MochiKit-DateTime.html \
-		MochiKit-DragAndDrop.html \
-		MochiKit-Format.html \
-		MochiKit-Iter.html \
-		MochiKit-JSAN.html \
-		MochiKit-Logging.html \
-		MochiKit-MochiKit.html \
-		MochiKit-Selector.html \
-		MochiKit-Signal.html \
-		MochiKit-Style.html \
-		MochiKit-Visual.html \
-		test_Signal.js \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/ajax/mochikit/tests/mochitest.ini
@@ -0,0 +1,31 @@
+[DEFAULT]
+support-files =
+  FakeJSAN.js
+  MochiKit-Async.html
+  MochiKit-Base.html
+  MochiKit-Color.html
+  MochiKit-DOM.html
+  MochiKit-DateTime.html
+  MochiKit-DragAndDrop.html
+  MochiKit-Format.html
+  MochiKit-Iter.html
+  MochiKit-JSAN.html
+  MochiKit-Logging.html
+  MochiKit-MochiKit.html
+  MochiKit-Selector.html
+  MochiKit-Signal.html
+  MochiKit-Style.html
+  MochiKit-Visual.html
+  cli.js
+  index.html
+  standalone.js
+
+[test_Base.js]
+[test_Color.js]
+[test_DateTime.js]
+[test_DragAndDrop.js]
+[test_Format.js]
+[test_Iter.js]
+[test_Logging.js]
+[test_MochiKit-Async.json]
+[test_Signal.js]
--- a/dom/tests/mochitest/ajax/mochikit/tests/moz.build
+++ b/dom/tests/mochitest/ajax/mochikit/tests/moz.build
@@ -1,7 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += ['SimpleTest']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/tests/mochitest/ajax/offline/Makefile.in
+++ b/dom/tests/mochitest/ajax/offline/Makefile.in
@@ -1,94 +1,6 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES	= \
-	offlineTests.js \
-	test_badManifestMagic.html \
-	test_bypass.html \
-	test_missingFile.html \
-	test_noManifest.html \
-	test_simpleManifest.html \
-	test_identicalManifest.html \
-	test_changingManifest.html \
-	test_refetchManifest.html \
-	test_offlineIFrame.html \
-	test_bug445544.html \
-	test_bug460353.html \
-	test_bug474696.html \
-	test_bug544462.html \
-	test_bug744719.html \
-	744719.cacheManifest \
-	744719.cacheManifest^headers^ \
-	test_bug765203.html \
-	unknownSection.cacheManifest \
-	unknownSection.cacheManifest^headers^ \
-	test_bug744719-cancel.html \
-	744719-cancel.cacheManifest \
-	744719-cancel.cacheManifest^headers^ \
-	subresource744719.html \
-	test_foreign.html \
-	test_fallback.html \
-	test_overlap.html \
-	test_redirectManifest.html \
-	test_redirectUpdateItem.html \
-	overlap.cacheManifest \
-	overlap.cacheManifest^headers^ \
-	test_updatingManifest.html \
-	test_updateCheck.html \
-	445544_part1.html \
-	445544_part2.html \
-	445544.cacheManifest \
-	445544.cacheManifest^headers^ \
-	460353_iframe_nomanifest.html \
-	460353_iframe_ownmanifest.html \
-	460353_iframe_samemanifest.html \
-	test_obsolete.html \
-	obsolete.html \
-	obsoletingManifest.sjs \
-	badManifestMagic.cacheManifest \
-	badManifestMagic.cacheManifest^headers^ \
-	bypass.cacheManifest \
-	bypass.cacheManifest^headers^ \
-	bypass.html \
-	dynamicRedirect.sjs \
-	explicitRedirect.sjs \
-	fallback.html \
-	fallback2.html \
-	fallbackTop.html \
-	fallback.cacheManifest \
-	fallback.cacheManifest^headers^ \
-	foreign1.cacheManifest \
-	foreign1.cacheManifest^headers^ \
-	foreign2.cacheManifest \
-	foreign2.cacheManifest^headers^ \
-	foreign2.html \
-	notonwhitelist.html \
-	onwhitelist.html \
-	onwhitelist.html^headers^ \
-	updatingIframe.sjs \
-	updatingImplicit.html \
-	manifestRedirect.sjs \
-	missingFile.cacheManifest \
-	missingFile.cacheManifest^headers^ \
-	redirects.sjs \
-	simpleManifest.cacheManifest \
-	simpleManifest.cacheManifest^headers^ \
-	wildcardManifest.cacheManifest \
-	wildcardManifest.cacheManifest^headers^ \
-	updatingManifest.sjs \
-	changing1Sec.sjs \
-	changing1Hour.sjs \
-	changingManifest.sjs \
-	offlineChild.html \
-	test_xhtmlManifest.xhtml \
-	test_missingManifest.html \
-	missing.html \
-	jupiter.jpg \
-	test_cancelOfflineCache.html \
-	test_lowDeviceStorage.html \
-	test_lowDeviceStorageDuringUpdate.html \
-	$(NULL)
-
 # test_offlineMode.html disabled due to bug 656943
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/ajax/offline/mochitest.ini
@@ -0,0 +1,88 @@
+[DEFAULT]
+support-files =
+  445544.cacheManifest
+  445544.cacheManifest^headers^
+  445544_part1.html
+  445544_part2.html
+  460353_iframe_nomanifest.html
+  460353_iframe_ownmanifest.html
+  460353_iframe_samemanifest.html
+  744719-cancel.cacheManifest
+  744719-cancel.cacheManifest^headers^
+  744719.cacheManifest
+  744719.cacheManifest^headers^
+  badManifestMagic.cacheManifest
+  badManifestMagic.cacheManifest^headers^
+  bypass.cacheManifest
+  bypass.cacheManifest^headers^
+  bypass.html
+  changing1Hour.sjs
+  changing1Sec.sjs
+  changingManifest.sjs
+  dynamicRedirect.sjs
+  explicitRedirect.sjs
+  fallback.cacheManifest
+  fallback.cacheManifest^headers^
+  fallback.html
+  fallback2.html
+  fallbackTop.html
+  foreign1.cacheManifest
+  foreign1.cacheManifest^headers^
+  foreign2.cacheManifest
+  foreign2.cacheManifest^headers^
+  foreign2.html
+  jupiter.jpg
+  manifestRedirect.sjs
+  missing.html
+  missingFile.cacheManifest
+  missingFile.cacheManifest^headers^
+  notonwhitelist.html
+  obsolete.html
+  obsoletingManifest.sjs
+  offlineChild.html
+  offlineTests.js
+  onwhitelist.html
+  onwhitelist.html^headers^
+  overlap.cacheManifest
+  overlap.cacheManifest^headers^
+  redirects.sjs
+  simpleManifest.cacheManifest
+  simpleManifest.cacheManifest^headers^
+  subresource744719.html
+  unknownSection.cacheManifest
+  unknownSection.cacheManifest^headers^
+  updatingIframe.sjs
+  updatingImplicit.html
+  updatingManifest.sjs
+  wildcardManifest.cacheManifest
+  wildcardManifest.cacheManifest^headers^
+
+[test_badManifestMagic.html]
+[test_bug445544.html]
+[test_bug460353.html]
+[test_bug474696.html]
+[test_bug544462.html]
+[test_bug744719-cancel.html]
+[test_bug744719.html]
+[test_bug765203.html]
+[test_bypass.html]
+[test_cancelOfflineCache.html]
+[test_changingManifest.html]
+[test_fallback.html]
+[test_foreign.html]
+[test_identicalManifest.html]
+[test_lowDeviceStorage.html]
+[test_lowDeviceStorageDuringUpdate.html]
+[test_missingFile.html]
+[test_missingManifest.html]
+[test_noManifest.html]
+[test_obsolete.html]
+[test_offlineIFrame.html]
+[test_overlap.html]
+[test_redirectManifest.html]
+[test_redirectUpdateItem.html]
+[test_refetchManifest.html]
+[test_simpleManifest.html]
+[test_updateCheck.html]
+[test_updatingManifest.html]
+[test_xhtmlManifest.xhtml]
--- a/dom/tests/mochitest/ajax/offline/moz.build
+++ b/dom/tests/mochitest/ajax/offline/moz.build
@@ -1,7 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += ['namespace1', 'namespace2']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/tests/mochitest/ajax/prototype/Makefile.in
+++ b/dom/tests/mochitest/ajax/prototype/Makefile.in
@@ -1,9 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES	= \
-        test_Prototype.html \
-        manifest.json \
-        $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/ajax/prototype/mochitest.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+support-files = manifest.json
+
+[test_Prototype.html]
--- a/dom/tests/mochitest/ajax/prototype/moz.build
+++ b/dom/tests/mochitest/ajax/prototype/moz.build
@@ -1,7 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += ['dist', 'test']
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/tests/mochitest/ajax/scriptaculous/Makefile.in
+++ b/dom/tests/mochitest/ajax/scriptaculous/Makefile.in
@@ -1,9 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES	= \
-	manifest.json \
-	test_Scriptaculous.html \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/ajax/scriptaculous/mochitest.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+support-files = manifest.json
+
+[test_Scriptaculous.html]
--- a/dom/tests/mochitest/ajax/scriptaculous/moz.build
+++ b/dom/tests/mochitest/ajax/scriptaculous/moz.build
@@ -4,8 +4,11 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += [
     'lib',
     'src',
     'test/unit',
 ]
+
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/tests/mochitest/bugs/Makefile.in
+++ b/dom/tests/mochitest/bugs/Makefile.in
@@ -1,142 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES	= \
-		test_bug42976.html \
-		test_bug49312.html \
-		iframe_bug49312.html \
-		test_bug132255.html \
-		test_bug159849.html \
-		test_bug265203.html \
-		test_bug291377.html \
-		file_bug291653.html \
-		test_bug291653.html \
-		test_bug308856.html \
-		test_bug327891.html \
-		test_bug333983.html \
-		test_bug335976.xhtml \
-		test_bug342448.html \
-		test_bug345521.html \
-		test_bug346659.html \
-		bug346659-echoer.html \
-		bug346659-parent.html \
-		bug346659-parent-echoer.html \
-		bug346659-opener.html \
-		bug346659-opener-echoer.html \
-		test_bug351601.html \
-		test_bug370098.html \
-		test_bug377539.html \
-		test_bug384122.html \
-		test_bug389366.html \
-		test_bug393974.html \
-		test_bug394769.html \
-		test_bug396843.html \
-		test_bug397571.html \
-		test_bug400204.html \
-		test_bug404748.html \
-		test_bug411103.html \
-		test_bug414291.html \
-		test_bug430276.html \
-		iframe_bug430276.html \
-		iframe_bug430276-2.html \
-		test_bug440572.html \
-		iframe_bug440572.html \
-		test_bug437361.html \
-		test_bug458091.html \
-		bug458091_child.html \
-		test_bug459848.html \
-		test_bug465263.html \
-		test_bug479143.html \
-		test_bug484775.html \
-		test_bug427744.html \
-		test_bug492925.html \
-		test_bug495219.html \
-		test_bug504862.html \
-		file_bug504862.html \
-		test_bug260264.html \
-		test_bug260264_nested.html \
-		child_bug260264.html \
-		grandchild_bug260264.html \
-		utils_bug260264.js \
-		test_bug529328.html \
-		test_bug531176.html \
-		test_bug531542.html \
-		test_bug456151.html \
-		test_bug534149.html \
-		test_bug541530.html \
-		test_bug558973.html \
-		test_bug563487.html \
-		test_bug545314.html \
-		test_bug548828.html \
-		test_bug562433.html \
-		test_DOMWindowCreated_chromeonly.html \
-		test_bug581072.html \
-		test_bug583225.html \
-		test_bug585240.html \
-		test_bug585819.html \
-		test_bug369306.html \
-		test_bug61098.html \
-		test_bug597809.html \
-		test_bug406375.html \
-		file_bug406375.html \
-		test_bug593174.html \
-		file_bug593174_1.html \
-		file_bug593174_2.html \
-		test_bug612267.html \
-		test_bug617296.html \
-		test_bug620947.html \
-		test_bug622361.html \
-		test_bug633133.html \
-		test_bug641552.html \
-		test_bug642026.html \
-		test_bug648465.html \
-		test_bug654137.html \
-		test_bug664737.html \
-		test_bug684544.html \
-		test_bug698551.html \
-		test_window_bar.html \
-		file_window_bar.html \
-		test_devicemotion_multiple_listeners.html \
-		devicemotion_outer.html \
-		devicemotion_inner.html \
-		test_bug698061.html \
-		test_bug707749.html \
-		test_bug691707.html \
-		test_bug304459.html \
-		iframe_bug304459-1.html \
-		iframe_bug304459-2.html \
-		test_bug38959.html \
-		iframe_bug38959-1.html \
-		iframe_bug38959-2.html \
-		test_onerror_message.html \
-		test_bug735237.html \
-		test_bug739038.html \
-		test_bug740811.html \
-		test_bug743615.html \
-		utils_bug743615.js \
-		worker_bug743615.js \
-		test_bug750051.html \
-		test_bug755320.html \
-		test_bug777628.html \
-		test_bug665548.html \
-		test_bug809290.html \
-		file_bug809290_b1.html \
-		file_bug809290_b2.html \
-		file_bug809290_c.html \
-		file_empty.html \
-		test_domparser_after_blank.html \
-		iframe_domparser_after_blank.html \
-		test_sizetocontent_clamp.html \
-		test_protochains.html \
-		test_bug817476.html \
-		test_bug823173.html \
-		test_bug850517.html \
-		test_bug848088.html \
-		test_resize_move_windows.html \
-		test_bug862540.html \
-		test_bug857555.html \
-		test_bug876098.html \
-		test_toJSON.html \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/bugs/mochitest.ini
@@ -0,0 +1,138 @@
+[DEFAULT]
+support-files =
+  bug346659-echoer.html
+  bug346659-opener-echoer.html
+  bug346659-opener.html
+  bug346659-parent-echoer.html
+  bug346659-parent.html
+  bug458091_child.html
+  child_bug260264.html
+  devicemotion_inner.html
+  devicemotion_outer.html
+  file_bug291653.html
+  file_bug406375.html
+  file_bug504862.html
+  file_bug593174_1.html
+  file_bug593174_2.html
+  file_bug809290_b1.html
+  file_bug809290_b2.html
+  file_bug809290_c.html
+  file_empty.html
+  file_window_bar.html
+  grandchild_bug260264.html
+  iframe_bug304459-1.html
+  iframe_bug304459-2.html
+  iframe_bug38959-1.html
+  iframe_bug38959-2.html
+  iframe_bug430276-2.html
+  iframe_bug430276.html
+  iframe_bug440572.html
+  iframe_bug49312.html
+  iframe_domparser_after_blank.html
+  utils_bug260264.js
+  utils_bug743615.js
+  worker_bug743615.js
+
+[test_DOMWindowCreated_chromeonly.html]
+[test_bug132255.html]
+[test_bug159849.html]
+[test_bug260264.html]
+[test_bug260264_nested.html]
+[test_bug265203.html]
+[test_bug291377.html]
+[test_bug291653.html]
+[test_bug304459.html]
+[test_bug308856.html]
+[test_bug327891.html]
+[test_bug333983.html]
+[test_bug335976.xhtml]
+[test_bug342448.html]
+[test_bug345521.html]
+[test_bug346659.html]
+[test_bug351601.html]
+[test_bug369306.html]
+[test_bug370098.html]
+[test_bug377539.html]
+[test_bug384122.html]
+[test_bug389366.html]
+[test_bug38959.html]
+[test_bug393974.html]
+[test_bug394769.html]
+[test_bug396843.html]
+[test_bug397571.html]
+[test_bug400204.html]
+[test_bug404748.html]
+[test_bug406375.html]
+[test_bug411103.html]
+[test_bug414291.html]
+[test_bug427744.html]
+[test_bug42976.html]
+[test_bug430276.html]
+[test_bug437361.html]
+[test_bug440572.html]
+[test_bug456151.html]
+[test_bug458091.html]
+[test_bug459848.html]
+[test_bug465263.html]
+[test_bug479143.html]
+[test_bug484775.html]
+[test_bug492925.html]
+[test_bug49312.html]
+[test_bug495219.html]
+[test_bug504862.html]
+[test_bug529328.html]
+[test_bug531176.html]
+[test_bug531542.html]
+[test_bug534149.html]
+[test_bug541530.html]
+[test_bug545314.html]
+[test_bug548828.html]
+[test_bug558973.html]
+[test_bug562433.html]
+[test_bug563487.html]
+[test_bug581072.html]
+[test_bug583225.html]
+[test_bug585240.html]
+[test_bug585819.html]
+[test_bug593174.html]
+[test_bug597809.html]
+[test_bug61098.html]
+[test_bug612267.html]
+[test_bug617296.html]
+[test_bug620947.html]
+[test_bug622361.html]
+[test_bug633133.html]
+[test_bug641552.html]
+[test_bug642026.html]
+[test_bug648465.html]
+[test_bug654137.html]
+[test_bug664737.html]
+[test_bug665548.html]
+[test_bug684544.html]
+[test_bug691707.html]
+[test_bug698061.html]
+[test_bug698551.html]
+[test_bug707749.html]
+[test_bug735237.html]
+[test_bug739038.html]
+[test_bug740811.html]
+[test_bug743615.html]
+[test_bug750051.html]
+[test_bug755320.html]
+[test_bug777628.html]
+[test_bug809290.html]
+[test_bug817476.html]
+[test_bug823173.html]
+[test_bug848088.html]
+[test_bug850517.html]
+[test_bug857555.html]
+[test_bug862540.html]
+[test_bug876098.html]
+[test_devicemotion_multiple_listeners.html]
+[test_domparser_after_blank.html]
+[test_onerror_message.html]
+[test_protochains.html]
+[test_resize_move_windows.html]
+[test_sizetocontent_clamp.html]
+[test_toJSON.html]
+[test_window_bar.html]
--- a/dom/tests/mochitest/bugs/moz.build
+++ b/dom/tests/mochitest/bugs/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/tests/mochitest/crypto/Makefile.in
+++ b/dom/tests/mochitest/crypto/Makefile.in
@@ -1,16 +1,12 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
 # You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES := \
-  test_getRandomValues.html \
-  $(NULL)
-
 ifndef MOZ_DISABLE_CRYPTOLEGACY
 MOCHITEST_FILES += \
   test_legacy.html \
   $(NULL)
 else
 MOCHITEST_FILES += \
   test_no_legacy.html \
   $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/crypto/mochitest.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[test_getRandomValues.html]
--- a/dom/tests/mochitest/crypto/moz.build
+++ b/dom/tests/mochitest/crypto/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/tests/mochitest/dom-level0/Makefile.in
+++ b/dom/tests/mochitest/dom-level0/Makefile.in
@@ -1,22 +1,5 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES	= \
-		test_crossdomainprops.html \
-		file_crossdomainprops_inner.html \
-		test_setting_document.domain_to_shortened_ipaddr.html \
-		child_ip_address.html \
-		test_setting_document.domain_idn.html \
-		idn_child.html \
-		file_location.html \
-		test_location.html \
-		test_innerWidthHeight_script.html \
-		innerWidthHeight_script.html \
-		test_location_setters.html \
-		test_location_getters.html \
-		test_location_framed.html \
-		test_location_sandboxed.html \
-		framed_location.html \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/dom-level0/mochitest.ini
@@ -0,0 +1,18 @@
+[DEFAULT]
+support-files =
+  child_ip_address.html
+  file_crossdomainprops_inner.html
+  file_location.html
+  framed_location.html
+  idn_child.html
+  innerWidthHeight_script.html
+
+[test_crossdomainprops.html]
+[test_innerWidthHeight_script.html]
+[test_location.html]
+[test_location_framed.html]
+[test_location_getters.html]
+[test_location_sandboxed.html]
+[test_location_setters.html]
+[test_setting_document.domain_idn.html]
+[test_setting_document.domain_to_shortened_ipaddr.html]
--- a/dom/tests/mochitest/dom-level0/moz.build
+++ b/dom/tests/mochitest/dom-level0/moz.build
@@ -1,6 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+MOCHITEST_MANIFESTS += ['mochitest.ini']
+
--- a/dom/tests/mochitest/dom-level1-core/Makefile.in
+++ b/dom/tests/mochitest/dom-level1-core/Makefile.in
@@ -1,541 +1,8 @@
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-MOCHITEST_FILES	= \
-		DOMTestCase.js \
-		activity-home.css \
-		exclusions.js \
-		test_attrcreatedocumentfragment.html \
-		test_attrcreatetextnode.html \
-		test_attrcreatetextnode2.html \
-		test_attrdefaultvalue.html \
-		test_attreffectivevalue.html \
-		test_attrentityreplacement.html \
-		test_attrname.html \
-		test_attrnextsiblingnull.html \
-		test_attrnotspecifiedvalue.html \
-		test_attrparentnodenull.html \
-		test_attrprevioussiblingnull.html \
-		test_attrremovechild1.html \
-		test_attrreplacechild1.html \
-		test_attrsetvaluenomodificationallowederr.html \
-		test_attrsetvaluenomodificationallowederrEE.html \
-		test_attrspecifiedvalue.html \
-		test_attrspecifiedvaluechanged.html \
-		test_attrspecifiedvalueremove.html \
-		test_cdatasectiongetdata.html \
-		test_cdatasectionnormalize.html \
-		test_characterdataappenddata.html \
-		test_characterdataappenddatagetdata.html \
-		test_characterdataappenddatanomodificationallowederr.html \
-		test_characterdataappenddatanomodificationallowederrEE.html \
-		test_characterdatadeletedatabegining.html \
-		test_characterdatadeletedataend.html \
-		test_characterdatadeletedataexceedslength.html \
-		test_characterdatadeletedatagetlengthanddata.html \
-		test_characterdatadeletedatamiddle.html \
-		test_characterdatadeletedatanomodificationallowederr.html \
-		test_characterdatadeletedatanomodificationallowederrEE.html \
-		test_characterdatagetdata.html \
-		test_characterdatagetlength.html \
-		test_characterdataindexsizeerrdeletedatacountnegative.html \
-		test_characterdataindexsizeerrdeletedataoffsetgreater.html \
-		test_characterdataindexsizeerrdeletedataoffsetnegative.html \
-		test_characterdataindexsizeerrinsertdataoffsetgreater.html \
-		test_characterdataindexsizeerrinsertdataoffsetnegative.html \
-		test_characterdataindexsizeerrreplacedatacountnegative.html \
-		test_characterdataindexsizeerrreplacedataoffsetgreater.html \
-		test_characterdataindexsizeerrreplacedataoffsetnegative.html \
-		test_characterdataindexsizeerrsubstringcountnegative.html \
-		test_characterdataindexsizeerrsubstringnegativeoffset.html \
-		test_characterdataindexsizeerrsubstringoffsetgreater.html \
-		test_characterdatainsertdatabeginning.html \
-		test_characterdatainsertdataend.html \
-		test_characterdatainsertdatamiddle.html \
-		test_characterdatainsertdatanomodificationallowederr.html \
-		test_characterdatainsertdatanomodificationallowederrEE.html \
-		test_characterdatareplacedatabegining.html \
-		test_characterdatareplacedataend.html \
-		test_characterdatareplacedataexceedslengthofarg.html \
-		test_characterdatareplacedataexceedslengthofdata.html \
-		test_characterdatareplacedatamiddle.html \
-		test_characterdatareplacedatanomodificationallowederr.html \
-		test_characterdatareplacedatanomodificationallowederrEE.html \
-		test_characterdatasetdatanomodificationallowederr.html \
-		test_characterdatasetdatanomodificationallowederrEE.html \
-		test_characterdatasetnodevalue.html \
-		test_characterdatasubstringexceedsvalue.html \
-		test_characterdatasubstringvalue.html \
-		test_commentgetcomment.html \
-		test_documentcreateattribute.html \
-		test_documentcreatecdatasection.html \
-		test_documentcreatecomment.html \
-		test_documentcreatedocumentfragment.html \
-		test_documentcreateelement.html \
-		test_documentcreateelementcasesensitive.html \
-		test_documentcreateelementdefaultattr.html \
-		test_documentcreateentityreference.html \
-		test_documentcreateentityreferenceknown.html \
-		test_documentcreateprocessinginstruction.html \
-		test_documentcreatetextnode.html \
-		test_documentgetdoctype.html \
-		test_documentgetdoctypenodtd.html \
-		test_documentgetelementsbytagnamelength.html \
-		test_documentgetelementsbytagnametotallength.html \
-		test_documentgetelementsbytagnamevalue.html \
-		test_documentgetimplementation.html \
-		test_documentgetrootnode.html \
-		test_documentinvalidcharacterexceptioncreateattribute.html \
-		test_documentinvalidcharacterexceptioncreateelement.html \
-		test_documentinvalidcharacterexceptioncreateentref.html \
-		test_documentinvalidcharacterexceptioncreateentref1.html \
-		test_documentinvalidcharacterexceptioncreatepi.html \
-		test_documentinvalidcharacterexceptioncreatepi1.html \
-		test_documenttypegetdoctype.html \
-		test_documenttypegetentities.html \
-		test_documenttypegetentitieslength.html \
-		test_documenttypegetentitiestype.html \
-		test_documenttypegetnotations.html \
-		test_documenttypegetnotationstype.html \
-		test_domimplementationfeaturenoversion.html \
-		test_domimplementationfeaturenull.html \
-		test_domimplementationfeaturexml.html \
-		test_elementaddnewattribute.html \
-		test_elementassociatedattribute.html \
-		test_elementchangeattributevalue.html \
-		test_elementcreatenewattribute.html \
-		test_elementgetattributenode.html \
-		test_elementgetattributenodenull.html \
-		test_elementgetelementempty.html \
-		test_elementgetelementsbytagname.html \
-		test_elementgetelementsbytagnameaccessnodelist.html \
-		test_elementgetelementsbytagnamenomatch.html \
-		test_elementgetelementsbytagnamespecialvalue.html \
-		test_elementgettagname.html \
-		test_elementinuseattributeerr.html \
-		test_elementinvalidcharacterexception.html \
-		test_elementnormalize.html \
-		test_elementnotfounderr.html \
-		test_elementremoveattribute.html \
-		test_elementremoveattributeaftercreate.html \
-		test_elementremoveattributenode.html \
-		test_elementremoveattributenodenomodificationallowederr.html \
-		test_elementremoveattributenodenomodificationallowederrEE.html \
-		test_elementremoveattributenomodificationallowederr.html \
-		test_elementremoveattributenomodificationallowederrEE.html \
-		test_elementremoveattributerestoredefaultvalue.html \
-		test_elementreplaceattributewithself.html \
-		test_elementreplaceexistingattribute.html \
-		test_elementreplaceexistingattributegevalue.html \
-		test_elementretrieveallattributes.html \
-		test_elementretrieveattrvalue.html \
-		test_elementretrievetagname.html \
-		test_elementsetattributenodenomodificationallowederr.html \
-		test_elementsetattributenodenomodificationallowederrEE.html \
-		test_elementsetattributenodenull.html \
-		test_elementsetattributenomodificationallowederr.html \
-		test_elementsetattributenomodificationallowederrEE.html \
-		test_elementwrongdocumenterr.html \
-		test_entitygetentityname.html \
-		test_entitygetpublicid.html \
-		test_entitygetpublicidnull.html \
-		test_hc_attrappendchild1.html \
-		test_hc_attrappendchild2.html \
-		test_hc_attrappendchild3.html \
-		test_hc_attrappendchild4.html \
-		test_hc_attrappendchild5.html \
-		test_hc_attrappendchild6.html \
-		test_hc_attrchildnodes1.html \
-		test_hc_attrchildnodes2.html \
-		test_hc_attrclonenode1.html \
-		test_hc_attrcreatedocumentfragment.html \
-		test_hc_attrcreatetextnode.html \
-		test_hc_attrcreatetextnode2.html \
-		test_hc_attreffectivevalue.html \
-		test_hc_attrfirstchild.html \
-		test_hc_attrgetvalue1.html \
-		test_hc_attrgetvalue2.html \
-		test_hc_attrhaschildnodes.html \
-		test_hc_attrinsertbefore1.html \
-		test_hc_attrinsertbefore2.html \
-		test_hc_attrinsertbefore3.html \
-		test_hc_attrinsertbefore4.html \
-		test_hc_attrinsertbefore5.html \
-		test_hc_attrinsertbefore6.html \
-		test_hc_attrinsertbefore7.html \
-		test_hc_attrlastchild.html \
-		test_hc_attrname.html \
-		test_hc_attrnextsiblingnull.html \
-		test_hc_attrnormalize.html \
-		test_hc_attrparentnodenull.html \
-		test_hc_attrprevioussiblingnull.html \
-		test_hc_attrremovechild1.html \
-		test_hc_attrremovechild2.html \
-		test_hc_attrreplacechild1.html \
-		test_hc_attrreplacechild2.html \
-		test_hc_attrsetvalue1.html \
-		test_hc_attrsetvalue2.html \
-		test_hc_attrspecifiedvalue.html \
-		test_hc_attrspecifiedvaluechanged.html \
-		test_hc_characterdataappenddata.html \
-		test_hc_characterdataappenddatagetdata.html \
-		test_hc_characterdatadeletedatabegining.html \
-		test_hc_characterdatadeletedataend.html \
-		test_hc_characterdatadeletedataexceedslength.html \
-		test_hc_characterdatadeletedatagetlengthanddata.html \
-		test_hc_characterdatadeletedatamiddle.html \
-		test_hc_characterdatagetdata.html \
-		test_hc_characterdatagetlength.html \
-		test_hc_characterdataindexsizeerrdeletedatacountnegative.html \
-		test_hc_characterdataindexsizeerrdeletedataoffsetgreater.html \
-		test_hc_characterdataindexsizeerrdeletedataoffsetnegative.html \
-		test_hc_characterdataindexsizeerrinsertdataoffsetgreater.html \
-		test_hc_characterdataindexsizeerrinsertdataoffsetnegative.html \
-		test_hc_characterdataindexsizeerrreplacedatacountnegative.html \
-		test_hc_characterdataindexsizeerrreplacedataoffsetgreater.html \
-		test_hc_characterdataindexsizeerrreplacedataoffsetnegative.html \
-		test_hc_characterdataindexsizeerrsubstringcountnegative.html \
-		test_hc_characterdataindexsizeerrsubstringnegativeoffset.html \
-		test_hc_characterdataindexsizeerrsubstringoffsetgreater.html \
-		test_hc_characterdatainsertdatabeginning.html \
-		test_hc_characterdatainsertdataend.html \
-		test_hc_characterdatainsertdatamiddle.html \
-		test_hc_characterdatareplacedatabegining.html \
-		test_hc_characterdatareplacedataend.html \
-		test_hc_characterdatareplacedataexceedslengthofarg.html \
-		test_hc_characterdatareplacedataexceedslengthofdata.html \
-		test_hc_characterdatareplacedatamiddle.html \
-		test_hc_characterdatasetnodevalue.html \
-		test_hc_characterdatasubstringexceedsvalue.html \
-		test_hc_characterdatasubstringvalue.html \
-		test_hc_commentgetcomment.html \
-		test_hc_documentcreateattribute.html \
-		test_hc_documentcreatecomment.html \
-		test_hc_documentcreatedocumentfragment.html \
-		test_hc_documentcreateelement.html \
-		test_hc_documentcreateelementcasesensitive.html \
-		test_hc_documentcreatetextnode.html \
-		test_hc_documentgetdoctype.html \
-		test_hc_documentgetelementsbytagnamelength.html \
-		test_hc_documentgetelementsbytagnametotallength.html \
-		test_hc_documentgetelementsbytagnamevalue.html \
-		test_hc_documentgetimplementation.html \
-		test_hc_documentgetrootnode.html \
-		test_hc_documentinvalidcharacterexceptioncreateattribute.html \
-		test_hc_documentinvalidcharacterexceptioncreateattribute1.html \
-		test_hc_documentinvalidcharacterexceptioncreateelement.html \
-		test_hc_documentinvalidcharacterexceptioncreateelement1.html \
-		test_hc_domimplementationfeaturenoversion.html \
-		test_hc_domimplementationfeaturenull.html \
-		test_hc_domimplementationfeaturexml.html \
-		test_hc_elementaddnewattribute.html \
-		test_hc_elementassociatedattribute.html \
-		test_hc_elementchangeattributevalue.html \
-		test_hc_elementcreatenewattribute.html \
-		test_hc_elementgetattributenode.html \
-		test_hc_elementgetattributenodenull.html \
-		test_hc_elementgetelementempty.html \
-		test_hc_elementgetelementsbytagname.html \
-		test_hc_elementgetelementsbytagnameaccessnodelist.html \
-		test_hc_elementgetelementsbytagnamenomatch.html \
-		test_hc_elementgetelementsbytagnamespecialvalue.html \
-		test_hc_elementgettagname.html \
-		test_hc_elementinuseattributeerr.html \
-		test_hc_elementinvalidcharacterexception.html \
-		test_hc_elementinvalidcharacterexception1.html \
-		test_hc_elementnormalize.html \
-		test_hc_elementnormalize2.html \
-		test_hc_elementnotfounderr.html \
-		test_hc_elementremoveattribute.html \
-		test_hc_elementremoveattributeaftercreate.html \
-		test_hc_elementremoveattributenode.html \
-		test_hc_elementreplaceattributewithself.html \
-		test_hc_elementreplaceexistingattribute.html \
-		test_hc_elementreplaceexistingattributegevalue.html \
-		test_hc_elementretrieveallattributes.html \
-		test_hc_elementretrieveattrvalue.html \
-		test_hc_elementretrievetagname.html \
-		test_hc_elementsetattributenodenull.html \
-		test_hc_elementwrongdocumenterr.html \
-		test_hc_entitiesremovenameditem1.html \
-		test_hc_entitiessetnameditem1.html \
-		test_hc_namednodemapchildnoderange.html \
-		test_hc_namednodemapgetnameditem.html \
-		test_hc_namednodemapinuseattributeerr.html \
-		test_hc_namednodemapnotfounderr.html \
-		test_hc_namednodemapnumberofnodes.html \
-		test_hc_namednodemapremovenameditem.html \
-		test_hc_namednodemapreturnattrnode.html \
-		test_hc_namednodemapreturnfirstitem.html \
-		test_hc_namednodemapreturnlastitem.html \
-		test_hc_namednodemapreturnnull.html \
-		test_hc_namednodemapsetnameditem.html \
-		test_hc_namednodemapsetnameditemreturnvalue.html \
-		test_hc_namednodemapsetnameditemthatexists.html \
-		test_hc_namednodemapsetnameditemwithnewvalue.html \
-		test_hc_namednodemapwrongdocumenterr.html \
-		test_hc_nodeappendchild.html \
-		test_hc_nodeappendchildchildexists.html \
-		test_hc_nodeappendchilddocfragment.html \
-		test_hc_nodeappendchildgetnodename.html \
-		test_hc_nodeappendchildinvalidnodetype.html \
-		test_hc_nodeappendchildnewchilddiffdocument.html \
-		test_hc_nodeappendchildnodeancestor.html \
-		test_hc_nodeattributenodeattribute.html \
-		test_hc_nodeattributenodename.html \
-		test_hc_nodeattributenodetype.html \
-		test_hc_nodeattributenodevalue.html \
-		test_hc_nodechildnodes.html \
-		test_hc_nodechildnodesappendchild.html \
-		test_hc_nodechildnodesempty.html \
-		test_hc_nodecloneattributescopied.html \
-		test_hc_nodeclonefalsenocopytext.html \
-		test_hc_nodeclonegetparentnull.html \
-		test_hc_nodeclonenodefalse.html \
-		test_hc_nodeclonenodetrue.html \
-		test_hc_nodeclonetruecopytext.html \
-		test_hc_nodecommentnodeattributes.html \
-		test_hc_nodecommentnodename.html \
-		test_hc_nodecommentnodetype.html \
-		test_hc_nodecommentnodevalue.html \
-		test_hc_nodedocumentfragmentnodename.html \
-		test_hc_nodedocumentfragmentnodetype.html \
-		test_hc_nodedocumentfragmentnodevalue.html \
-		test_hc_nodedocumentnodeattribute.html \
-		test_hc_nodedocumentnodename.html \
-		test_hc_nodedocumentnodetype.html \
-		test_hc_nodedocumentnodevalue.html \
-		test_hc_nodeelementnodeattributes.html \
-		test_hc_nodeelementnodename.html \
-		test_hc_nodeelementnodetype.html \
-		test_hc_nodeelementnodevalue.html \
-		test_hc_nodegetfirstchild.html \
-		test_hc_nodegetfirstchildnull.html \
-		test_hc_nodegetlastchild.html \
-		test_hc_nodegetlastchildnull.html \
-		test_hc_nodegetnextsibling.html \
-		test_hc_nodegetnextsiblingnull.html \
-		test_hc_nodegetownerdocument.html \
-		test_hc_nodegetownerdocumentnull.html \
-		test_hc_nodegetprevioussibling.html \
-		test_hc_nodegetprevioussiblingnull.html \
-		test_hc_nodehaschildnodes.html \
-		test_hc_nodehaschildnodesfalse.html \
-		test_hc_nodeinsertbefore.html \
-		test_hc_nodeinsertbeforedocfragment.html \
-		test_hc_nodeinsertbeforeinvalidnodetype.html \
-		test_hc_nodeinsertbeforenewchilddiffdocument.html \
-		test_hc_nodeinsertbeforenewchildexists.html \
-		test_hc_nodeinsertbeforenodeancestor.html \
-		test_hc_nodeinsertbeforenodename.html \
-		test_hc_nodeinsertbeforerefchildnonexistent.html \
-		test_hc_nodeinsertbeforerefchildnull.html \
-		test_hc_nodelistindexequalzero.html \
-		test_hc_nodelistindexgetlength.html \
-		test_hc_nodelistindexgetlengthofemptylist.html \
-		test_hc_nodelistindexnotzero.html \
-		test_hc_nodelistreturnfirstitem.html \
-		test_hc_nodelistreturnlastitem.html \
-		test_hc_nodelisttraverselist.html \
-		test_hc_nodeparentnode.html \
-		test_hc_nodeparentnodenull.html \
-		test_hc_noderemovechild.html \
-		test_hc_noderemovechildgetnodename.html \
-		test_hc_noderemovechildnode.html \
-		test_hc_noderemovechildoldchildnonexistent.html \
-		test_hc_nodereplacechild.html \
-		test_hc_nodereplacechildinvalidnodetype.html \
-		test_hc_nodereplacechildnewchilddiffdocument.html \
-		test_hc_nodereplacechildnewchildexists.html \
-		test_hc_nodereplacechildnodeancestor.html \
-		test_hc_nodereplacechildnodename.html \
-		test_hc_nodereplacechildoldchildnonexistent.html \
-		test_hc_nodetextnodeattribute.html \
-		test_hc_nodetextnodename.html \
-		test_hc_nodetextnodetype.html \
-		test_hc_nodetextnodevalue.html \
-		test_hc_nodevalue01.html \
-		test_hc_nodevalue02.html \
-		test_hc_nodevalue03.html \
-		test_hc_nodevalue04.html \
-		test_hc_nodevalue05.html \
-		test_hc_nodevalue06.html \
-		test_hc_nodevalue07.html \
-		test_hc_nodevalue08.html \
-		test_hc_notationsremovenameditem1.html \
-		test_hc_notationssetnameditem1.html \
-		test_hc_textindexsizeerrnegativeoffset.html \
-		test_hc_textindexsizeerroffsetoutofbounds.html \
-		test_hc_textparseintolistofelements.html \
-		test_hc_textsplittextfour.html \
-		test_hc_textsplittextone.html \
-		test_hc_textsplittextthree.html \
-		test_hc_textsplittexttwo.html \
-		test_hc_textwithnomarkup.html \
-		test_namednodemapchildnoderange.html \
-		test_namednodemapgetnameditem.html \
-		test_namednodemapinuseattributeerr.html \
-		test_namednodemapnotfounderr.html \
-		test_namednodemapnumberofnodes.html \
-		test_namednodemapremovenameditem.html \
-		test_namednodemapremovenameditemgetvalue.html \
-		test_namednodemapremovenameditemreturnnodevalue.html \
-		test_namednodemapreturnattrnode.html \
-		test_namednodemapreturnfirstitem.html \
-		test_namednodemapreturnlastitem.html \
-		test_namednodemapreturnnull.html \
-		test_namednodemapsetnameditem.html \
-		test_namednodemapsetnameditemreturnvalue.html \
-		test_namednodemapsetnameditemthatexists.html \
-		test_namednodemapsetnameditemwithnewvalue.html \
-		test_namednodemapwrongdocumenterr.html \
-		test_nodeappendchild.html \
-		test_nodeappendchildchildexists.html \
-		test_nodeappendchilddocfragment.html \
-		test_nodeappendchildgetnodename.html \
-		test_nodeappendchildinvalidnodetype.html \
-		test_nodeappendchildnewchilddiffdocument.html \
-		test_nodeappendchildnodeancestor.html \
-		test_nodeappendchildnomodificationallowederr.html \
-		test_nodeappendchildnomodificationallowederrEE.html \
-		test_nodeattributenodeattribute.html \
-		test_nodeattributenodename.html \
-		test_nodeattributenodetype.html \
-		test_nodeattributenodevalue.html \
-		test_nodecdatasectionnodeattribute.html \
-		test_nodecdatasectionnodename.html \
-		test_nodecdatasectionnodetype.html \
-		test_nodecdatasectionnodevalue.html \
-		test_nodechildnodes.html \
-		test_nodechildnodesappendchild.html \
-		test_nodechildnodesempty.html \
-		test_nodecloneattributescopied.html \
-		test_nodeclonefalsenocopytext.html \
-		test_nodeclonegetparentnull.html \
-		test_nodeclonenodefalse.html \
-		test_nodeclonenodetrue.html \
-		test_nodeclonetruecopytext.html \
-		test_nodecommentnodeattributes.html \
-		test_nodecommentnodename.html \
-		test_nodecommentnodetype.html \
-		test_nodecommentnodevalue.html \
-		test_nodedocumentfragmentnodename.html \
-		test_nodedocumentfragmentnodetype.html \
-		test_nodedocumentfragmentnodevalue.html \
-		test_nodedocumentnodeattribute.html \
-		test_nodedocumentnodename.html \
-		test_nodedocumentnodetype.html \
-		test_nodedocumentnodevalue.html \
-		test_nodedocumenttypenodename.html \
-		test_nodedocumenttypenodetype.html \
-		test_nodedocumenttypenodevalue.html \
-		test_nodeelementnodeattributes.html \
-		test_nodeelementnodename.html \
-		test_nodeelementnodetype.html \
-		test_nodeelementnodevalue.html \
-		test_nodeentitynodeattributes.html \
-		test_nodeentitynodename.html \
-		test_nodeentitynodetype.html \
-		test_nodeentitynodevalue.html \
-		test_nodeentityreferencenodeattributes.html \
-		test_nodeentityreferencenodename.html \
-		test_nodeentityreferencenodetype.html \
-		test_nodeentityreferencenodevalue.html \
-		test_nodeentitysetnodevalue.html \
-		test_nodegetfirstchild.html \
-		test_nodegetfirstchildnull.html \
-		test_nodegetlastchild.html \
-		test_nodegetlastchildnull.html \
-		test_nodegetnextsibling.html \
-		test_nodegetnextsiblingnull.html \
-		test_nodegetownerdocument.html \
-		test_nodegetownerdocumentnull.html \
-		test_nodegetprevioussibling.html \
-		test_nodegetprevioussiblingnull.html \
-		test_nodehaschildnodes.html \
-		test_nodehaschildnodesfalse.html \
-		test_nodeinsertbefore.html \
-		test_nodeinsertbeforedocfragment.html \
-		test_nodeinsertbeforeinvalidnodetype.html \
-		test_nodeinsertbeforenewchilddiffdocument.html \
-		test_nodeinsertbeforenewchildexists.html \
-		test_nodeinsertbeforenodeancestor.html \
-		test_nodeinsertbeforenodename.html \
-		test_nodeinsertbeforenomodificationallowederr.html \
-		test_nodeinsertbeforenomodificationallowederrEE.html \
-		test_nodeinsertbeforerefchildnonexistent.html \
-		test_nodeinsertbeforerefchildnull.html \
-		test_nodelistindexequalzero.html \
-		test_nodelistindexgetlength.html \
-		test_nodelistindexgetlengthofemptylist.html \
-		test_nodelistindexnotzero.html \
-		test_nodelistreturnfirstitem.html \
-		test_nodelistreturnlastitem.html \
-		test_nodelisttraverselist.html \
-		test_nodenotationnodeattributes.html \
-		test_nodenotationnodename.html \
-		test_nodenotationnodetype.html \
-		test_nodenotationnodevalue.html \
-		test_nodeparentnode.html \
-		test_nodeparentnodenull.html \
-		test_nodeprocessinginstructionnodeattributes.html \
-		test_nodeprocessinginstructionnodename.html \
-		test_nodeprocessinginstructionnodetype.html \
-		test_nodeprocessinginstructionnodevalue.html \
-		test_nodeprocessinginstructionsetnodevalue.html \
-		test_noderemovechild.html \
-		test_noderemovechildgetnodename.html \
-		test_noderemovechildnode.html \
-		test_noderemovechildnomodificationallowederr.html \
-		test_noderemovechildnomodificationallowederrEE.html \
-		test_noderemovechildoldchildnonexistent.html \
-		test_nodereplacechild.html \
-		test_nodereplacechildinvalidnodetype.html \
-		test_nodereplacechildnewchilddiffdocument.html \
-		test_nodereplacechildnewchildexists.html \
-		test_nodereplacechildnodeancestor.html \
-		test_nodereplacechildnodename.html \
-		test_nodereplacechildnomodificationallowederr.html \
-		test_nodereplacechildnomodificationallowederrEE.html \
-		test_nodereplacechildoldchildnonexistent.html \
-		test_nodesetnodevaluenomodificationallowederr.html \
-		test_nodesetnodevaluenomodificationallowederrEE.html \
-		test_nodetextnodeattribute.html \
-		test_nodetextnodename.html \
-		test_nodetextnodetype.html \
-		test_nodetextnodevalue.html \
-		test_nodevalue01.html \
-		test_nodevalue02.html \
-		test_nodevalue03.html \
-		test_nodevalue04.html \
-		test_nodevalue05.html \
-		test_nodevalue06.html \
-		test_nodevalue07.html \
-		test_nodevalue08.html \
-		test_nodevalue09.html \
-		test_notationgetnotationname.html \
-		test_notationgetpublicid.html \
-		test_notationgetpublicidnull.html \
-		test_notationgetsystemid.html \
-		test_notationgetsystemidnull.html \
-		test_processinginstructiongetdata.html \
-		test_processinginstructiongettarget.html \
-		test_processinginstructionsetdatanomodificationallowederr.html \
-		test_PIsetdatanomodificationallowederrEE.html \
-		test_textindexsizeerrnegativeoffset.html \
-		test_textindexsizeerroffsetoutofbounds.html \
-		test_textparseintolistofelements.html \
-		test_textsplittextfour.html \
-		test_textsplittextnomodificationallowederr.html \
-		test_textsplittextnomodificationallowederrEE.html \
-		test_textsplittextone.html \
-		test_textsplittextthree.html \
-		test_textsplittexttwo.html \
-		test_textwithnomarkup.html \
-		$(NULL)
-
 # test_PIsetdatanomodificationallowederrEE.html was originally
 # test_processinginstructionsetdatanomodificationallowederrEE.html, but that
 # name is too long for Windows little brain.
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/dom-level1-core/mochitest.ini
@@ -0,0 +1,533 @@
+[DEFAULT]
+support-files =
+  DOMTestCase.js
+  activity-home.css
+  exclusions.js
+
+[test_PIsetdatanomodificationallowederrEE.html]
+[test_attrcreatedocumentfragment.html]
+[test_attrcreatetextnode.html]
+[test_attrcreatetextnode2.html]
+[test_attrdefaultvalue.html]
+[test_attreffectivevalue.html]
+[test_attrentityreplacement.html]
+[test_attrname.html]
+[test_attrnextsiblingnull.html]
+[test_attrnotspecifiedvalue.html]
+[test_attrparentnodenull.html]
+[test_attrprevioussiblingnull.html]
+[test_attrremovechild1.html]
+[test_attrreplacechild1.html]
+[test_attrsetvaluenomodificationallowederr.html]
+[test_attrsetvaluenomodificationallowederrEE.html]
+[test_attrspecifiedvalue.html]
+[test_attrspecifiedvaluechanged.html]
+[test_attrspecifiedvalueremove.html]