Bug 920223 - Part 3: Mass convert MOCHITEST_BROWSER_FILES to manifests; rs=Ms2ger
☠☠ backed out by 32cccb8b64e8 ☠ ☠
authorGregory Szorc <gps@mozilla.com>
Mon, 30 Sep 2013 09:52:06 +0200
changeset 163055 8b02873ee07edd54a36acf1d1d8a97a96e925deb
parent 163054 68b6b152f51a6cf0ba2743950cc9a43f3aecaa57
child 163056 39a308770f17c6b4843994642f888d4c11f4be52
push id3066
push userakeybl@mozilla.com
push dateMon, 09 Dec 2013 19:58:46 +0000
treeherdermozilla-beta@a31a0dce83aa [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 3: Mass convert MOCHITEST_BROWSER_FILES to manifests; rs=Ms2ger
browser/base/content/test/general/Makefile.in
browser/base/content/test/general/browser.ini
browser/base/content/test/general/moz.build
browser/base/content/test/newtab/Makefile.in
browser/base/content/test/newtab/browser.ini
browser/base/content/test/newtab/moz.build
browser/base/content/test/social/Makefile.in
browser/base/content/test/social/browser.ini
browser/base/content/test/social/moz.build
browser/components/certerror/test/Makefile.in
browser/components/certerror/test/browser.ini
browser/components/certerror/test/moz.build
browser/components/downloads/test/browser/Makefile.in
browser/components/downloads/test/browser/browser.ini
browser/components/downloads/test/browser/moz.build
browser/components/preferences/in-content/tests/Makefile.in
browser/components/preferences/in-content/tests/browser.ini
browser/components/preferences/in-content/tests/moz.build
browser/components/preferences/tests/Makefile.in
browser/components/preferences/tests/browser.ini
browser/components/preferences/tests/moz.build
browser/components/privatebrowsing/test/browser/Makefile.in
browser/components/privatebrowsing/test/browser/browser.ini
browser/components/privatebrowsing/test/browser/moz.build
browser/components/safebrowsing/content/test/Makefile.in
browser/components/safebrowsing/content/test/browser.ini
browser/components/safebrowsing/content/test/moz.build
browser/components/search/test/Makefile.in
browser/components/search/test/browser.ini
browser/components/search/test/moz.build
browser/components/shell/test/Makefile.in
browser/components/shell/test/browser.ini
browser/components/shell/test/moz.build
browser/components/tabview/test/Makefile.in
browser/components/tabview/test/browser.ini
browser/components/tabview/test/moz.build
browser/components/test/Makefile.in
browser/components/test/browser.ini
browser/components/test/moz.build
browser/devtools/debugger/test/Makefile.in
browser/devtools/debugger/test/browser.ini
browser/devtools/debugger/test/moz.build
browser/devtools/fontinspector/test/Makefile.in
browser/devtools/fontinspector/test/browser.ini
browser/devtools/fontinspector/test/moz.build
browser/devtools/framework/test/Makefile.in
browser/devtools/framework/test/browser.ini
browser/devtools/framework/test/moz.build
browser/devtools/inspector/test/Makefile.in
browser/devtools/inspector/test/browser.ini
browser/devtools/inspector/test/moz.build
browser/devtools/layoutview/test/Makefile.in
browser/devtools/layoutview/test/browser.ini
browser/devtools/layoutview/test/moz.build
browser/devtools/markupview/test/Makefile.in
browser/devtools/markupview/test/browser.ini
browser/devtools/markupview/test/moz.build
browser/devtools/netmonitor/test/Makefile.in
browser/devtools/netmonitor/test/browser.ini
browser/devtools/netmonitor/test/moz.build
browser/devtools/profiler/test/Makefile.in
browser/devtools/profiler/test/browser.ini
browser/devtools/profiler/test/moz.build
browser/devtools/responsivedesign/test/Makefile.in
browser/devtools/responsivedesign/test/browser.ini
browser/devtools/responsivedesign/test/moz.build
browser/devtools/scratchpad/test/Makefile.in
browser/devtools/scratchpad/test/browser.ini
browser/devtools/scratchpad/test/moz.build
browser/devtools/shared/test/Makefile.in
browser/devtools/shared/test/browser.ini
browser/devtools/shared/test/moz.build
browser/devtools/sourceeditor/test/Makefile.in
browser/devtools/sourceeditor/test/browser.ini
browser/devtools/sourceeditor/test/moz.build
browser/devtools/styleeditor/test/Makefile.in
browser/devtools/styleeditor/test/browser.ini
browser/devtools/styleeditor/test/moz.build
browser/devtools/tilt/test/Makefile.in
browser/devtools/tilt/test/browser.ini
browser/devtools/tilt/test/moz.build
browser/devtools/webconsole/test/Makefile.in
browser/devtools/webconsole/test/browser.ini
browser/devtools/webconsole/test/moz.build
browser/extensions/pdfjs/test/Makefile.in
browser/extensions/pdfjs/test/browser.ini
browser/extensions/pdfjs/test/moz.build
browser/fuel/test/Makefile.in
browser/fuel/test/browser.ini
browser/fuel/test/moz.build
browser/modules/test/Makefile.in
browser/modules/test/browser.ini
browser/modules/test/moz.build
content/base/test/Makefile.in
content/base/test/browser.ini
content/base/test/moz.build
content/html/content/test/Makefile.in
content/html/content/test/browser.ini
content/html/content/test/moz.build
content/html/document/test/Makefile.in
content/html/document/test/browser.ini
content/html/document/test/moz.build
docshell/test/browser/Makefile.in
docshell/test/browser/browser.ini
docshell/test/browser/moz.build
docshell/test/navigation/Makefile.in
docshell/test/navigation/browser.ini
docshell/test/navigation/moz.build
dom/power/test/Makefile.in
dom/power/test/browser.ini
dom/power/test/moz.build
dom/tests/browser/Makefile.in
dom/tests/browser/browser.ini
dom/tests/browser/moz.build
extensions/cookie/test/Makefile.in
extensions/cookie/test/browser.ini
extensions/cookie/test/moz.build
hal/tests/Makefile.in
hal/tests/browser.ini
hal/tests/moz.build
image/test/browser/Makefile.in
image/test/browser/browser.ini
image/test/browser/moz.build
js/xpconnect/tests/browser/Makefile.in
js/xpconnect/tests/browser/browser.ini
js/xpconnect/tests/browser/moz.build
layout/base/tests/Makefile.in
layout/base/tests/browser.ini
layout/base/tests/moz.build
layout/style/test/Makefile.in
layout/style/test/browser.ini
layout/style/test/moz.build
layout/xul/test/Makefile.in
layout/xul/test/browser.ini
layout/xul/test/moz.build
netwerk/test/browser/Makefile.in
netwerk/test/browser/browser.ini
netwerk/test/browser/moz.build
security/manager/ssl/tests/mochitest/browser/Makefile.in
security/manager/ssl/tests/mochitest/browser/browser.ini
security/manager/ssl/tests/mochitest/browser/moz.build
testing/mochitest/tests/browser/Makefile.in
testing/mochitest/tests/browser/browser.ini
testing/mochitest/tests/browser/moz.build
toolkit/components/downloads/test/browser/Makefile.in
toolkit/components/downloads/test/browser/browser.ini
toolkit/components/downloads/test/browser/moz.build
toolkit/components/passwordmgr/test/browser/Makefile.in
toolkit/components/passwordmgr/test/browser/browser.ini
toolkit/components/passwordmgr/test/browser/moz.build
toolkit/components/places/tests/browser/Makefile.in
toolkit/components/places/tests/browser/browser.ini
toolkit/components/places/tests/browser/moz.build
toolkit/components/satchel/test/browser/Makefile.in
toolkit/components/satchel/test/browser/browser.ini
toolkit/components/satchel/test/browser/moz.build
toolkit/components/startup/tests/browser/Makefile.in
toolkit/components/startup/tests/browser/browser.ini
toolkit/components/startup/tests/browser/moz.build
toolkit/components/thumbnails/test/Makefile.in
toolkit/components/thumbnails/test/browser.ini
toolkit/components/thumbnails/test/moz.build
toolkit/components/viewsource/test/browser/Makefile.in
toolkit/components/viewsource/test/browser/browser.ini
toolkit/components/viewsource/test/browser/moz.build
toolkit/content/tests/browser/Makefile.in
toolkit/content/tests/browser/browser.ini
toolkit/content/tests/browser/moz.build
toolkit/forgetaboutsite/test/browser/Makefile.in
toolkit/forgetaboutsite/test/browser/browser.ini
toolkit/forgetaboutsite/test/browser/moz.build
toolkit/modules/tests/browser/Makefile.in
toolkit/modules/tests/browser/browser.ini
toolkit/modules/tests/browser/moz.build
toolkit/mozapps/extensions/test/xpinstall/Makefile.in
toolkit/mozapps/extensions/test/xpinstall/browser.ini
toolkit/mozapps/extensions/test/xpinstall/moz.build
--- a/browser/base/content/test/general/Makefile.in
+++ b/browser/base/content/test/general/Makefile.in
@@ -21,300 +21,16 @@ endif
 # browser_sanitizeDialog_treeView.js is disabled until the tree view is added
 # back to the clear recent history dialog (sanitize.xul), if it ever is (bug
 # 480169)
 
 # browser_drag.js is disabled, as it needs to be updated for the new behavior from bug 320638.
 
 # browser_bug321000.js is disabled because newline handling is shaky (bug 592528)
 
-MOCHITEST_BROWSER_FILES = \
-                 head.js \
-                 alltabslistener.html \
-                 app_bug575561.html \
-                 app_subframe_bug575561.html \
-                 authenticate.sjs \
-                 blockNoPlugins.xml \
-                 blockPluginHard.xml \
-                 blockPluginVulnerableNoUpdate.xml \
-                 blockPluginVulnerableUpdatable.xml \
-                 browser_aboutHealthReport.js \
-                 browser_aboutHome.js \
-                 browser_aboutSyncProgress.js \
-                 browser_addKeywordSearch.js \
-                 browser_addon_bar_aomlistener.js \
-                 browser_addon_bar_close_button.js \
-                 browser_addon_bar_shortcut.js \
-                 browser_alltabslistener.js \
-                 browser_blob-channelname.js \
-                 browser_bug304198.js \
-                 browser_bug329212.js \
-                 browser_bug356571.js \
-                 browser_bug380960.js \
-                 browser_bug386835.js \
-                 browser_bug405137.js \
-                 browser_bug406216.js \
-                 browser_bug409481.js \
-                 browser_bug409624.js \
-                 browser_bug413915.js \
-                 browser_bug416661.js \
-                 browser_bug417483.js \
-                 browser_bug419612.js \
-                 browser_bug422590.js \
-                 browser_bug424101.js \
-                 browser_bug427559.js \
-                 browser_bug432599.js \
-                 browser_bug435035.js \
-                 browser_bug435325.js \
-                 browser_bug441778.js \
-                 browser_bug455852.js \
-                 browser_bug460146.js \
-                 browser_bug462673.js \
-                 browser_bug477014.js \
-                 browser_bug479408_sample.html \
-                 browser_bug479408.js \
-                 browser_bug481560.js \
-                 browser_bug484315.js \
-                 browser_bug491431.js \
-                 browser_bug495058.js \
-                 browser_bug517902.js \
-                 browser_bug519216.js \
-                 browser_bug520538.js \
-                 browser_bug521216.js \
-                 browser_bug533232.js \
-                 browser_bug537013.js \
-                 browser_bug537474.js \
-                 browser_bug550565.js \
-                 browser_bug553455.js \
-                 browser_bug555224.js \
-                 browser_bug555767.js \
-                 browser_bug556061.js \
-                 browser_bug559991.js \
-                 browser_bug561623.js \
-                 browser_bug561636.js \
-                 browser_bug562649.js \
-                 browser_bug563588.js \
-                 browser_bug565575.js \
-                 browser_bug567306.js \
-                 browser_bug575561.js \
-                 browser_bug575830.js \
-                 browser_bug577121.js \
-                 browser_bug578534.js \
-                 browser_bug579872.js \
-                 browser_bug580638.js \
-                 browser_bug580956.js \
-                 browser_bug581242.js \
-                 browser_bug581253.js \
-                 browser_bug581947.js \
-                 browser_bug585558.js \
-                 browser_bug585785.js \
-                 browser_bug585830.js \
-                 browser_bug590206.js \
-                 browser_bug592338.js \
-                 browser_bug594131.js \
-                 browser_bug595507.js \
-                 browser_bug596687.js \
-                 browser_bug597218.js \
-                 browser_bug598923.js \
-                 browser_bug599325.js \
-                 browser_bug609700.js \
-                 browser_bug616836.js \
-                 browser_bug623155.js \
-                 browser_bug623893.js \
-                 browser_bug624734.js \
-                 browser_bug647886.js \
-                 browser_bug655584.js \
-                 browser_bug664672.js \
-                 browser_bug676619.js \
-                 browser_bug678392-1.html \
-                 browser_bug678392-2.html \
-                 browser_bug678392.js \
-                 browser_bug710878.js \
-                 browser_bug719271.js \
-                 browser_bug724239.js \
-                 browser_bug734076.js \
-                 browser_bug735471.js \
-                 browser_bug743421.js \
-                 browser_bug744745.js \
-                 browser_bug749738.js \
-                 browser_bug752516.js \
-                 browser_bug763468_perwindowpb.js \
-                 browser_bug767836_perwindowpb.js \
-                 browser_bug771331.js \
-                 browser_bug783614.js \
-                 browser_bug787619.js \
-                 browser_bug797677.js \
-                 browser_bug812562.js \
-                 browser_bug816527.js \
-                 browser_bug817947.js \
-                 browser_bug818118.js \
-                 browser_bug820497.js \
-                 browser_bug822367.js \
-                 browser_bug902156.js \
-                 browser_bug832435.js \
-                 browser_bug839103.js \
-                 browser_bug880101.js \
-                 browser_bug882977.js \
-                 browser_bug887515.js \
-                 browser_canonizeURL.js \
-                 browser_mixedcontent_securityflags.js \
-                 browser_clearplugindata_noage.html \
-                 browser_clearplugindata.html \
-                 browser_clearplugindata.js \
-                 browser_contentAreaClick.js \
-                 browser_contextSearchTabPosition.js \
-                 browser_CTP_drag_drop.js \
-                 browser_CTP_data_urls.js \
-                 browser_CTP_nonplugins.js \
-                 browser_CTP_resize.js \
-                 browser_ctrlTab.js \
-                 browser_customize_popupNotification.js \
-                 browser_customize.js \
-                 browser_disablechrome.js \
-                 browser_discovery.js \
-                 browser_duplicateIDs.js \
-                 browser_findbarClose.js \
-                 browser_fullscreen-window-open.js \
-                 browser_gestureSupport.js \
-                 browser_getshortcutoruri.js \
-                 browser_hide_removing.js \
-                 browser_homeDrop.js \
-                 browser_identity_UI.js \
-                 browser_keywordBookmarklets.js \
-                 browser_keywordSearch_postData.js \
-                 browser_keywordSearch.js \
-                 browser_lastAccessedTab.js \
-                 browser_locationBarCommand.js \
-                 browser_locationBarExternalLoad.js \
-                 browser_middleMouse_inherit.js \
-                 browser_minimize.js \
-                 browser_offlineQuotaNotification.js \
-                 browser_overflowScroll.js \
-                 browser_page_style_menu.js \
-                 browser_pageInfo_plugins.js \
-                 browser_pageInfo.js \
-                 browser_pinnedTabs.js \
-                 browser_plainTextLinks.js \
-                 browser_pluginnotification.js \
-                 browser_pluginplaypreview.js \
-                 browser_pluginplaypreview2.js \
-                 browser_plugins_added_dynamically.js \
-                 browser_popupUI.js \
-                 browser_private_browsing_window.js \
-                 browser_private_no_prompt.js \
-                 browser_relatedTabs.js \
-                 browser_removeTabsToTheEnd.js \
-                 browser_sanitize-passwordDisabledHosts.js \
-                 browser_sanitize-sitepermissions.js \
-                 browser_sanitize-timespans.js \
-                 browser_sanitizeDialog.js \
-                 browser_save_link-perwindowpb.js \
-                 browser_save_private_link_perwindowpb.js \
-                 browser_save_video.js \
-                 browser_scope.js \
-                 browser_selectTabAtIndex.js \
-                 browser_tab_drag_drop_perwindow.js \
-                 browser_tab_dragdrop.js \
-                 browser_tab_dragdrop2_frame1.xul \
-                 browser_tab_dragdrop2.js \
-                 browser_tabDrop.js \
-                 browser_tabfocus.js \
-                 browser_tabMatchesInAwesomebar_perwindowpb.js \
-                 browser_tabopen_reflows.js \
-                 browser_tabs_isActive.js \
-                 browser_tabs_owner.js \
-                 browser_typeAheadFind.js \
-                 browser_unloaddialogs.js \
-                 browser_urlbar_search_healthreport.js \
-                 browser_urlbarAutoFillTrimURLs.js \
-                 browser_urlbarCopying.js \
-                 browser_urlbarEnter.js \
-                 browser_urlbarRevert.js \
-                 browser_URLBarSetURI.js \
-                 browser_urlbarStop.js \
-                 browser_urlbarTrimURLs.js \
-                 browser_urlHighlight.js \
-                 browser_utilityOverlay.js \
-                 browser_visibleFindSelection.js \
-                 browser_visibleTabs_bookmarkAllPages.js \
-                 browser_visibleTabs_bookmarkAllTabs.js \
-                 browser_visibleTabs_contextMenu.js \
-                 browser_visibleTabs_tabPreview.js \
-                 browser_visibleTabs.js \
-                 browser_wyciwyg_urlbarCopying.js \
-                 browser_zbug569342.js \
-                 bug564387_video1.ogv \
-                 bug564387_video1.ogv^headers^ \
-                 bug564387.html \
-                 bug592338.html \
-                 bug792517-2.html \
-                 bug792517.html \
-                 bug792517.sjs \
-                 bug839103.css \
-                 disablechrome.html \
-                 discovery.html \
-                 domplate_test.js \
-                 download_page.html \
-                 dummy_page.html \
-                 feed_tab.html \
-                 file_bug550565_favicon.ico \
-                 file_bug550565_popup.html \
-                 file_bug822367_1.html \
-                 file_bug822367_1.js \
-                 file_bug822367_2.html \
-                 file_bug822367_3.html \
-                 file_bug822367_4.html \
-                 file_bug822367_4.js \
-                 file_bug822367_4B.html \
-                 file_bug822367_5.html \
-                 file_bug822367_6.html \
-                 file_bug902156_1.html \
-                 file_bug902156_2.html \
-                 file_bug902156_3.html \
-                 file_bug902156.js \
-                 file_fullscreen-window-open.html \
-                 healthreport_testRemoteCommands.html \
-                 moz.png \
-                 offlineQuotaNotification.cacheManifest \
-                 offlineQuotaNotification.html \
-                 page_style_sample.html \
-                 plugin_add_dynamically.html \
-                 plugin_alternate_content.html \
-                 plugin_both.html \
-                 plugin_both2.html \
-                 plugin_bug744745.html \
-                 plugin_bug749455.html \
-                 plugin_bug752516.html \
-                 plugin_bug787619.html \
-                 plugin_bug797677.html \
-                 plugin_bug820497.html \
-                 plugin_clickToPlayAllow.html \
-                 plugin_clickToPlayDeny.html \
-                 plugin_hidden_to_visible.html \
-                 plugin_small.html \
-                 plugin_test.html \
-                 plugin_test2.html \
-                 plugin_test3.html \
-                 plugin_two_types.html \
-                 plugin_data_url.html \
-                 plugin_unknown.html \
-                 POSTSearchEngine.xml \
-                 print_postdata.sjs \
-                 redirect_bug623155.sjs \
-                 test_bug435035.html \
-                 test_bug462673.html \
-                 test_bug628179.html \
-                 test_bug839103.html \
-                 test_wyciwyg_copying.html \
-                 test-mixedcontent-securityerrors.html \
-                 title_test.svg \
-                 video.ogg \
-                 zoom_test.html \
-                 $(NULL)
-
 # Disable tests on Windows due to frequent failures (bugs 825739, 841341)
 ifneq (windows,$(MOZ_WIDGET_TOOLKIT))
 MOCHITEST_BROWSER_FILES += \
                  browser_bookmark_titles.js \
                  browser_popupNotification.js \
                  $(NULL)
 endif
 
new file mode 100644
--- /dev/null
+++ b/browser/base/content/test/general/browser.ini
@@ -0,0 +1,284 @@
+[DEFAULT]
+support-files =
+  POSTSearchEngine.xml
+  alltabslistener.html
+  app_bug575561.html
+  app_subframe_bug575561.html
+  authenticate.sjs
+  blockNoPlugins.xml
+  blockPluginHard.xml
+  blockPluginVulnerableNoUpdate.xml
+  blockPluginVulnerableUpdatable.xml
+  bug564387.html
+  bug564387_video1.ogv
+  bug564387_video1.ogv^headers^
+  bug592338.html
+  bug792517-2.html
+  bug792517.html
+  bug792517.sjs
+  bug839103.css
+  disablechrome.html
+  discovery.html
+  domplate_test.js
+  download_page.html
+  dummy_page.html
+  feed_tab.html
+  file_bug550565_favicon.ico
+  file_bug550565_popup.html
+  file_bug822367_1.html
+  file_bug822367_1.js
+  file_bug822367_2.html
+  file_bug822367_3.html
+  file_bug822367_4.html
+  file_bug822367_4.js
+  file_bug822367_4B.html
+  file_bug822367_5.html
+  file_bug822367_6.html
+  file_bug902156.js
+  file_bug902156_1.html
+  file_bug902156_2.html
+  file_bug902156_3.html
+  file_fullscreen-window-open.html
+  head.js
+  healthreport_testRemoteCommands.html
+  moz.png
+  offlineQuotaNotification.cacheManifest
+  offlineQuotaNotification.html
+  page_style_sample.html
+  plugin_add_dynamically.html
+  plugin_alternate_content.html
+  plugin_both.html
+  plugin_both2.html
+  plugin_bug744745.html
+  plugin_bug749455.html
+  plugin_bug752516.html
+  plugin_bug787619.html
+  plugin_bug797677.html
+  plugin_bug820497.html
+  plugin_clickToPlayAllow.html
+  plugin_clickToPlayDeny.html
+  plugin_data_url.html
+  plugin_hidden_to_visible.html
+  plugin_small.html
+  plugin_test.html
+  plugin_test2.html
+  plugin_test3.html
+  plugin_two_types.html
+  plugin_unknown.html
+  print_postdata.sjs
+  redirect_bug623155.sjs
+  test-mixedcontent-securityerrors.html
+  test_bug435035.html
+  test_bug462673.html
+  test_bug628179.html
+  test_bug839103.html
+  test_wyciwyg_copying.html
+  title_test.svg
+  video.ogg
+  zoom_test.html
+
+[browser_CTP_data_urls.js]
+[browser_CTP_drag_drop.js]
+[browser_CTP_nonplugins.js]
+[browser_CTP_resize.js]
+[browser_URLBarSetURI.js]
+[browser_aboutHealthReport.js]
+[browser_aboutHome.js]
+[browser_aboutSyncProgress.js]
+[browser_addKeywordSearch.js]
+[browser_addon_bar_aomlistener.js]
+[browser_addon_bar_close_button.js]
+[browser_addon_bar_shortcut.js]
+[browser_alltabslistener.js]
+[browser_blob-channelname.js]
+[browser_bug304198.js]
+[browser_bug329212.js]
+[browser_bug356571.js]
+[browser_bug380960.js]
+[browser_bug386835.js]
+[browser_bug405137.js]
+[browser_bug406216.js]
+[browser_bug409481.js]
+[browser_bug409624.js]
+[browser_bug413915.js]
+[browser_bug416661.js]
+[browser_bug417483.js]
+[browser_bug419612.js]
+[browser_bug422590.js]
+[browser_bug424101.js]
+[browser_bug427559.js]
+[browser_bug432599.js]
+[browser_bug435035.js]
+[browser_bug435325.js]
+[browser_bug441778.js]
+[browser_bug455852.js]
+[browser_bug460146.js]
+[browser_bug462673.js]
+[browser_bug477014.js]
+[browser_bug479408.js]
+[browser_bug479408_sample.html]
+[browser_bug481560.js]
+[browser_bug484315.js]
+[browser_bug491431.js]
+[browser_bug495058.js]
+[browser_bug517902.js]
+[browser_bug519216.js]
+[browser_bug520538.js]
+[browser_bug521216.js]
+[browser_bug533232.js]
+[browser_bug537013.js]
+[browser_bug537474.js]
+[browser_bug550565.js]
+[browser_bug553455.js]
+[browser_bug555224.js]
+[browser_bug555767.js]
+[browser_bug556061.js]
+[browser_bug559991.js]
+[browser_bug561623.js]
+[browser_bug561636.js]
+[browser_bug562649.js]
+[browser_bug563588.js]
+[browser_bug565575.js]
+[browser_bug567306.js]
+[browser_bug575561.js]
+[browser_bug575830.js]
+[browser_bug577121.js]
+[browser_bug578534.js]
+[browser_bug579872.js]
+[browser_bug580638.js]
+[browser_bug580956.js]
+[browser_bug581242.js]
+[browser_bug581253.js]
+[browser_bug581947.js]
+[browser_bug585558.js]
+[browser_bug585785.js]
+[browser_bug585830.js]
+[browser_bug590206.js]
+[browser_bug592338.js]
+[browser_bug594131.js]
+[browser_bug595507.js]
+[browser_bug596687.js]
+[browser_bug597218.js]
+[browser_bug598923.js]
+[browser_bug599325.js]
+[browser_bug609700.js]
+[browser_bug616836.js]
+[browser_bug623155.js]
+[browser_bug623893.js]
+[browser_bug624734.js]
+[browser_bug647886.js]
+[browser_bug655584.js]
+[browser_bug664672.js]
+[browser_bug676619.js]
+[browser_bug678392-1.html]
+[browser_bug678392-2.html]
+[browser_bug678392.js]
+[browser_bug710878.js]
+[browser_bug719271.js]
+[browser_bug724239.js]
+[browser_bug734076.js]
+[browser_bug735471.js]
+[browser_bug743421.js]
+[browser_bug744745.js]
+[browser_bug749738.js]
+[browser_bug752516.js]
+[browser_bug763468_perwindowpb.js]
+[browser_bug767836_perwindowpb.js]
+[browser_bug771331.js]
+[browser_bug783614.js]
+[browser_bug787619.js]
+[browser_bug797677.js]
+[browser_bug812562.js]
+[browser_bug816527.js]
+[browser_bug817947.js]
+[browser_bug818118.js]
+[browser_bug820497.js]
+[browser_bug822367.js]
+[browser_bug832435.js]
+[browser_bug839103.js]
+[browser_bug880101.js]
+[browser_bug882977.js]
+[browser_bug887515.js]
+[browser_bug902156.js]
+[browser_canonizeURL.js]
+[browser_clearplugindata.html]
+[browser_clearplugindata.js]
+[browser_clearplugindata_noage.html]
+[browser_contentAreaClick.js]
+[browser_contextSearchTabPosition.js]
+[browser_ctrlTab.js]
+[browser_customize.js]
+[browser_customize_popupNotification.js]
+[browser_disablechrome.js]
+[browser_discovery.js]
+[browser_duplicateIDs.js]
+[browser_findbarClose.js]
+[browser_fullscreen-window-open.js]
+[browser_gestureSupport.js]
+[browser_getshortcutoruri.js]
+[browser_hide_removing.js]
+[browser_homeDrop.js]
+[browser_identity_UI.js]
+[browser_keywordBookmarklets.js]
+[browser_keywordSearch.js]
+[browser_keywordSearch_postData.js]
+[browser_lastAccessedTab.js]
+[browser_locationBarCommand.js]
+[browser_locationBarExternalLoad.js]
+[browser_middleMouse_inherit.js]
+[browser_minimize.js]
+[browser_mixedcontent_securityflags.js]
+[browser_offlineQuotaNotification.js]
+[browser_overflowScroll.js]
+[browser_pageInfo.js]
+[browser_pageInfo_plugins.js]
+[browser_page_style_menu.js]
+[browser_pinnedTabs.js]
+[browser_plainTextLinks.js]
+[browser_pluginnotification.js]
+[browser_pluginplaypreview.js]
+[browser_pluginplaypreview2.js]
+[browser_plugins_added_dynamically.js]
+[browser_popupUI.js]
+[browser_private_browsing_window.js]
+[browser_private_no_prompt.js]
+[browser_relatedTabs.js]
+[browser_removeTabsToTheEnd.js]
+[browser_sanitize-passwordDisabledHosts.js]
+[browser_sanitize-sitepermissions.js]
+[browser_sanitize-timespans.js]
+[browser_sanitizeDialog.js]
+[browser_save_link-perwindowpb.js]
+[browser_save_private_link_perwindowpb.js]
+[browser_save_video.js]
+[browser_scope.js]
+[browser_selectTabAtIndex.js]
+[browser_tabDrop.js]
+[browser_tabMatchesInAwesomebar_perwindowpb.js]
+[browser_tab_drag_drop_perwindow.js]
+[browser_tab_dragdrop.js]
+[browser_tab_dragdrop2.js]
+[browser_tab_dragdrop2_frame1.xul]
+[browser_tabfocus.js]
+[browser_tabopen_reflows.js]
+[browser_tabs_isActive.js]
+[browser_tabs_owner.js]
+[browser_typeAheadFind.js]
+[browser_unloaddialogs.js]
+[browser_urlHighlight.js]
+[browser_urlbarAutoFillTrimURLs.js]
+[browser_urlbarCopying.js]
+[browser_urlbarEnter.js]
+[browser_urlbarRevert.js]
+[browser_urlbarStop.js]
+[browser_urlbarTrimURLs.js]
+[browser_urlbar_search_healthreport.js]
+[browser_utilityOverlay.js]
+[browser_visibleFindSelection.js]
+[browser_visibleTabs.js]
+[browser_visibleTabs_bookmarkAllPages.js]
+[browser_visibleTabs_bookmarkAllTabs.js]
+[browser_visibleTabs_contextMenu.js]
+[browser_visibleTabs_tabPreview.js]
+[browser_wyciwyg_urlbarCopying.js]
+[browser_zbug569342.js]
--- a/browser/base/content/test/general/moz.build
+++ b/browser/base/content/test/general/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/.
 
 MOCHITEST_MANIFESTS += ['mochitest.ini']
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/base/content/test/newtab/Makefile.in
+++ b/browser/base/content/test/newtab/Makefile.in
@@ -1,28 +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_BROWSER_FILES = \
-	browser_newtab_block.js \
-	browser_newtab_disable.js \
-	browser_newtab_drag_drop.js \
-	browser_newtab_drag_drop_ext.js \
-	browser_newtab_drop_preview.js \
-	browser_newtab_focus.js \
-	browser_newtab_reset.js \
-	browser_newtab_tabsync.js \
-	browser_newtab_undo.js \
-	browser_newtab_unpin.js \
-	browser_newtab_bug721442.js \
-	browser_newtab_bug722273.js \
-	browser_newtab_bug723102.js \
-	browser_newtab_bug723121.js \
-	browser_newtab_bug725996.js \
-	browser_newtab_bug734043.js \
-	browser_newtab_bug735987.js \
-	browser_newtab_bug752841.js \
-	browser_newtab_bug765628.js \
-	browser_newtab_bug876313.js \
-	browser_newtab_perwindow_private_browsing.js \
-	head.js \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/base/content/test/newtab/browser.ini
@@ -0,0 +1,24 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_newtab_block.js]
+[browser_newtab_bug721442.js]
+[browser_newtab_bug722273.js]
+[browser_newtab_bug723102.js]
+[browser_newtab_bug723121.js]
+[browser_newtab_bug725996.js]
+[browser_newtab_bug734043.js]
+[browser_newtab_bug735987.js]
+[browser_newtab_bug752841.js]
+[browser_newtab_bug765628.js]
+[browser_newtab_bug876313.js]
+[browser_newtab_disable.js]
+[browser_newtab_drag_drop.js]
+[browser_newtab_drag_drop_ext.js]
+[browser_newtab_drop_preview.js]
+[browser_newtab_focus.js]
+[browser_newtab_perwindow_private_browsing.js]
+[browser_newtab_reset.js]
+[browser_newtab_tabsync.js]
+[browser_newtab_undo.js]
+[browser_newtab_unpin.js]
--- a/browser/base/content/test/newtab/moz.build
+++ b/browser/base/content/test/newtab/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/base/content/test/social/Makefile.in
+++ b/browser/base/content/test/social/Makefile.in
@@ -1,41 +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_BROWSER_FILES = \
-                 head.js \
-		 blocklist.xml \
-		 browser_blocklist.js \
-		 browser_defaults.js \
-		 browser_addons.js \
-		 browser_chat_tearoff.js \
-                 browser_social_activation.js \
-                 browser_social_perwindowPB.js \
-                 browser_social_toolbar.js \
-                 browser_social_sidebar.js \
-                 browser_social_flyout.js \
-                 browser_social_mozSocial_API.js \
-                 browser_social_isVisible.js \
-                 browser_social_chatwindow.js \
-                 browser_social_chatwindow_resize.js \
-                 browser_social_chatwindowfocus.js \
-                 browser_social_multiprovider.js \
-                 browser_social_multiworker.js \
-                 browser_social_errorPage.js \
-                 browser_social_marks.js \
-                 browser_social_status.js \
-                 browser_social_window.js \
-                 social_activate.html \
-                 social_activate_iframe.html \
-                 browser_share.js \
-                 social_panel.html \
-                 social_mark.html \
-                 social_sidebar.html \
-                 social_chat.html \
-                 social_flyout.html \
-                 social_window.html \
-                 social_worker.js \
-                 share.html \
-                 checked.jpg \
-                 unchecked.jpg \
-                 $(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/base/content/test/social/browser.ini
@@ -0,0 +1,38 @@
+[DEFAULT]
+support-files =
+  blocklist.xml
+  checked.jpg
+  head.js
+  share.html
+  social_activate.html
+  social_activate_iframe.html
+  social_chat.html
+  social_flyout.html
+  social_mark.html
+  social_panel.html
+  social_sidebar.html
+  social_window.html
+  social_worker.js
+  unchecked.jpg
+
+[browser_addons.js]
+[browser_blocklist.js]
+[browser_chat_tearoff.js]
+[browser_defaults.js]
+[browser_share.js]
+[browser_social_activation.js]
+[browser_social_chatwindow.js]
+[browser_social_chatwindow_resize.js]
+[browser_social_chatwindowfocus.js]
+[browser_social_errorPage.js]
+[browser_social_flyout.js]
+[browser_social_isVisible.js]
+[browser_social_marks.js]
+[browser_social_mozSocial_API.js]
+[browser_social_multiprovider.js]
+[browser_social_multiworker.js]
+[browser_social_perwindowPB.js]
+[browser_social_sidebar.js]
+[browser_social_status.js]
+[browser_social_toolbar.js]
+[browser_social_window.js]
--- a/browser/base/content/test/social/moz.build
+++ b/browser/base/content/test/social/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 += ['opengraph']
+
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/components/certerror/test/Makefile.in
+++ b/browser/components/certerror/test/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_BROWSER_FILES := \
-  browser_bug431826.js \
-  browser_bug633691.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/components/certerror/test/browser.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+
+[browser_bug431826.js]
+[browser_bug633691.js]
--- a/browser/components/certerror/test/moz.build
+++ b/browser/components/certerror/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/components/downloads/test/browser/Makefile.in
+++ b/browser/components/downloads/test/browser/Makefile.in
@@ -1,8 +1,3 @@
 # Any copyright is dedicated to the Public Domain.
 # http://creativecommons.org/publicdomain/zero/1.0/
 
-MOCHITEST_BROWSER_FILES = \
-  browser_basic_functionality.js \
-  browser_first_download_panel.js \
-  head.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/components/downloads/test/browser/browser.ini
@@ -0,0 +1,5 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_basic_functionality.js]
+[browser_first_download_panel.js]
--- a/browser/components/downloads/test/browser/moz.build
+++ b/browser/components/downloads/test/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/components/preferences/in-content/tests/Makefile.in
+++ b/browser/components/preferences/in-content/tests/Makefile.in
@@ -1,25 +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_BROWSER_FILES := \
-    head.js \
-    browser_advanced_update.js \
-    browser_bug410900.js \
-    browser_bug731866.js \
-    browser_connection.js \
-    browser_privacypane_1.js \
-    browser_privacypane_3.js \
-    browser_privacypane_5.js \
-    browser_privacypane_8.js \
-    privacypane_tests_perwindow.js \
-    $(NULL)
-
 ifdef ENABLE_TESTS
 pp_mochitest_browser_files := \
     browser_privacypane_4.js \
     $(NULL)
 pp_mochitest_browser_files_PATH := $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
 PP_TARGETS += pp_mochitest_browser_files
 endif # ENABLE_TESTS
 
new file mode 100644
--- /dev/null
+++ b/browser/components/preferences/in-content/tests/browser.ini
@@ -0,0 +1,13 @@
+[DEFAULT]
+support-files =
+  head.js
+  privacypane_tests_perwindow.js
+
+[browser_advanced_update.js]
+[browser_bug410900.js]
+[browser_bug731866.js]
+[browser_connection.js]
+[browser_privacypane_1.js]
+[browser_privacypane_3.js]
+[browser_privacypane_5.js]
+[browser_privacypane_8.js]
--- a/browser/components/preferences/in-content/tests/moz.build
+++ b/browser/components/preferences/in-content/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/components/preferences/tests/Makefile.in
+++ b/browser/components/preferences/tests/Makefile.in
@@ -1,26 +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_BROWSER_FILES := \
-    head.js \
-    browser_advanced_update.js \
-    browser_bug410900.js \
-    browser_bug705422.js \
-    browser_permissions.js \
-    browser_chunk_permissions.js \
-    browser_privacypane_1.js \
-    browser_privacypane_3.js \
-    browser_privacypane_5.js \
-    browser_privacypane_8.js \
-    privacypane_tests_perwindow.js \
-    $(NULL)
-
 ifdef ENABLE_TESTS
 pp_mochitest_browser_files := \
     browser_privacypane_4.js \
     $(NULL)
 pp_mochitest_browser_files_PATH := $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
 PP_TARGETS += pp_mochitest_browser_files
 endif # ENABLE_TESTS
 
new file mode 100644
--- /dev/null
+++ b/browser/components/preferences/tests/browser.ini
@@ -0,0 +1,14 @@
+[DEFAULT]
+support-files =
+  head.js
+  privacypane_tests_perwindow.js
+
+[browser_advanced_update.js]
+[browser_bug410900.js]
+[browser_bug705422.js]
+[browser_chunk_permissions.js]
+[browser_permissions.js]
+[browser_privacypane_1.js]
+[browser_privacypane_3.js]
+[browser_privacypane_5.js]
+[browser_privacypane_8.js]
--- a/browser/components/preferences/tests/moz.build
+++ b/browser/components/preferences/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/components/privatebrowsing/test/browser/Makefile.in
+++ b/browser/components/privatebrowsing/test/browser/Makefile.in
@@ -1,52 +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/.
 
 # Disabled for too many intermittent failures (bug 895390)
 #                browser_privatebrowsing_cache.js \
 
-MOCHITEST_BROWSER_FILES =  \
-		head.js \
-                browser_privatebrowsing_aboutHomeButtonAfterWindowClose.js \
-                browser_privatebrowsing_aboutSessionRestore.js \
-		browser_privatebrowsing_certexceptionsui.js \
-		browser_privatebrowsing_concurrent.js \
-		browser_privatebrowsing_concurrent_page.html \
-		browser_privatebrowsing_cookieacceptdialog.js \
-		browser_privatebrowsing_cookieacceptdialog.html \
-		browser_privatebrowsing_crh.js \
-		browser_privatebrowsing_downloadLastDir.js \
-		browser_privatebrowsing_downloadLastDir_c.js \
-		browser_privatebrowsing_downloadLastDir_toggle.js \
-		browser_privatebrowsing_DownloadLastDirWithCPS.js \
-		browser_privatebrowsing_geoprompt.js \
-		browser_privatebrowsing_geoprompt_page.html \
-		browser_privatebrowsing_lastpbcontextexited.js \
-		browser_privatebrowsing_localStorage.js \
-		browser_privatebrowsing_localStorage_before_after.js \
-		browser_privatebrowsing_localStorage_before_after_page.html \
-		browser_privatebrowsing_localStorage_before_after_page2.html \
-		browser_privatebrowsing_localStorage_page1.html \
-		browser_privatebrowsing_localStorage_page2.html \
-		browser_privatebrowsing_nonbrowser.js \
-                browser_privatebrowsing_noSessionRestoreMenuOption.js \
-		browser_privatebrowsing_opendir.js \
-		browser_privatebrowsing_openlocation.js \
-		browser_privatebrowsing_openLocationLastURL.js \
-		browser_privatebrowsing_placestitle.js \
-		browser_privatebrowsing_placesTitleNoUpdate.js \
-		browser_privatebrowsing_placesTitleNoUpdate.html \
-		browser_privatebrowsing_popupblocker.js \
-		browser_privatebrowsing_protocolhandler.js \
-		browser_privatebrowsing_protocolhandler_page.html \
-    browser_privatebrowsing_sidebar.js \
-		browser_privatebrowsing_theming.js \
-		browser_privatebrowsing_ui.js \
-		browser_privatebrowsing_urlbarfocus.js \
-		browser_privatebrowsing_windowtitle.js \
-		browser_privatebrowsing_windowtitle_page.html \
-		browser_privatebrowsing_zoom.js \
-		browser_privatebrowsing_zoomrestore.js \
-		popup.html \
-		title.sjs \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/components/privatebrowsing/test/browser/browser.ini
@@ -0,0 +1,46 @@
+[DEFAULT]
+support-files =
+  head.js
+  popup.html
+  title.sjs
+
+[browser_privatebrowsing_DownloadLastDirWithCPS.js]
+[browser_privatebrowsing_aboutHomeButtonAfterWindowClose.js]
+[browser_privatebrowsing_aboutSessionRestore.js]
+[browser_privatebrowsing_certexceptionsui.js]
+[browser_privatebrowsing_concurrent.js]
+[browser_privatebrowsing_concurrent_page.html]
+[browser_privatebrowsing_cookieacceptdialog.html]
+[browser_privatebrowsing_cookieacceptdialog.js]
+[browser_privatebrowsing_crh.js]
+[browser_privatebrowsing_downloadLastDir.js]
+[browser_privatebrowsing_downloadLastDir_c.js]
+[browser_privatebrowsing_downloadLastDir_toggle.js]
+[browser_privatebrowsing_geoprompt.js]
+[browser_privatebrowsing_geoprompt_page.html]
+[browser_privatebrowsing_lastpbcontextexited.js]
+[browser_privatebrowsing_localStorage.js]
+[browser_privatebrowsing_localStorage_before_after.js]
+[browser_privatebrowsing_localStorage_before_after_page.html]
+[browser_privatebrowsing_localStorage_before_after_page2.html]
+[browser_privatebrowsing_localStorage_page1.html]
+[browser_privatebrowsing_localStorage_page2.html]
+[browser_privatebrowsing_noSessionRestoreMenuOption.js]
+[browser_privatebrowsing_nonbrowser.js]
+[browser_privatebrowsing_openLocationLastURL.js]
+[browser_privatebrowsing_opendir.js]
+[browser_privatebrowsing_openlocation.js]
+[browser_privatebrowsing_placesTitleNoUpdate.html]
+[browser_privatebrowsing_placesTitleNoUpdate.js]
+[browser_privatebrowsing_placestitle.js]
+[browser_privatebrowsing_popupblocker.js]
+[browser_privatebrowsing_protocolhandler.js]
+[browser_privatebrowsing_protocolhandler_page.html]
+[browser_privatebrowsing_sidebar.js]
+[browser_privatebrowsing_theming.js]
+[browser_privatebrowsing_ui.js]
+[browser_privatebrowsing_urlbarfocus.js]
+[browser_privatebrowsing_windowtitle.js]
+[browser_privatebrowsing_windowtitle_page.html]
+[browser_privatebrowsing_zoom.js]
+[browser_privatebrowsing_zoomrestore.js]
--- a/browser/components/privatebrowsing/test/browser/moz.build
+++ b/browser/components/privatebrowsing/test/browser/moz.build
@@ -1,9 +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_privatebrowsing'
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/components/safebrowsing/content/test/Makefile.in
+++ b/browser/components/safebrowsing/content/test/Makefile.in
@@ -1,19 +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_BROWSER_FILES := \
-  head.js \
-  browser_bug400731.js \
-  $(NULL)
-
-
 # browser_bug415846.js disabled for too many intermittent failures (bug 546169)
 #
 # # The browser chrome test for bug 415846 doesn't run on Mac because of its
 # # bizarre special-and-unique snowflake of a help menu.
 # ifneq (cocoa,$(MOZ_WIDGET_TOOLKIT))
 # MOCHITEST_BROWSER_FILES += \
 #   browser_bug415846.js \
 #   $(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/components/safebrowsing/content/test/browser.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_bug400731.js]
--- a/browser/components/safebrowsing/content/test/moz.build
+++ b/browser/components/safebrowsing/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/components/search/test/Makefile.in
+++ b/browser/components/search/test/Makefile.in
@@ -1,30 +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_BROWSER_FILES = \
-  head.js \
-  browser_405664.js \
-  browser_addEngine.js \
-  browser_contextmenu.js \
-  browser_healthreport.js \
-  browser_private_search_perwindowpb.js \
-  testEngine.xml \
-  testEngine_mozsearch.xml \
-  testEngine.src \
-  browser_426329.js \
-  426329.xml \
-  browser_483086.js \
-  483086-1.xml \
-  483086-2.xml \
-  test.html \
-  $(NULL)
-
 ifdef ENABLE_TESTS
 pp_mochitest_browser_files := \
   browser_google.js \
   $(NULL)
 pp_mochitest_browser_files_PATH := $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
 pp_mochitest_browser_files_FLAGS := -DMOZ_DISTRIBUTION_ID=$(MOZ_DISTRIBUTION_ID)
 PP_TARGETS += pp_mochitest_browser_files
 endif # ENABLE_TESTS
new file mode 100644
--- /dev/null
+++ b/browser/components/search/test/browser.ini
@@ -0,0 +1,18 @@
+[DEFAULT]
+support-files =
+  426329.xml
+  483086-1.xml
+  483086-2.xml
+  head.js
+  test.html
+  testEngine.src
+  testEngine.xml
+  testEngine_mozsearch.xml
+
+[browser_405664.js]
+[browser_426329.js]
+[browser_483086.js]
+[browser_addEngine.js]
+[browser_contextmenu.js]
+[browser_healthreport.js]
+[browser_private_search_perwindowpb.js]
--- a/browser/components/search/test/moz.build
+++ b/browser/components/search/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/components/shell/test/Makefile.in
+++ b/browser/components/shell/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_BROWSER_FILES = \
-    browser_420786.js \
-    browser_633221.js \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/test/browser.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+
+[browser_420786.js]
+[browser_633221.js]
--- a/browser/components/shell/test/moz.build
+++ b/browser/components/shell/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 = 'test_browser_shell'
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
+
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/components/tabview/test/Makefile.in
+++ b/browser/components/tabview/test/Makefile.in
@@ -1,161 +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_BROWSER_FILES := \
-                 browser_tabview_alltabs.js \
-                 browser_tabview_apptabs.js \
-                 browser_tabview_bug580412.js \
-                 browser_tabview_bug586553.js \
-                 browser_tabview_bug587043.js \
-                 browser_tabview_bug587231.js \
-                 browser_tabview_bug587276.js \
-                 browser_tabview_bug587351.js \
-                 browser_tabview_bug587503.js \
-                 browser_tabview_bug587990.js \
-                 browser_tabview_bug588265.js \
-                 browser_tabview_bug589324.js \
-                 browser_tabview_bug590606.js \
-                 browser_tabview_bug591706.js \
-                 browser_tabview_bug593283.js \
-                 browser_tabview_bug595191.js \
-                 browser_tabview_bug595436.js \
-                 browser_tabview_bug595518.js \
-                 browser_tabview_bug595521.js \
-                 browser_tabview_bug595560.js \
-                 browser_tabview_bug595601.js \
-                 browser_tabview_bug595804.js \
-                 browser_tabview_bug595930.js \
-                 browser_tabview_bug595943.js \
-                 browser_tabview_bug595965.js \
-                 browser_tabview_bug596781.js \
-                 browser_tabview_bug597360.js \
-                 browser_tabview_bug597399.js \
-                 browser_tabview_bug598375.js \
-                 browser_tabview_bug598600.js \
-                 browser_tabview_bug599048.js \
-                 browser_tabview_bug599626.js \
-                 browser_tabview_bug600645.js \
-                 browser_tabview_bug600812.js \
-                 browser_tabview_bug604098.js \
-                 browser_tabview_bug606657.js \
-                 browser_tabview_bug606905.js \
-                 browser_tabview_bug607108.js \
-                 browser_tabview_bug608037.js \
-                 browser_tabview_bug608153.js \
-                 browser_tabview_bug608158.js \
-                 browser_tabview_bug608184.js \
-                 browser_tabview_bug608405.js \
-                 browser_tabview_bug610208.js \
-                 browser_tabview_bug612470.js \
-                 browser_tabview_bug613541.js \
-                 browser_tabview_bug616729.js \
-                 browser_tabview_bug616967.js \
-                 browser_tabview_bug618816.js \
-                 browser_tabview_bug618828.js \
-                 browser_tabview_bug619937.js \
-                 browser_tabview_bug622835.js \
-                 browser_tabview_bug623768.js \
-                 browser_tabview_bug624265_perwindowpb.js \
-                 browser_tabview_bug624692.js \
-                 browser_tabview_bug624727_perwindowpb.js \
-                 browser_tabview_bug624847.js \
-                 browser_tabview_bug624931.js \
-                 browser_tabview_bug624953.js \
-                 browser_tabview_bug625195.js \
-                 browser_tabview_bug625269.js \
-                 browser_tabview_bug625424.js \
-                 browser_tabview_bug625955.js \
-                 browser_tabview_bug626368.js \
-                 browser_tabview_bug626455.js \
-                 browser_tabview_bug626525.js \
-                 browser_tabview_bug626791.js \
-                 browser_tabview_bug627736.js \
-                 browser_tabview_bug628061.js \
-                 browser_tabview_bug628165.js \
-                 browser_tabview_bug628270.js \
-                 browser_tabview_bug628887.js \
-                 browser_tabview_bug629189.js \
-                 browser_tabview_bug629195.js \
-                 browser_tabview_bug630102.js \
-                 browser_tabview_bug630157.js \
-                 browser_tabview_bug631662.js \
-                 browser_tabview_bug631752.js \
-                 browser_tabview_bug633788.js \
-                 browser_tabview_bug634077.js \
-                 browser_tabview_bug634085.js \
-                 browser_tabview_bug634672.js \
-                 browser_tabview_bug635696.js \
-                 browser_tabview_bug637840.js \
-                 browser_tabview_bug640765.js \
-                 browser_tabview_bug641802.js \
-                 browser_tabview_bug642793.js \
-                 browser_tabview_bug643392.js \
-                 browser_tabview_bug644097.js \
-                 browser_tabview_bug649006.js \
-                 browser_tabview_bug649307.js \
-                 browser_tabview_bug649319.js \
-                 browser_tabview_bug650280_perwindowpb.js \
-                 browser_tabview_bug650573.js \
-                 browser_tabview_bug651311.js \
-                 browser_tabview_bug654295.js \
-                 browser_tabview_bug654721.js \
-                 browser_tabview_bug655269.js \
-                 browser_tabview_bug656778.js \
-                 browser_tabview_bug656913.js \
-                 browser_tabview_bug659594.js \
-                 browser_tabview_bug662266.js \
-                 browser_tabview_bug663421.js \
-                 browser_tabview_bug665502.js \
-                 browser_tabview_bug669694.js \
-                 browser_tabview_bug673196.js \
-                 browser_tabview_bug681599.js \
-                 browser_tabview_bug685476.js \
-                 browser_tabview_bug685692.js \
-                 browser_tabview_bug686654.js \
-                 browser_tabview_bug697390.js \
-                 browser_tabview_bug705621.js \
-                 browser_tabview_bug706430.js \
-                 browser_tabview_bug706736.js \
-                 browser_tabview_bug707466.js \
-                 browser_tabview_bug712203.js \
-                 browser_tabview_bug715454.js \
-                 browser_tabview_bug716880.js \
-                 browser_tabview_bug728887.js \
-                 browser_tabview_bug733115.js \
-                 browser_tabview_bug749658.js \
-                 browser_tabview_bug766597.js \
-                 browser_tabview_click_group.js \
-                 browser_tabview_dragdrop.js \
-                 browser_tabview_exit_button.js \
-                 browser_tabview_expander.js \
-                 browser_tabview_firstrun_pref.js \
-                 browser_tabview_group.js \
-                 browser_tabview_launch.js \
-                 browser_tabview_multiwindow_search.js \
-                 browser_tabview_privatebrowsing_perwindowpb.js \
-                 browser_tabview_rtl.js \
-                 browser_tabview_search.js \
-                 browser_tabview_snapping.js \
-                 browser_tabview_startup_transitions.js \
-                 browser_tabview_undo_group.js \
-                 browser_tabview_bug610242.js \
-                 dummy_page.html \
-                 head.js \
-                 search1.html \
-                 search2.html \
-                 test_bug600645.html \
-                 test_bug644097.html \
-                 test_bug678374.html \
-                 test_bug678374_icon16.png \
-                 $(NULL)
-
-
 # browser_tabview_bug597980.js is disabled for leaking, see bug 711907
 # browser_tabview_bug678374.js disabled for intermittent failures (bug 795265)
 # browser_tabview_bug602432.js disabled for intermittent failures (bug 704417)
 # browser_tabview_bug610242.js disabled for intermittent failures (bug 736036)
 # browser_tabview_bug648882.js disabled for intermittent failures (bug 752862)
 # browser_tabview_bug654941.js disabled for intermittent failures (bug 754222)
 # browser_tabview_bug673729.js disabled for intermittent failures (bug 749980)
 # browser_tabview_bug696602.js disabled for intermittent failures (bug 736425)
new file mode 100644
--- /dev/null
+++ b/browser/components/tabview/test/browser.ini
@@ -0,0 +1,148 @@
+[DEFAULT]
+support-files =
+  dummy_page.html
+  head.js
+  search1.html
+  search2.html
+  test_bug600645.html
+  test_bug644097.html
+  test_bug678374.html
+  test_bug678374_icon16.png
+
+[browser_tabview_alltabs.js]
+[browser_tabview_apptabs.js]
+[browser_tabview_bug580412.js]
+[browser_tabview_bug586553.js]
+[browser_tabview_bug587043.js]
+[browser_tabview_bug587231.js]
+[browser_tabview_bug587276.js]
+[browser_tabview_bug587351.js]
+[browser_tabview_bug587503.js]
+[browser_tabview_bug587990.js]
+[browser_tabview_bug588265.js]
+[browser_tabview_bug589324.js]
+[browser_tabview_bug590606.js]
+[browser_tabview_bug591706.js]
+[browser_tabview_bug593283.js]
+[browser_tabview_bug595191.js]
+[browser_tabview_bug595436.js]
+[browser_tabview_bug595518.js]
+[browser_tabview_bug595521.js]
+[browser_tabview_bug595560.js]
+[browser_tabview_bug595601.js]
+[browser_tabview_bug595804.js]
+[browser_tabview_bug595930.js]
+[browser_tabview_bug595943.js]
+[browser_tabview_bug595965.js]
+[browser_tabview_bug596781.js]
+[browser_tabview_bug597360.js]
+[browser_tabview_bug597399.js]
+[browser_tabview_bug598375.js]
+[browser_tabview_bug598600.js]
+[browser_tabview_bug599048.js]
+[browser_tabview_bug599626.js]
+[browser_tabview_bug600645.js]
+[browser_tabview_bug600812.js]
+[browser_tabview_bug604098.js]
+[browser_tabview_bug606657.js]
+[browser_tabview_bug606905.js]
+[browser_tabview_bug607108.js]
+[browser_tabview_bug608037.js]
+[browser_tabview_bug608153.js]
+[browser_tabview_bug608158.js]
+[browser_tabview_bug608184.js]
+[browser_tabview_bug608405.js]
+[browser_tabview_bug610208.js]
+[browser_tabview_bug610242.js]
+[browser_tabview_bug612470.js]
+[browser_tabview_bug613541.js]
+[browser_tabview_bug616729.js]
+[browser_tabview_bug616967.js]
+[browser_tabview_bug618816.js]
+[browser_tabview_bug618828.js]
+[browser_tabview_bug619937.js]
+[browser_tabview_bug622835.js]
+[browser_tabview_bug623768.js]
+[browser_tabview_bug624265_perwindowpb.js]
+[browser_tabview_bug624692.js]
+[browser_tabview_bug624727_perwindowpb.js]
+[browser_tabview_bug624847.js]
+[browser_tabview_bug624931.js]
+[browser_tabview_bug624953.js]
+[browser_tabview_bug625195.js]
+[browser_tabview_bug625269.js]
+[browser_tabview_bug625424.js]
+[browser_tabview_bug625955.js]
+[browser_tabview_bug626368.js]
+[browser_tabview_bug626455.js]
+[browser_tabview_bug626525.js]
+[browser_tabview_bug626791.js]
+[browser_tabview_bug627736.js]
+[browser_tabview_bug628061.js]
+[browser_tabview_bug628165.js]
+[browser_tabview_bug628270.js]
+[browser_tabview_bug628887.js]
+[browser_tabview_bug629189.js]
+[browser_tabview_bug629195.js]
+[browser_tabview_bug630102.js]
+[browser_tabview_bug630157.js]
+[browser_tabview_bug631662.js]
+[browser_tabview_bug631752.js]
+[browser_tabview_bug633788.js]
+[browser_tabview_bug634077.js]
+[browser_tabview_bug634085.js]
+[browser_tabview_bug634672.js]
+[browser_tabview_bug635696.js]
+[browser_tabview_bug637840.js]
+[browser_tabview_bug640765.js]
+[browser_tabview_bug641802.js]
+[browser_tabview_bug642793.js]
+[browser_tabview_bug643392.js]
+[browser_tabview_bug644097.js]
+[browser_tabview_bug649006.js]
+[browser_tabview_bug649307.js]
+[browser_tabview_bug649319.js]
+[browser_tabview_bug650280_perwindowpb.js]
+[browser_tabview_bug650573.js]
+[browser_tabview_bug651311.js]
+[browser_tabview_bug654295.js]
+[browser_tabview_bug654721.js]
+[browser_tabview_bug655269.js]
+[browser_tabview_bug656778.js]
+[browser_tabview_bug656913.js]
+[browser_tabview_bug659594.js]
+[browser_tabview_bug662266.js]
+[browser_tabview_bug663421.js]
+[browser_tabview_bug665502.js]
+[browser_tabview_bug669694.js]
+[browser_tabview_bug673196.js]
+[browser_tabview_bug681599.js]
+[browser_tabview_bug685476.js]
+[browser_tabview_bug685692.js]
+[browser_tabview_bug686654.js]
+[browser_tabview_bug697390.js]
+[browser_tabview_bug705621.js]
+[browser_tabview_bug706430.js]
+[browser_tabview_bug706736.js]
+[browser_tabview_bug707466.js]
+[browser_tabview_bug712203.js]
+[browser_tabview_bug715454.js]
+[browser_tabview_bug716880.js]
+[browser_tabview_bug728887.js]
+[browser_tabview_bug733115.js]
+[browser_tabview_bug749658.js]
+[browser_tabview_bug766597.js]
+[browser_tabview_click_group.js]
+[browser_tabview_dragdrop.js]
+[browser_tabview_exit_button.js]
+[browser_tabview_expander.js]
+[browser_tabview_firstrun_pref.js]
+[browser_tabview_group.js]
+[browser_tabview_launch.js]
+[browser_tabview_multiwindow_search.js]
+[browser_tabview_privatebrowsing_perwindowpb.js]
+[browser_tabview_rtl.js]
+[browser_tabview_search.js]
+[browser_tabview_snapping.js]
+[browser_tabview_startup_transitions.js]
+[browser_tabview_undo_group.js]
--- a/browser/components/tabview/test/moz.build
+++ b/browser/components/tabview/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/components/test/Makefile.in
+++ b/browser/components/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_BROWSER_FILES = \
-  browser_bug538331.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/components/test/browser.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[browser_bug538331.js]
--- a/browser/components/test/moz.build
+++ b/browser/components/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/debugger/test/Makefile.in
+++ b/browser/devtools/debugger/test/Makefile.in
@@ -1,186 +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_BROWSER_FILES = \
-	browser_dbg_aaa_run_first_leaktest.js \
-	browser_dbg_bfcache.js \
-	browser_dbg_blackboxing-01.js \
-	browser_dbg_blackboxing-02.js \
-	browser_dbg_blackboxing-03.js \
-	browser_dbg_blackboxing-04.js \
-	browser_dbg_blackboxing-05.js \
-	browser_dbg_blackboxing-06.js \
-	browser_dbg_blackboxing-07.js \
-	browser_dbg_breadcrumbs-access.js \
-	browser_dbg_breakpoints-actual-location.js \
-	browser_dbg_breakpoints-contextmenu.js \
-	browser_dbg_breakpoints-disabled-reload.js \
-	browser_dbg_breakpoints-editor.js \
-	browser_dbg_breakpoints-highlight.js \
-	browser_dbg_breakpoints-new-script.js \
-	browser_dbg_breakpoints-pane.js \
-	browser_dbg_chrome-debugging.js \
-	browser_dbg_clean-exit.js \
-	browser_dbg_clean-exit-window.js \
-	browser_dbg_cmd-blackbox.js \
-	browser_dbg_cmd-break.js \
-	browser_dbg_cmd-dbg.js \
-	browser_dbg_conditional-breakpoints-01.js \
-	browser_dbg_conditional-breakpoints-02.js \
-	browser_dbg_debugger-statement.js \
-	browser_dbg_editor-contextmenu.js \
-	browser_dbg_editor-mode.js \
-	browser_dbg_function-display-name.js \
-	browser_dbg_globalactor.js \
-	browser_dbg_iframes.js \
-	browser_dbg_instruments-pane-collapse.js \
-	browser_dbg_listaddons.js \
-	browser_dbg_listtabs-01.js \
-	browser_dbg_listtabs-02.js \
-	browser_dbg_location-changes-01-simple.js \
-	browser_dbg_location-changes-02-blank.js \
-	browser_dbg_location-changes-03-new.js \
-	browser_dbg_location-changes-04-breakpoint.js \
-	browser_dbg_multiple-windows.js \
-	browser_dbg_navigation.js \
-	browser_dbg_on-pause-highlight.js \
-	browser_dbg_panel-size.js \
-	browser_dbg_pause-exceptions-01.js \
-	browser_dbg_pause-exceptions-02.js \
-	browser_dbg_pause-resume.js \
-	browser_dbg_pause-warning.js \
-	browser_dbg_pretty-print-01.js \
-	browser_dbg_pretty-print-02.js \
-	browser_dbg_pretty-print-03.js \
-	browser_dbg_pretty-print-04.js \
-	browser_dbg_pretty-print-05.js \
-	browser_dbg_pretty-print-06.js \
-	browser_dbg_progress-listener-bug.js \
-	browser_dbg_reload-preferred-script-01.js \
-	browser_dbg_reload-preferred-script-02.js \
-	browser_dbg_reload-preferred-script-03.js \
-	browser_dbg_reload-same-script.js \
-	browser_dbg_scripts-switching-01.js \
-	browser_dbg_scripts-switching-02.js \
-	browser_dbg_scripts-switching-03.js \
-	browser_dbg_search-basic-01.js \
-	browser_dbg_search-basic-02.js \
-	browser_dbg_search-basic-03.js \
-	browser_dbg_search-basic-04.js \
-	browser_dbg_search-global-01.js \
-	browser_dbg_search-global-02.js \
-	browser_dbg_search-global-03.js \
-	browser_dbg_search-global-04.js \
-	browser_dbg_search-global-05.js \
-	browser_dbg_search-global-06.js \
-	browser_dbg_search-sources-01.js \
-	browser_dbg_search-sources-02.js \
-	browser_dbg_search-sources-03.js \
-	browser_dbg_search-symbols.js \
-	browser_dbg_searchbox-help-popup-01.js \
-	browser_dbg_searchbox-help-popup-02.js \
-	browser_dbg_searchbox-parse.js \
-	browser_dbg_source-maps-01.js \
-	browser_dbg_source-maps-02.js \
-	browser_dbg_source-maps-03.js \
-	browser_dbg_sources-cache.js \
-	browser_dbg_sources-labels.js \
-	browser_dbg_sources-sorting.js \
-	browser_dbg_stack-01.js \
-	browser_dbg_stack-02.js \
-	browser_dbg_stack-03.js \
-	browser_dbg_stack-04.js \
-	browser_dbg_stack-05.js \
-	browser_dbg_stack-06.js \
-	browser_dbg_step-out.js \
-	browser_dbg_tabactor-01.js \
-	browser_dbg_tabactor-02.js \
-	browser_dbg_variables-view-01.js \
-	browser_dbg_variables-view-02.js \
-	browser_dbg_variables-view-03.js \
-	browser_dbg_variables-view-04.js \
-	browser_dbg_variables-view-05.js \
-	browser_dbg_variables-view-accessibility.js \
-	browser_dbg_variables-view-data.js \
-	browser_dbg_variables-view-edit-getset-01.js \
-	browser_dbg_variables-view-edit-getset-02.js \
-	browser_dbg_variables-view-edit-value.js \
-	browser_dbg_variables-view-edit-watch.js \
-	browser_dbg_variables-view-filter-01.js \
-	browser_dbg_variables-view-filter-02.js \
-	browser_dbg_variables-view-filter-03.js \
-	browser_dbg_variables-view-filter-04.js \
-	browser_dbg_variables-view-filter-05.js \
-	browser_dbg_variables-view-filter-pref.js \
-	browser_dbg_variables-view-filter-searchbox.js \
-	browser_dbg_variables-view-frame-parameters-01.js \
-	browser_dbg_variables-view-frame-parameters-02.js \
-	browser_dbg_variables-view-frame-parameters-03.js \
-	browser_dbg_variables-view-frame-with.js \
-	browser_dbg_variables-view-frozen-sealed-nonext.js \
-	browser_dbg_variables-view-hide-non-enums.js \
-	browser_dbg_variables-view-large-array-buffer.js \
-	browser_dbg_variables-view-reexpand-01.js \
-	browser_dbg_variables-view-reexpand-02.js \
-	browser_dbg_variables-view-webidl.js \
-	browser_dbg_watch-expressions-01.js \
-	browser_dbg_watch-expressions-02.js \
-	head.js \
-	doc_binary_search.html \
-	doc_blackboxing.html \
-	doc_cmd-break.html \
-	doc_cmd-dbg.html \
-	doc_conditional-breakpoints.html \
-	doc_editor-mode.html \
-	doc_empty-tab-01.html \
-	doc_empty-tab-02.html \
-	doc_event-listeners.html \
-	doc_frame-parameters.html \
-	doc_function-display-name.html \
-	doc_function-search.html \
-	doc_iframes.html \
-	doc_included-script.html \
-	doc_inline-debugger-statement.html \
-	doc_inline-script.html \
-	doc_large-array-buffer.html \
-	doc_minified.html \
-	doc_pause-exceptions.html \
-	doc_pretty-print.html \
-	doc_recursion-stack.html \
-	doc_script-switching-01.html \
-	doc_script-switching-02.html \
-	doc_step-out.html \
-	doc_watch-expressions.html \
-	doc_with-frame.html \
-	code_binary_search.coffee \
-	code_binary_search.js \
-	code_binary_search.map \
-	code_blackboxing_blackboxme.js \
-	code_blackboxing_one.js \
-	code_blackboxing_two.js \
-	code_blackboxing_three.js \
-	code_function-search-01.js \
-	code_function-search-02.js \
-	code_function-search-03.js \
-	code_location-changes.js \
-	code_math.js \
-	code_math.map \
-	code_math.min.js \
-	code_script-switching-01.js \
-	code_script-switching-02.js \
-	code_test-editor-mode \
-	code_ugly.js \
-	testactors.js \
-	addon1.xpi \
-	addon2.xpi \
-	$(NULL)
-
 # Bug 888811 & bug 891176:
 #   Disable browser_dbg_on-pause-raise.js due to frequent failures
 # Bug 847558:
 #   Disable browser_dbg_chrome-create.js to fix Ubuntu hangs
 ifneq (Linux,$(OS_ARCH))
 MOCHITEST_BROWSER_FILES += \
 	browser_dbg_chrome-create.js \
 	browser_dbg_on-pause-raise.js \
new file mode 100644
--- /dev/null
+++ b/browser/devtools/debugger/test/browser.ini
@@ -0,0 +1,174 @@
+[DEFAULT]
+support-files =
+  addon1.xpi
+  addon2.xpi
+  code_binary_search.coffee
+  code_binary_search.js
+  code_binary_search.map
+  code_blackboxing_blackboxme.js
+  code_blackboxing_one.js
+  code_blackboxing_three.js
+  code_blackboxing_two.js
+  code_function-search-01.js
+  code_function-search-02.js
+  code_function-search-03.js
+  code_location-changes.js
+  code_math.js
+  code_math.map
+  code_math.min.js
+  code_script-switching-01.js
+  code_script-switching-02.js
+  code_test-editor-mode
+  code_ugly.js
+  doc_binary_search.html
+  doc_blackboxing.html
+  doc_cmd-break.html
+  doc_cmd-dbg.html
+  doc_conditional-breakpoints.html
+  doc_editor-mode.html
+  doc_empty-tab-01.html
+  doc_empty-tab-02.html
+  doc_event-listeners.html
+  doc_frame-parameters.html
+  doc_function-display-name.html
+  doc_function-search.html
+  doc_iframes.html
+  doc_included-script.html
+  doc_inline-debugger-statement.html
+  doc_inline-script.html
+  doc_large-array-buffer.html
+  doc_minified.html
+  doc_pause-exceptions.html
+  doc_pretty-print.html
+  doc_recursion-stack.html
+  doc_script-switching-01.html
+  doc_script-switching-02.html
+  doc_step-out.html
+  doc_watch-expressions.html
+  doc_with-frame.html
+  head.js
+  testactors.js
+
+[browser_dbg_aaa_run_first_leaktest.js]
+[browser_dbg_bfcache.js]
+[browser_dbg_blackboxing-01.js]
+[browser_dbg_blackboxing-02.js]
+[browser_dbg_blackboxing-03.js]
+[browser_dbg_blackboxing-04.js]
+[browser_dbg_blackboxing-05.js]
+[browser_dbg_blackboxing-06.js]
+[browser_dbg_blackboxing-07.js]
+[browser_dbg_breadcrumbs-access.js]
+[browser_dbg_breakpoints-actual-location.js]
+[browser_dbg_breakpoints-contextmenu.js]
+[browser_dbg_breakpoints-disabled-reload.js]
+[browser_dbg_breakpoints-editor.js]
+[browser_dbg_breakpoints-highlight.js]
+[browser_dbg_breakpoints-new-script.js]
+[browser_dbg_breakpoints-pane.js]
+[browser_dbg_chrome-debugging.js]
+[browser_dbg_clean-exit-window.js]
+[browser_dbg_clean-exit.js]
+[browser_dbg_cmd-blackbox.js]
+[browser_dbg_cmd-break.js]
+[browser_dbg_cmd-dbg.js]
+[browser_dbg_conditional-breakpoints-01.js]
+[browser_dbg_conditional-breakpoints-02.js]
+[browser_dbg_debugger-statement.js]
+[browser_dbg_editor-contextmenu.js]
+[browser_dbg_editor-mode.js]
+[browser_dbg_function-display-name.js]
+[browser_dbg_globalactor.js]
+[browser_dbg_iframes.js]
+[browser_dbg_instruments-pane-collapse.js]
+[browser_dbg_listaddons.js]
+[browser_dbg_listtabs-01.js]
+[browser_dbg_listtabs-02.js]
+[browser_dbg_location-changes-01-simple.js]
+[browser_dbg_location-changes-02-blank.js]
+[browser_dbg_location-changes-03-new.js]
+[browser_dbg_location-changes-04-breakpoint.js]
+[browser_dbg_multiple-windows.js]
+[browser_dbg_navigation.js]
+[browser_dbg_on-pause-highlight.js]
+[browser_dbg_panel-size.js]
+[browser_dbg_pause-exceptions-01.js]
+[browser_dbg_pause-exceptions-02.js]
+[browser_dbg_pause-resume.js]
+[browser_dbg_pause-warning.js]
+[browser_dbg_pretty-print-01.js]
+[browser_dbg_pretty-print-02.js]
+[browser_dbg_pretty-print-03.js]
+[browser_dbg_pretty-print-04.js]
+[browser_dbg_pretty-print-05.js]
+[browser_dbg_pretty-print-06.js]
+[browser_dbg_progress-listener-bug.js]
+[browser_dbg_reload-preferred-script-01.js]
+[browser_dbg_reload-preferred-script-02.js]
+[browser_dbg_reload-preferred-script-03.js]
+[browser_dbg_reload-same-script.js]
+[browser_dbg_scripts-switching-01.js]
+[browser_dbg_scripts-switching-02.js]
+[browser_dbg_scripts-switching-03.js]
+[browser_dbg_search-basic-01.js]
+[browser_dbg_search-basic-02.js]
+[browser_dbg_search-basic-03.js]
+[browser_dbg_search-basic-04.js]
+[browser_dbg_search-global-01.js]
+[browser_dbg_search-global-02.js]
+[browser_dbg_search-global-03.js]
+[browser_dbg_search-global-04.js]
+[browser_dbg_search-global-05.js]
+[browser_dbg_search-global-06.js]
+[browser_dbg_search-sources-01.js]
+[browser_dbg_search-sources-02.js]
+[browser_dbg_search-sources-03.js]
+[browser_dbg_search-symbols.js]
+[browser_dbg_searchbox-help-popup-01.js]
+[browser_dbg_searchbox-help-popup-02.js]
+[browser_dbg_searchbox-parse.js]
+[browser_dbg_source-maps-01.js]
+[browser_dbg_source-maps-02.js]
+[browser_dbg_source-maps-03.js]
+[browser_dbg_sources-cache.js]
+[browser_dbg_sources-labels.js]
+[browser_dbg_sources-sorting.js]
+[browser_dbg_stack-01.js]
+[browser_dbg_stack-02.js]
+[browser_dbg_stack-03.js]
+[browser_dbg_stack-04.js]
+[browser_dbg_stack-05.js]
+[browser_dbg_stack-06.js]
+[browser_dbg_step-out.js]
+[browser_dbg_tabactor-01.js]
+[browser_dbg_tabactor-02.js]
+[browser_dbg_variables-view-01.js]
+[browser_dbg_variables-view-02.js]
+[browser_dbg_variables-view-03.js]
+[browser_dbg_variables-view-04.js]
+[browser_dbg_variables-view-05.js]
+[browser_dbg_variables-view-accessibility.js]
+[browser_dbg_variables-view-data.js]
+[browser_dbg_variables-view-edit-getset-01.js]
+[browser_dbg_variables-view-edit-getset-02.js]
+[browser_dbg_variables-view-edit-value.js]
+[browser_dbg_variables-view-edit-watch.js]
+[browser_dbg_variables-view-filter-01.js]
+[browser_dbg_variables-view-filter-02.js]
+[browser_dbg_variables-view-filter-03.js]
+[browser_dbg_variables-view-filter-04.js]
+[browser_dbg_variables-view-filter-05.js]
+[browser_dbg_variables-view-filter-pref.js]
+[browser_dbg_variables-view-filter-searchbox.js]
+[browser_dbg_variables-view-frame-parameters-01.js]
+[browser_dbg_variables-view-frame-parameters-02.js]
+[browser_dbg_variables-view-frame-parameters-03.js]
+[browser_dbg_variables-view-frame-with.js]
+[browser_dbg_variables-view-frozen-sealed-nonext.js]
+[browser_dbg_variables-view-hide-non-enums.js]
+[browser_dbg_variables-view-large-array-buffer.js]
+[browser_dbg_variables-view-reexpand-01.js]
+[browser_dbg_variables-view-reexpand-02.js]
+[browser_dbg_variables-view-webidl.js]
+[browser_dbg_watch-expressions-01.js]
+[browser_dbg_watch-expressions-02.js]
--- a/browser/devtools/debugger/test/moz.build
+++ b/browser/devtools/debugger/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/fontinspector/test/Makefile.in
+++ b/browser/devtools/fontinspector/test/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_BROWSER_FILES := \
-		browser_fontinspector.js \
-		browser_fontinspector.html \
-		browser_font.woff \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/fontinspector/test/browser.ini
@@ -0,0 +1,5 @@
+[DEFAULT]
+
+[browser_font.woff]
+[browser_fontinspector.html]
+[browser_fontinspector.js]
--- a/browser/devtools/fontinspector/test/moz.build
+++ b/browser/devtools/fontinspector/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/framework/test/Makefile.in
+++ b/browser/devtools/framework/test/Makefile.in
@@ -1,28 +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_BROWSER_FILES = \
-		head.js \
-		browser_devtools_api.js \
-		browser_dynamic_tool_enabling.js \
-		browser_new_activation_workflow.js \
-		browser_toolbox_dynamic_registration.js \
-		browser_toolbox_hosts.js \
-		browser_toolbox_ready.js \
-		browser_toolbox_select_event.js \
-		browser_target_events.js \
-		browser_toolbox_tool_ready.js \
-		browser_toolbox_sidebar.js \
-		browser_toolbox_window_shortcuts.js \
-		browser_toolbox_tabsswitch_shortcuts.js \
-		browser_toolbox_window_title_changes.js \
-		browser_toolbox_options.js \
-		browser_toolbox_options_disablejs.js \
-		browser_toolbox_options_disablejs.html \
-		browser_toolbox_options_disablejs_iframe.html \
-		browser_toolbox_highlight.js \
-		browser_toolbox_raise.js \
-		browser_toolbox_zoom.js \
-		browser_keybindings.js \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/framework/test/browser.ini
@@ -0,0 +1,24 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_devtools_api.js]
+[browser_dynamic_tool_enabling.js]
+[browser_keybindings.js]
+[browser_new_activation_workflow.js]
+[browser_target_events.js]
+[browser_toolbox_dynamic_registration.js]
+[browser_toolbox_highlight.js]
+[browser_toolbox_hosts.js]
+[browser_toolbox_options.js]
+[browser_toolbox_options_disablejs.html]
+[browser_toolbox_options_disablejs.js]
+[browser_toolbox_options_disablejs_iframe.html]
+[browser_toolbox_raise.js]
+[browser_toolbox_ready.js]
+[browser_toolbox_select_event.js]
+[browser_toolbox_sidebar.js]
+[browser_toolbox_tabsswitch_shortcuts.js]
+[browser_toolbox_tool_ready.js]
+[browser_toolbox_window_shortcuts.js]
+[browser_toolbox_window_title_changes.js]
+[browser_toolbox_zoom.js]
--- a/browser/devtools/framework/test/moz.build
+++ b/browser/devtools/framework/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/inspector/test/Makefile.in
+++ b/browser/devtools/inspector/test/Makefile.in
@@ -1,49 +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/.
 
 # Disabled for too many intermittent failures (bug 851349)
 #		browser_inspector_bug_831693_searchbox_panel_navigation.js \
 
-MOCHITEST_BROWSER_FILES := \
-		browser_inspector_iframeTest.js \
-		browser_inspector_initialization.js \
-		browser_inspector_highlighter.js \
-		browser_inspector_scrolling.js \
-		browser_inspector_bug_665880.js \
-		browser_inspector_infobar.js \
-		browser_inspector_breadcrumbs.html \
-		browser_inspector_breadcrumbs.js \
-		browser_inspector_invalidate.js \
-		browser_inspector_menu.js \
-		browser_inspector_menu.html \
-		browser_inspector_pseudoClass_menu.js \
-		browser_inspector_destroyselection.html \
-		browser_inspector_destroyselection.js \
-		browser_inspector_bug_699308_iframe_navigation.js \
-		browser_inspector_bug_672902_keyboard_shortcuts.js \
-		browser_inspector_sidebarstate.js \
-		browser_inspector_pseudoclass_lock.js \
-		browser_inspector_cmd_inspect.js \
-		browser_inspector_cmd_inspect.html \
-		browser_inspector_highlighter_autohide.js \
-		browser_inspector_changes.js \
-		browser_inspector_bug_674871.js \
-		browser_inspector_bug_817558_delete_node.js \
-		browser_inspector_bug_650804_search.js \
-		browser_inspector_bug_650804_search.html \
-		browser_inspector_bug_831693_input_suggestion.js \
-		browser_inspector_bug_831693_combinator_suggestions.js \
-		browser_inspector_bug_831693_search_suggestions.html \
-		browser_inspector_bug_835722_infobar_reappears.js \
-		browser_inspector_bug_840156_destroy_after_navigation.js \
-		browser_inspector_reload.js \
-		browser_inspector_navigation.js \
-		browser_inspector_select_last_selected.js \
-		browser_inspector_select_last_selected.html \
-		browser_inspector_select_last_selected2.html \
-		browser_inspector_basic_highlighter.js \
-    browser_inspector_dead_node_exception.html \
-    browser_inspector_dead_node_exception.js \
-		head.js \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/inspector/test/browser.ini
@@ -0,0 +1,42 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_inspector_basic_highlighter.js]
+[browser_inspector_breadcrumbs.html]
+[browser_inspector_breadcrumbs.js]
+[browser_inspector_bug_650804_search.html]
+[browser_inspector_bug_650804_search.js]
+[browser_inspector_bug_665880.js]
+[browser_inspector_bug_672902_keyboard_shortcuts.js]
+[browser_inspector_bug_674871.js]
+[browser_inspector_bug_699308_iframe_navigation.js]
+[browser_inspector_bug_817558_delete_node.js]
+[browser_inspector_bug_831693_combinator_suggestions.js]
+[browser_inspector_bug_831693_input_suggestion.js]
+[browser_inspector_bug_831693_search_suggestions.html]
+[browser_inspector_bug_835722_infobar_reappears.js]
+[browser_inspector_bug_840156_destroy_after_navigation.js]
+[browser_inspector_changes.js]
+[browser_inspector_cmd_inspect.html]
+[browser_inspector_cmd_inspect.js]
+[browser_inspector_dead_node_exception.html]
+[browser_inspector_dead_node_exception.js]
+[browser_inspector_destroyselection.html]
+[browser_inspector_destroyselection.js]
+[browser_inspector_highlighter.js]
+[browser_inspector_highlighter_autohide.js]
+[browser_inspector_iframeTest.js]
+[browser_inspector_infobar.js]
+[browser_inspector_initialization.js]
+[browser_inspector_invalidate.js]
+[browser_inspector_menu.html]
+[browser_inspector_menu.js]
+[browser_inspector_navigation.js]
+[browser_inspector_pseudoClass_menu.js]
+[browser_inspector_pseudoclass_lock.js]
+[browser_inspector_reload.js]
+[browser_inspector_scrolling.js]
+[browser_inspector_select_last_selected.html]
+[browser_inspector_select_last_selected.js]
+[browser_inspector_select_last_selected2.html]
+[browser_inspector_sidebarstate.js]
--- a/browser/devtools/inspector/test/moz.build
+++ b/browser/devtools/inspector/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/layoutview/test/Makefile.in
+++ b/browser/devtools/layoutview/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_BROWSER_FILES := \
-		browser_layoutview.js \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/layoutview/test/browser.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[browser_layoutview.js]
--- a/browser/devtools/layoutview/test/moz.build
+++ b/browser/devtools/layoutview/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/markupview/test/Makefile.in
+++ b/browser/devtools/markupview/test/Makefile.in
@@ -1,19 +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_BROWSER_FILES := \
-		browser_inspector_markup_colorconversion.js \
-    browser_inspector_markup_navigation.html \
-    browser_inspector_markup_navigation.js \
-    browser_inspector_markup_mutation.html \
-    browser_inspector_markup_mutation.js \
-    browser_inspector_markup_mutation_flashing.html \
-		browser_inspector_markup_mutation_flashing.js \
-		browser_inspector_markup_edit.html \
-    browser_inspector_markup_edit.js \
-    browser_inspector_markup_subset.html \
-    browser_inspector_markup_subset.js \
-    browser_bug896181_css_mixed_completion_new_attribute.js \
-		head.js \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/markupview/test/browser.ini
@@ -0,0 +1,15 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_bug896181_css_mixed_completion_new_attribute.js]
+[browser_inspector_markup_colorconversion.js]
+[browser_inspector_markup_edit.html]
+[browser_inspector_markup_edit.js]
+[browser_inspector_markup_mutation.html]
+[browser_inspector_markup_mutation.js]
+[browser_inspector_markup_mutation_flashing.html]
+[browser_inspector_markup_mutation_flashing.js]
+[browser_inspector_markup_navigation.html]
+[browser_inspector_markup_navigation.js]
+[browser_inspector_markup_subset.html]
+[browser_inspector_markup_subset.js]
--- a/browser/devtools/markupview/test/moz.build
+++ b/browser/devtools/markupview/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/netmonitor/test/Makefile.in
+++ b/browser/devtools/netmonitor/test/Makefile.in
@@ -1,63 +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_BROWSER_FILES = \
-	browser_net_aaa_leaktest.js \
-	browser_net_autoscroll.js \
-	browser_net_simple-init.js \
-	browser_net_page-nav.js \
-	browser_net_prefs-and-l10n.js \
-	browser_net_prefs-reload.js \
-	browser_net_pane-collapse.js \
-	browser_net_pane-toggle.js \
-	browser_net_simple-request.js \
-	browser_net_simple-request-data.js \
-	browser_net_simple-request-details.js \
-	browser_net_content-type.js \
-	browser_net_cyrillic-01.js \
-	browser_net_cyrillic-02.js \
-	browser_net_large-response.js \
-	browser_net_status-codes.js \
-	browser_net_post-data-01.js \
-	browser_net_post-data-02.js \
-	browser_net_jsonp.js \
-	browser_net_json-long.js \
-	browser_net_json-malformed.js \
-	browser_net_json_custom_mime.js \
-	browser_net_timeline_ticks.js \
-	browser_net_sort-01.js \
-	browser_net_sort-02.js \
-	browser_net_sort-03.js \
-	browser_net_filter-01.js \
-	browser_net_filter-02.js \
-	browser_net_filter-03.js \
-	browser_net_accessibility-01.js \
-	browser_net_accessibility-02.js \
-	browser_net_footer-summary.js \
-	browser_net_resend.js \
-	browser_net_req-resp-bodies.js \
-	browser_net_copy_url.js \
-	browser_net_open_request_in_tab.js \
-	head.js \
-	test-image.png \
-	html_simple-test-page.html \
-	html_navigate-test-page.html \
-	html_content-type-test-page.html \
-	html_cyrillic-test-page.html \
-	html_status-codes-test-page.html \
-	html_post-data-test-page.html \
-	html_post-raw-test-page.html \
-	html_jsonp-test-page.html \
-	html_json-long-test-page.html \
-	html_json-malformed-test-page.html \
-	html_json-custom-mime-test-page.html \
-	html_sorting-test-page.html \
-	html_filter-test-page.html \
-	html_infinite-get-page.html \
-	html_custom-get-page.html \
-	sjs_simple-test-server.sjs \
-	sjs_content-type-test-server.sjs \
-	sjs_status-codes-test-server.sjs \
-	sjs_sorting-test-server.sjs \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/netmonitor/test/browser.ini
@@ -0,0 +1,60 @@
+[DEFAULT]
+support-files =
+  head.js
+  html_content-type-test-page.html
+  html_custom-get-page.html
+  html_cyrillic-test-page.html
+  html_filter-test-page.html
+  html_infinite-get-page.html
+  html_json-custom-mime-test-page.html
+  html_json-long-test-page.html
+  html_json-malformed-test-page.html
+  html_jsonp-test-page.html
+  html_navigate-test-page.html
+  html_post-data-test-page.html
+  html_post-raw-test-page.html
+  html_simple-test-page.html
+  html_sorting-test-page.html
+  html_status-codes-test-page.html
+  sjs_content-type-test-server.sjs
+  sjs_simple-test-server.sjs
+  sjs_sorting-test-server.sjs
+  sjs_status-codes-test-server.sjs
+  test-image.png
+
+[browser_net_aaa_leaktest.js]
+[browser_net_accessibility-01.js]
+[browser_net_accessibility-02.js]
+[browser_net_autoscroll.js]
+[browser_net_content-type.js]
+[browser_net_copy_url.js]
+[browser_net_cyrillic-01.js]
+[browser_net_cyrillic-02.js]
+[browser_net_filter-01.js]
+[browser_net_filter-02.js]
+[browser_net_filter-03.js]
+[browser_net_footer-summary.js]
+[browser_net_json-long.js]
+[browser_net_json-malformed.js]
+[browser_net_json_custom_mime.js]
+[browser_net_jsonp.js]
+[browser_net_large-response.js]
+[browser_net_open_request_in_tab.js]
+[browser_net_page-nav.js]
+[browser_net_pane-collapse.js]
+[browser_net_pane-toggle.js]
+[browser_net_post-data-01.js]
+[browser_net_post-data-02.js]
+[browser_net_prefs-and-l10n.js]
+[browser_net_prefs-reload.js]
+[browser_net_req-resp-bodies.js]
+[browser_net_resend.js]
+[browser_net_simple-init.js]
+[browser_net_simple-request-data.js]
+[browser_net_simple-request-details.js]
+[browser_net_simple-request.js]
+[browser_net_sort-01.js]
+[browser_net_sort-02.js]
+[browser_net_sort-03.js]
+[browser_net_status-codes.js]
+[browser_net_timeline_ticks.js]
--- a/browser/devtools/netmonitor/test/moz.build
+++ b/browser/devtools/netmonitor/test/moz.build
@@ -1,5 +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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/profiler/test/Makefile.in
+++ b/browser/devtools/profiler/test/Makefile.in
@@ -1,23 +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_BROWSER_FILES = \
-		browser_profiler_remote.js \
-		browser_profiler_bug_834878_source_buttons.js \
-		browser_profiler_cmd.js \
-		browser_profiler_run.js \
-		browser_profiler_controller.js \
-		browser_profiler_bug_855244_multiple_tabs.js \
-		browser_profiler_console_api.js \
-		browser_profiler_console_api_named.js \
-		browser_profiler_console_api_mixed.js \
-		browser_profiler_console_api_content.js \
-		browser_profiler_escape.js \
-		browser_profiler_gecko_data.js \
-		browser_profiler_io.js \
-		head.js \
-		mock_profiler_bug_834878_page.html \
-		mock_profiler_bug_834878_script.js \
-		mock_console_api.html \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/profiler/test/browser.ini
@@ -0,0 +1,20 @@
+[DEFAULT]
+support-files =
+  head.js
+  mock_console_api.html
+  mock_profiler_bug_834878_page.html
+  mock_profiler_bug_834878_script.js
+
+[browser_profiler_bug_834878_source_buttons.js]
+[browser_profiler_bug_855244_multiple_tabs.js]
+[browser_profiler_cmd.js]
+[browser_profiler_console_api.js]
+[browser_profiler_console_api_content.js]
+[browser_profiler_console_api_mixed.js]
+[browser_profiler_console_api_named.js]
+[browser_profiler_controller.js]
+[browser_profiler_escape.js]
+[browser_profiler_gecko_data.js]
+[browser_profiler_io.js]
+[browser_profiler_remote.js]
+[browser_profiler_run.js]
--- a/browser/devtools/profiler/test/moz.build
+++ b/browser/devtools/profiler/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/responsivedesign/test/Makefile.in
+++ b/browser/devtools/responsivedesign/test/Makefile.in
@@ -1,14 +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_BROWSER_FILES := \
-		browser_responsiveui.js \
-		browser_responsiveuiaddcustompreset.js \
-		browser_responsiveruleview.js \
-		browser_responsive_cmd.js \
-		browser_responsivecomputedview.js \
-		browser_responsiveui_touch.js \
-		touch.html \
-		head.js \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/responsivedesign/test/browser.ini
@@ -0,0 +1,11 @@
+[DEFAULT]
+support-files =
+  head.js
+  touch.html
+
+[browser_responsive_cmd.js]
+[browser_responsivecomputedview.js]
+[browser_responsiveruleview.js]
+[browser_responsiveui.js]
+[browser_responsiveui_touch.js]
+[browser_responsiveuiaddcustompreset.js]
--- a/browser/devtools/responsivedesign/test/moz.build
+++ b/browser/devtools/responsivedesign/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/scratchpad/test/Makefile.in
+++ b/browser/devtools/scratchpad/test/Makefile.in
@@ -1,38 +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_BROWSER_FILES = \
-		browser_scratchpad_initialization.js \
-		browser_scratchpad_contexts.js \
-		browser_scratchpad_tab_switch.js \
-		browser_scratchpad_execute_print.js \
-		browser_scratchpad_inspect.js \
-		browser_scratchpad_files.js \
-		browser_scratchpad_ui.js \
-		browser_scratchpad_bug_646070_chrome_context_pref.js \
-		browser_scratchpad_bug_660560_tab.js \
-		browser_scratchpad_open.js \
-		browser_scratchpad_restore.js \
-		browser_scratchpad_bug_679467_falsy.js \
-		browser_scratchpad_bug_699130_edit_ui_updates.js \
-		browser_scratchpad_bug_669612_unsaved.js \
-		browser_scratchpad_bug684546_reset_undo.js \
-		browser_scratchpad_bug690552_display_outputs_errors.js \
-		browser_scratchpad_bug714942_goto_line_ui.js \
-		browser_scratchpad_bug_650760_help_key.js \
-		browser_scratchpad_bug_651942_recent_files.js \
-		browser_scratchpad_bug756681_display_non_error_exceptions.js \
-		browser_scratchpad_bug_751744_revert_to_saved.js \
-		browser_scratchpad_bug740948_reload_and_run.js \
-		browser_scratchpad_bug_661762_wrong_window_focus.js \
-		browser_scratchpad_bug_644413_modeline.js \
-		browser_scratchpad_bug807924_cannot_convert_to_string.js \
-		browser_scratchpad_long_string.js \
-		browser_scratchpad_open_error_console.js \
-		browser_scratchpad_pprint.js \
-		browser_scratchpad_pprint-02.js\
-		head.js \
-
 # Disable test due to bug 807234 becoming basically permanent
 #		browser_scratchpad_bug_653427_confirm_close.js \
new file mode 100644
--- /dev/null
+++ b/browser/devtools/scratchpad/test/browser.ini
@@ -0,0 +1,32 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_scratchpad_bug684546_reset_undo.js]
+[browser_scratchpad_bug690552_display_outputs_errors.js]
+[browser_scratchpad_bug714942_goto_line_ui.js]
+[browser_scratchpad_bug740948_reload_and_run.js]
+[browser_scratchpad_bug756681_display_non_error_exceptions.js]
+[browser_scratchpad_bug807924_cannot_convert_to_string.js]
+[browser_scratchpad_bug_644413_modeline.js]
+[browser_scratchpad_bug_646070_chrome_context_pref.js]
+[browser_scratchpad_bug_650760_help_key.js]
+[browser_scratchpad_bug_651942_recent_files.js]
+[browser_scratchpad_bug_660560_tab.js]
+[browser_scratchpad_bug_661762_wrong_window_focus.js]
+[browser_scratchpad_bug_669612_unsaved.js]
+[browser_scratchpad_bug_679467_falsy.js]
+[browser_scratchpad_bug_699130_edit_ui_updates.js]
+[browser_scratchpad_bug_751744_revert_to_saved.js]
+[browser_scratchpad_contexts.js]
+[browser_scratchpad_execute_print.js]
+[browser_scratchpad_files.js]
+[browser_scratchpad_initialization.js]
+[browser_scratchpad_inspect.js]
+[browser_scratchpad_long_string.js]
+[browser_scratchpad_open.js]
+[browser_scratchpad_open_error_console.js]
+[browser_scratchpad_pprint-02.js]
+[browser_scratchpad_pprint.js]
+[browser_scratchpad_restore.js]
+[browser_scratchpad_tab_switch.js]
+[browser_scratchpad_ui.js]
--- a/browser/devtools/scratchpad/test/moz.build
+++ b/browser/devtools/scratchpad/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/shared/test/Makefile.in
+++ b/browser/devtools/shared/test/Makefile.in
@@ -1,38 +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_BROWSER_FILES = \
-		browser_css_color.js \
-		browser_eventemitter_basic.js \
-		browser_observableobject.js \
-		browser_layoutHelpers.js \
-		browser_require_basic.js \
-		browser_telemetry_sidebar.js \
-		browser_telemetry_button_responsive.js \
-		browser_telemetry_button_scratchpad.js \
-		browser_telemetry_button_tilt.js \
-		browser_telemetry_button_paintflashing.js \
-		browser_telemetry_toolboxtabs_inspector.js \
-		browser_telemetry_toolboxtabs_jsdebugger.js \
-		browser_telemetry_toolboxtabs_jsprofiler.js \
-		browser_telemetry_toolboxtabs_netmonitor.js \
-		browser_telemetry_toolboxtabs_options.js \
-		browser_telemetry_toolboxtabs_styleeditor.js \
-		browser_telemetry_toolboxtabs_webconsole.js \
-		browser_templater_basic.js \
-		browser_toolbar_basic.js \
-		browser_toolbar_tooltip.js \
-		browser_toolbar_webconsole_errors_count.js \
-		head.js \
-		leakhunt.js \
-	$(NULL)
-
-MOCHITEST_BROWSER_FILES += \
-		browser_templater_basic.html \
-		browser_toolbar_basic.html \
-		browser_toolbar_webconsole_errors_count.html \
-		browser_layoutHelpers.html \
-		browser_layoutHelpers_iframe.html \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/shared/test/browser.ini
@@ -0,0 +1,31 @@
+[DEFAULT]
+support-files =
+  head.js
+  leakhunt.js
+
+[browser_css_color.js]
+[browser_eventemitter_basic.js]
+[browser_layoutHelpers.html]
+[browser_layoutHelpers.js]
+[browser_layoutHelpers_iframe.html]
+[browser_observableobject.js]
+[browser_require_basic.js]
+[browser_telemetry_button_paintflashing.js]
+[browser_telemetry_button_responsive.js]
+[browser_telemetry_button_scratchpad.js]
+[browser_telemetry_button_tilt.js]
+[browser_telemetry_sidebar.js]
+[browser_telemetry_toolboxtabs_inspector.js]
+[browser_telemetry_toolboxtabs_jsdebugger.js]
+[browser_telemetry_toolboxtabs_jsprofiler.js]
+[browser_telemetry_toolboxtabs_netmonitor.js]
+[browser_telemetry_toolboxtabs_options.js]
+[browser_telemetry_toolboxtabs_styleeditor.js]
+[browser_telemetry_toolboxtabs_webconsole.js]
+[browser_templater_basic.html]
+[browser_templater_basic.js]
+[browser_toolbar_basic.html]
+[browser_toolbar_basic.js]
+[browser_toolbar_tooltip.js]
+[browser_toolbar_webconsole_errors_count.html]
+[browser_toolbar_webconsole_errors_count.js]
--- a/browser/devtools/shared/test/moz.build
+++ b/browser/devtools/shared/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/.
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
+
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/sourceeditor/test/Makefile.in
+++ b/browser/devtools/sourceeditor/test/Makefile.in
@@ -1,36 +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_BROWSER_FILES = \
-		browser_sourceeditor_initialization.js \
-		browser_bug684862_paste_html.js \
-		browser_bug687573_vscroll.js \
-		browser_bug687568_pagescroll.js \
-		browser_bug687580_drag_and_drop.js \
-		browser_bug684546_reset_undo.js \
-		browser_bug695035_middle_click_paste.js \
-		browser_bug687160_line_api.js \
-		browser_bug650345_find.js \
-		browser_bug703692_focus_blur.js \
-		browser_bug725388_mouse_events.js \
-		browser_bug707987_debugger_breakpoints.js \
-		browser_bug712982_line_ruler_click.js \
-		browser_bug725618_moveLines_shortcut.js \
-		browser_bug700893_dirty_state.js \
-		browser_bug729480_line_vertical_align.js \
-		browser_bug725430_comment_uncomment.js \
-		browser_bug731721_debugger_stepping.js \
-		browser_bug729960_block_bracket_jump.js \
-		browser_bug744021_next_prev_bracket_jump.js \
-		browser_bug725392_mouse_coords_char_offset.js \
-		browser_codemirror.js \
-		head.js \
-		codemirror.html \
-		cm_comment_test.js \
-		cm_driver.js \
-		cm_mode_test.css \
-		cm_mode_test.js \
-		cm_test.js \
-		cm_mode_javascript_test.js \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/sourceeditor/test/browser.ini
@@ -0,0 +1,33 @@
+[DEFAULT]
+support-files =
+  cm_comment_test.js
+  cm_driver.js
+  cm_mode_javascript_test.js
+  cm_mode_test.css
+  cm_mode_test.js
+  cm_test.js
+  codemirror.html
+  head.js
+
+[browser_bug650345_find.js]
+[browser_bug684546_reset_undo.js]
+[browser_bug684862_paste_html.js]
+[browser_bug687160_line_api.js]
+[browser_bug687568_pagescroll.js]
+[browser_bug687573_vscroll.js]
+[browser_bug687580_drag_and_drop.js]
+[browser_bug695035_middle_click_paste.js]
+[browser_bug700893_dirty_state.js]
+[browser_bug703692_focus_blur.js]
+[browser_bug707987_debugger_breakpoints.js]
+[browser_bug712982_line_ruler_click.js]
+[browser_bug725388_mouse_events.js]
+[browser_bug725392_mouse_coords_char_offset.js]
+[browser_bug725430_comment_uncomment.js]
+[browser_bug725618_moveLines_shortcut.js]
+[browser_bug729480_line_vertical_align.js]
+[browser_bug729960_block_bracket_jump.js]
+[browser_bug731721_debugger_stepping.js]
+[browser_bug744021_next_prev_bracket_jump.js]
+[browser_codemirror.js]
+[browser_sourceeditor_initialization.js]
--- a/browser/devtools/sourceeditor/test/moz.build
+++ b/browser/devtools/sourceeditor/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/styleeditor/test/Makefile.in
+++ b/browser/devtools/styleeditor/test/Makefile.in
@@ -1,44 +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_BROWSER_FILES := \
-                 browser_styleeditor_enabled.js \
-                 browser_styleeditor_filesave.js \
-                 browser_styleeditor_cmd_edit.js \
-                 browser_styleeditor_cmd_edit.html \
-                 browser_styleeditor_import.js \
-                 browser_styleeditor_import_rule.js \
-                 browser_styleeditor_init.js \
-                 browser_styleeditor_loading.js \
-                 browser_styleeditor_new.js \
-                 browser_styleeditor_pretty.js \
-                 browser_styleeditor_private_perwindowpb.js \
-                 browser_styleeditor_sv_keynav.js \
-                 browser_styleeditor_sv_resize.js \
-                 browser_styleeditor_bug_740541_iframes.js \
-                 browser_styleeditor_bug_851132_middle_click.js \
-                 browser_styleeditor_bug_870339.js \
-                 browser_styleeditor_nostyle.js \
-                 browser_styleeditor_reload.js \
-                 head.js \
-                 four.html \
-                 import.css \
-                 import.html \
-                 import2.css \
-                 longload.html \
-                 media.html \
-                 media-small.css \
-                 minified.html \
-                 nostyle.html \
-                 resources_inpage.jsi \
-                 resources_inpage1.css \
-                 resources_inpage2.css \
-                 simple.css \
-                 simple.css.gz \
-                 simple.css.gz^headers^ \
-                 simple.gz.html \
-                 simple.html \
-                 test_private.html \
-                 test_private.css \
-                 $(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/styleeditor/test/browser.ini
@@ -0,0 +1,41 @@
+[DEFAULT]
+support-files =
+  four.html
+  head.js
+  import.css
+  import.html
+  import2.css
+  longload.html
+  media-small.css
+  media.html
+  minified.html
+  nostyle.html
+  resources_inpage.jsi
+  resources_inpage1.css
+  resources_inpage2.css
+  simple.css
+  simple.css.gz
+  simple.css.gz^headers^
+  simple.gz.html
+  simple.html
+  test_private.css
+  test_private.html
+
+[browser_styleeditor_bug_740541_iframes.js]
+[browser_styleeditor_bug_851132_middle_click.js]
+[browser_styleeditor_bug_870339.js]
+[browser_styleeditor_cmd_edit.html]
+[browser_styleeditor_cmd_edit.js]
+[browser_styleeditor_enabled.js]
+[browser_styleeditor_filesave.js]
+[browser_styleeditor_import.js]
+[browser_styleeditor_import_rule.js]
+[browser_styleeditor_init.js]
+[browser_styleeditor_loading.js]
+[browser_styleeditor_new.js]
+[browser_styleeditor_nostyle.js]
+[browser_styleeditor_pretty.js]
+[browser_styleeditor_private_perwindowpb.js]
+[browser_styleeditor_reload.js]
+[browser_styleeditor_sv_keynav.js]
+[browser_styleeditor_sv_resize.js]
--- a/browser/devtools/styleeditor/test/moz.build
+++ b/browser/devtools/styleeditor/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/tilt/test/Makefile.in
+++ b/browser/devtools/tilt/test/Makefile.in
@@ -1,53 +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_BROWSER_FILES = \
-	head.js \
-	browser_tilt_01_lazy_getter.js \
-	browser_tilt_02_notifications-seq.js \
-	browser_tilt_02_notifications.js \
-	browser_tilt_02_notifications-tabs.js \
-	browser_tilt_03_tab_switch.js \
-	browser_tilt_04_initialization.js \
-	browser_tilt_05_destruction-esc.js \
-	browser_tilt_05_destruction-url.js \
-	browser_tilt_05_destruction.js \
-	browser_tilt_arcball-reset-typeahead.js \
-	browser_tilt_arcball-reset.js \
-	browser_tilt_arcball.js \
-	browser_tilt_controller.js \
-	browser_tilt_gl01.js \
-	browser_tilt_gl02.js \
-	browser_tilt_gl03.js \
-	browser_tilt_gl04.js \
-	browser_tilt_gl05.js \
-	browser_tilt_gl06.js \
-	browser_tilt_gl07.js \
-	browser_tilt_gl08.js \
-	browser_tilt_math01.js \
-	browser_tilt_math02.js \
-	browser_tilt_math03.js \
-	browser_tilt_math04.js \
-	browser_tilt_math05.js \
-	browser_tilt_math06.js \
-	browser_tilt_math07.js \
-	browser_tilt_picking.js \
-	browser_tilt_picking_inspector.js \
-	browser_tilt_picking_delete.js \
-	browser_tilt_picking_highlight01-offs.js \
-	browser_tilt_picking_highlight01.js \
-	browser_tilt_picking_highlight02.js \
-	browser_tilt_picking_highlight03.js \
-	browser_tilt_picking_miv.js \
-	browser_tilt_utils01.js \
-	browser_tilt_utils02.js \
-	browser_tilt_utils03.js \
-	browser_tilt_utils04.js \
-	browser_tilt_utils05.js \
-	browser_tilt_utils06.js \
-	browser_tilt_utils07.js \
-	browser_tilt_utils08.js \
-	browser_tilt_visualizer.js \
-	browser_tilt_zoom.js \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/tilt/test/browser.ini
@@ -0,0 +1,49 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_tilt_01_lazy_getter.js]
+[browser_tilt_02_notifications-seq.js]
+[browser_tilt_02_notifications-tabs.js]
+[browser_tilt_02_notifications.js]
+[browser_tilt_03_tab_switch.js]
+[browser_tilt_04_initialization.js]
+[browser_tilt_05_destruction-esc.js]
+[browser_tilt_05_destruction-url.js]
+[browser_tilt_05_destruction.js]
+[browser_tilt_arcball-reset-typeahead.js]
+[browser_tilt_arcball-reset.js]
+[browser_tilt_arcball.js]
+[browser_tilt_controller.js]
+[browser_tilt_gl01.js]
+[browser_tilt_gl02.js]
+[browser_tilt_gl03.js]
+[browser_tilt_gl04.js]
+[browser_tilt_gl05.js]
+[browser_tilt_gl06.js]
+[browser_tilt_gl07.js]
+[browser_tilt_gl08.js]
+[browser_tilt_math01.js]
+[browser_tilt_math02.js]
+[browser_tilt_math03.js]
+[browser_tilt_math04.js]
+[browser_tilt_math05.js]
+[browser_tilt_math06.js]
+[browser_tilt_math07.js]
+[browser_tilt_picking.js]
+[browser_tilt_picking_delete.js]
+[browser_tilt_picking_highlight01-offs.js]
+[browser_tilt_picking_highlight01.js]
+[browser_tilt_picking_highlight02.js]
+[browser_tilt_picking_highlight03.js]
+[browser_tilt_picking_inspector.js]
+[browser_tilt_picking_miv.js]
+[browser_tilt_utils01.js]
+[browser_tilt_utils02.js]
+[browser_tilt_utils03.js]
+[browser_tilt_utils04.js]
+[browser_tilt_utils05.js]
+[browser_tilt_utils06.js]
+[browser_tilt_utils07.js]
+[browser_tilt_utils08.js]
+[browser_tilt_visualizer.js]
+[browser_tilt_zoom.js]
--- a/browser/devtools/tilt/test/moz.build
+++ b/browser/devtools/tilt/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/devtools/webconsole/test/Makefile.in
+++ b/browser/devtools/webconsole/test/Makefile.in
@@ -1,248 +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_BROWSER_FILES = \
-	browser_webconsole_notifications.js \
-	browser_webconsole_message_node_id.js \
-	browser_webconsole_bug_580030_errors_after_page_reload.js \
-	browser_webconsole_basic_net_logging.js \
-	browser_webconsole_bug_579412_input_focus.js \
-	browser_webconsole_bug_580001_closing_after_completion.js \
-	browser_webconsole_bug_588730_text_node_insertion.js \
-	browser_webconsole_bug_601667_filter_buttons.js \
-	browser_webconsole_bug_597136_external_script_errors.js \
-	browser_webconsole_bug_597136_network_requests_from_chrome.js \
-	browser_webconsole_completion.js \
-	browser_webconsole_console_logging_api.js \
-	browser_webconsole_change_font_size.js \
-	browser_webconsole_chrome.js \
-	browser_webconsole_execution_scope.js \
-	browser_webconsole_for_of.js \
-	browser_webconsole_history.js \
-	browser_webconsole_js_input_expansion.js \
-	browser_webconsole_live_filtering_of_message_types.js \
-	browser_webconsole_live_filtering_on_search_strings.js \
-	browser_warn_user_about_replaced_api.js \
-	browser_webconsole_bug_586388_select_all.js  \
-	browser_webconsole_bug_588967_input_expansion.js \
-	browser_webconsole_network_panel.js \
-	browser_webconsole_jsterm.js \
-	browser_webconsole_output_order.js \
-	browser_webconsole_property_provider.js \
-	browser_webconsole_bug_587617_output_copy.js \
-	browser_webconsole_bug_585237_line_limit.js \
-	browser_webconsole_bug_582201_duplicate_errors.js \
-	browser_webconsole_bug_580454_timestamp_l10n.js \
-	browser_webconsole_netlogging.js \
-	browser_webconsole_bug_583816_No_input_and_Tab_key_pressed.js \
-	browser_webconsole_bug_734061_No_input_change_and_Tab_key_pressed.js \
-	browser_webconsole_bug_594477_clickable_output.js \
-	browser_webconsole_bug_589162_css_filter.js \
-	browser_webconsole_bug_597103_deactivateHUDForContext_unfocused_window.js \
-	browser_webconsole_bug_595350_multiple_windows_and_tabs.js \
-	browser_webconsole_bug_594497_history_arrow_keys.js \
-	browser_webconsole_bug_588342_document_focus.js \
-	browser_webconsole_bug_595934_message_categories.js \
-	browser_webconsole_bug_601352_scroll.js \
-	browser_webconsole_bug_592442_closing_brackets.js \
-	browser_webconsole_bug_593003_iframe_wrong_hud.js \
-	browser_webconsole_bug_613013_console_api_iframe.js \
-	browser_webconsole_bug_597756_reopen_closed_tab.js \
-	browser_webconsole_bug_600183_charset.js \
-	browser_webconsole_bug_601177_log_levels.js \
-	browser_webconsole_bug_597460_filter_scroll.js \
-	browser_webconsole_console_extras.js \
-	browser_webconsole_bug_598357_jsterm_output.js \
-	browser_webconsole_bug_603750_websocket.js \
-	browser_webconsole_abbreviate_source_url.js \
-	browser_webconsole_view_source.js \
-	browser_webconsole_bug_602572_log_bodies_checkbox.js \
-	browser_webconsole_bug_614793_jsterm_scroll.js \
-	browser_webconsole_bug_599725_response_headers.js \
-	browser_webconsole_bug_613642_maintain_scroll.js \
-	browser_webconsole_bug_613642_prune_scroll.js \
-	browser_webconsole_bug_618078_network_exceptions.js \
-	browser_webconsole_bug_613280_jsterm_copy.js \
-	browser_webconsole_bug_630733_response_redirect_headers.js \
-	browser_webconsole_bug_621644_jsterm_dollar.js \
-	browser_webconsole_bug_632817.js \
-	browser_webconsole_bug_611795.js \
-	browser_webconsole_bug_618311_close_panels.js \
-	browser_webconsole_bug_632347_iterators_generators.js \
-	browser_webconsole_bug_642108_pruneTest.js \
-	browser_webconsole_bug_585956_console_trace.js \
-	browser_webconsole_bug_595223_file_uri.js \
-	browser_webconsole_bug_632275_getters_document_width.js \
-	browser_webconsole_bug_644419_log_limits.js \
-	browser_webconsole_bug_646025_console_file_location.js \
-	browser_webconsole_bug_642615_autocomplete.js \
-	browser_webconsole_bug_585991_autocomplete_popup.js \
-	browser_webconsole_bug_585991_autocomplete_keys.js \
-	browser_webconsole_bug_660806_history_nav.js \
-	browser_webconsole_bug_651501_document_body_autocomplete.js \
-	browser_webconsole_bug_653531_highlighter_console_helper.js \
-	browser_webconsole_bug_659907_console_dir.js \
-	browser_webconsole_bug_664131_console_group.js \
-	browser_webconsole_bug_704295.js \
-	browser_webconsole_bug_658368_time_methods.js \
-	browser_webconsole_bug_764572_output_open_url.js \
-	browser_webconsole_bug_622303_persistent_filters.js \
-	browser_webconsole_bug_770099_bad_policyuri.js \
-	browser_webconsole_bug_770099_violation.js \
-	browser_webconsole_bug_766001_JS_Console_in_Debugger.js \
-	browser_webconsole_bug_782653_CSS_links_in_Style_Editor.js \
-	browser_cached_messages.js \
-	browser_bug664688_sandbox_update_after_navigation.js \
-	browser_result_format_as_string.js \
-	browser_webconsole_bug_737873_mixedcontent.js \
-	browser_output_breaks_after_console_dir_uninspectable.js \
-	browser_console_log_inspectable_object.js \
-	browser_bug_638949_copy_link_location.js \
-	browser_output_longstring_expand.js \
-	browser_netpanel_longstring_expand.js \
-	browser_repeated_messages_accuracy.js \
-	browser_webconsole_bug_821877_csp_errors.js \
-	browser_webconsole_bug_846918_hsts_invalid-headers.js \
-	browser_eval_in_debugger_stackframe.js \
-	browser_console_variables_view.js \
-	browser_console_variables_view_while_debugging.js \
-	browser_console.js \
-	browser_longstring_hang.js \
-	browser_console_consolejsm_output.js \
-	browser_webconsole_bug_837351_securityerrors.js \
-	browser_bug_865871_variables_view_close_on_esc_key.js \
-	browser_bug_865288_repeat_different_objects.js \
-	browser_jsterm_inspect.js \
-	browser_bug_869003_inspect_cross_domain_object.js \
-	browser_bug_862916_console_dir_and_filter_off.js \
-	browser_console_native_getters.js \
-	browser_bug_871156_ctrlw_close_tab.js \
-	browser_console_private_browsing.js \
-	browser_console_nsiconsolemessage.js \
-	browser_webconsole_bug_817834_add_edited_input_to_history.js \
-	browser_console_addonsdk_loader_exception.js \
-	browser_console_error_source_click.js \
-	browser_console_clear_on_reload.js \
-	browser_console_keyboard_accessibility.js \
-	browser_console_filters.js \
-	browser_console_dead_objects.js \
-	browser_console_iframe_messages.js \
-	browser_console_variables_view_while_debugging_and_inspecting.js \
-	browser_webconsole_bug_686937_autocomplete_JSTerm_helpers.js \
-	browser_webconsole_cached_autocomplete.js \
-	browser_console_navigation_marker.js \
-	browser_webconsole_bug_762593_insecure_passwords_web_console_warning.js \
-	browser_webconsole_bug_762593_insecure_passwords_about_blank_web_console_warning.js \
-	browser_webconsole_allow_mixedcontent_securityerrors.js \
-	browser_webconsole_block_mixedcontent_securityerrors.js \
-	browser_webconsole_output_copy_newlines.js \
-	head.js \
-	$(NULL)
-
 ifeq ($(OS_ARCH), Darwin)
 MOCHITEST_BROWSER_FILES += \
 	browser_webconsole_bug_804845_ctrl_key_nav.js \
         $(NULL)
 endif
 
 ifeq ($(OS_ARCH),WINNT)
 MOCHITEST_BROWSER_FILES += \
 	browser_webconsole_bug_623749_ctrl_a_select_all_winnt.js \
 	$(NULL)
 endif
 
-MOCHITEST_BROWSER_FILES += \
-	test-console.html \
-	test-network.html \
-	test-network-request.html \
-	test-mutation.html \
-	testscript.js \
-	test-filter.html \
-	test-observe-http-ajax.html \
-	test-data.json \
-	test-data.json^headers^ \
-	test-property-provider.html \
-	test-error.html \
-	test-duplicate-error.html \
-	test-image.png \
-	test-encoding-ISO-8859-1.html \
-	test-bug-593003-iframe-wrong-hud.html \
-	test-bug-593003-iframe-wrong-hud-iframe.html \
-	test-console-replaced-api.html \
-	test-own-console.html \
-	test-bug-595934-css-loader.html \
-	test-bug-595934-css-loader.css \
-	test-bug-595934-css-loader.css^headers^ \
-	test-bug-595934-imagemap.html \
-	test-bug-595934-html.html \
-	test-bug-595934-malformedxml.xhtml \
-	test-bug-595934-svg.xhtml \
-	test-bug-595934-workers.html \
-	test-bug-595934-workers.js \
-	test-bug-595934-css-parser.html \
-	test-bug-595934-css-parser.css \
-	test-bug-595934-canvas-css.html \
-	test-bug-595934-canvas-css.js \
-	test-bug-595934-malformedxml-external.html \
-	test-bug-595934-malformedxml-external.xml \
-	test-bug-595934-empty-getelementbyid.html \
-	test-bug-595934-empty-getelementbyid.js \
-	test-bug-595934-image.html \
-	test-bug-595934-image.jpg \
-	test-bug-597136-external-script-errors.html \
-	test-bug-597136-external-script-errors.js \
-	test-bug-613013-console-api-iframe.html \
-	test-bug-597756-reopen-closed-tab.html \
-	test-bug-600183-charset.html \
-	test-bug-600183-charset.html^headers^ \
-	test-bug-601177-log-levels.html \
-	test-bug-601177-log-levels.js \
-	test-console-extras.html \
-	test-bug-603750-websocket.html \
-	test-bug-603750-websocket.js \
-	test-bug-599725-response-headers.sjs \
-	test-bug-618078-network-exceptions.html \
-	test-bug-630733-response-redirect-headers.sjs \
-	test-bug-621644-jsterm-dollar.html \
-	test-bug-632347-iterators-generators.html \
-	test-bug-585956-console-trace.html \
-	test-bug-644419-log-limits.html \
-	test-bug-632275-getters.html \
-	test-bug-646025-console-file-location.html \
-	test-bug-782653-css-errors.html \
-	test-bug-782653-css-errors-1.css \
-	test-bug-782653-css-errors-2.css \
-	test-file-location.js \
-	test-bug-658368-time-methods.html \
-	test-webconsole-error-observer.html \
-	test-for-of.html \
-	test_bug_770099_violation.html \
-	test_bug_770099_violation.html^headers^ \
-	test_bug_770099_bad_policy_uri.html \
-	test_bug_770099_bad_policy_uri.html^headers^ \
-	test-result-format-as-string.html \
-	test-bug-737873-mixedcontent.html \
-	test-repeated-messages.html \
-	test-bug-766001-console-log.js \
-	test-bug-766001-js-console-links.html \
-	test-bug-766001-js-errors.js \
-	test-bug-821877-csperrors.html \
-	test-bug-821877-csperrors.html^headers^ \
-	test-bug-846918-hsts-invalid-headers.html \
-	test-bug-846918-hsts-invalid-headers.html^headers^ \
-	test-eval-in-stackframe.html \
-	test-bug-859170-longstring-hang.html \
-	test-bug-837351-security-errors.html \
-	test-bug-869003-top-window.html \
-	test-bug-869003-iframe.html \
-	test-iframe-762593-insecure-form-action.html \
-	test-iframe-762593-insecure-frame.html \
-	test-bug-762593-insecure-passwords-web-console-warning.html \
-	test-bug-762593-insecure-passwords-about-blank-web-console-warning.html \
-	test-consoleiframes.html \
-	test-iframe1.html \
-	test-iframe2.html \
-	test-iframe3.html \
-	test-mixedcontent-securityerrors.html \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/devtools/webconsole/test/browser.ini
@@ -0,0 +1,230 @@
+[DEFAULT]
+support-files =
+  head.js
+  test-bug-585956-console-trace.html
+  test-bug-593003-iframe-wrong-hud-iframe.html
+  test-bug-593003-iframe-wrong-hud.html
+  test-bug-595934-canvas-css.html
+  test-bug-595934-canvas-css.js
+  test-bug-595934-css-loader.css
+  test-bug-595934-css-loader.css^headers^
+  test-bug-595934-css-loader.html
+  test-bug-595934-css-parser.css
+  test-bug-595934-css-parser.html
+  test-bug-595934-empty-getelementbyid.html
+  test-bug-595934-empty-getelementbyid.js
+  test-bug-595934-html.html
+  test-bug-595934-image.html
+  test-bug-595934-image.jpg
+  test-bug-595934-imagemap.html
+  test-bug-595934-malformedxml-external.html
+  test-bug-595934-malformedxml-external.xml
+  test-bug-595934-malformedxml.xhtml
+  test-bug-595934-svg.xhtml
+  test-bug-595934-workers.html
+  test-bug-595934-workers.js
+  test-bug-597136-external-script-errors.html
+  test-bug-597136-external-script-errors.js
+  test-bug-597756-reopen-closed-tab.html
+  test-bug-599725-response-headers.sjs
+  test-bug-600183-charset.html
+  test-bug-600183-charset.html^headers^
+  test-bug-601177-log-levels.html
+  test-bug-601177-log-levels.js
+  test-bug-603750-websocket.html
+  test-bug-603750-websocket.js
+  test-bug-613013-console-api-iframe.html
+  test-bug-618078-network-exceptions.html
+  test-bug-621644-jsterm-dollar.html
+  test-bug-630733-response-redirect-headers.sjs
+  test-bug-632275-getters.html
+  test-bug-632347-iterators-generators.html
+  test-bug-644419-log-limits.html
+  test-bug-646025-console-file-location.html
+  test-bug-658368-time-methods.html
+  test-bug-737873-mixedcontent.html
+  test-bug-762593-insecure-passwords-about-blank-web-console-warning.html
+  test-bug-762593-insecure-passwords-web-console-warning.html
+  test-bug-766001-console-log.js
+  test-bug-766001-js-console-links.html
+  test-bug-766001-js-errors.js
+  test-bug-782653-css-errors-1.css
+  test-bug-782653-css-errors-2.css
+  test-bug-782653-css-errors.html
+  test-bug-821877-csperrors.html
+  test-bug-821877-csperrors.html^headers^
+  test-bug-837351-security-errors.html
+  test-bug-846918-hsts-invalid-headers.html
+  test-bug-846918-hsts-invalid-headers.html^headers^
+  test-bug-859170-longstring-hang.html
+  test-bug-869003-iframe.html
+  test-bug-869003-top-window.html
+  test-console-extras.html
+  test-console-replaced-api.html
+  test-console.html
+  test-consoleiframes.html
+  test-data.json
+  test-data.json^headers^
+  test-duplicate-error.html
+  test-encoding-ISO-8859-1.html
+  test-error.html
+  test-eval-in-stackframe.html
+  test-file-location.js
+  test-filter.html
+  test-for-of.html
+  test-iframe-762593-insecure-form-action.html
+  test-iframe-762593-insecure-frame.html
+  test-iframe1.html
+  test-iframe2.html
+  test-iframe3.html
+  test-image.png
+  test-mixedcontent-securityerrors.html
+  test-mutation.html
+  test-network-request.html
+  test-network.html
+  test-observe-http-ajax.html
+  test-own-console.html
+  test-property-provider.html
+  test-repeated-messages.html
+  test-result-format-as-string.html
+  test-webconsole-error-observer.html
+  test_bug_770099_bad_policy_uri.html
+  test_bug_770099_bad_policy_uri.html^headers^
+  test_bug_770099_violation.html
+  test_bug_770099_violation.html^headers^
+  testscript.js
+
+[browser_bug664688_sandbox_update_after_navigation.js]
+[browser_bug_638949_copy_link_location.js]
+[browser_bug_862916_console_dir_and_filter_off.js]
+[browser_bug_865288_repeat_different_objects.js]
+[browser_bug_865871_variables_view_close_on_esc_key.js]
+[browser_bug_869003_inspect_cross_domain_object.js]
+[browser_bug_871156_ctrlw_close_tab.js]
+[browser_cached_messages.js]
+[browser_console.js]
+[browser_console_addonsdk_loader_exception.js]
+[browser_console_clear_on_reload.js]
+[browser_console_consolejsm_output.js]
+[browser_console_dead_objects.js]
+[browser_console_error_source_click.js]
+[browser_console_filters.js]
+[browser_console_iframe_messages.js]
+[browser_console_keyboard_accessibility.js]
+[browser_console_log_inspectable_object.js]
+[browser_console_native_getters.js]
+[browser_console_navigation_marker.js]
+[browser_console_nsiconsolemessage.js]
+[browser_console_private_browsing.js]
+[browser_console_variables_view.js]
+[browser_console_variables_view_while_debugging.js]
+[browser_console_variables_view_while_debugging_and_inspecting.js]
+[browser_eval_in_debugger_stackframe.js]
+[browser_jsterm_inspect.js]
+[browser_longstring_hang.js]
+[browser_netpanel_longstring_expand.js]
+[browser_output_breaks_after_console_dir_uninspectable.js]
+[browser_output_longstring_expand.js]
+[browser_repeated_messages_accuracy.js]
+[browser_result_format_as_string.js]
+[browser_warn_user_about_replaced_api.js]
+[browser_webconsole_abbreviate_source_url.js]
+[browser_webconsole_allow_mixedcontent_securityerrors.js]
+[browser_webconsole_basic_net_logging.js]
+[browser_webconsole_block_mixedcontent_securityerrors.js]
+[browser_webconsole_bug_579412_input_focus.js]
+[browser_webconsole_bug_580001_closing_after_completion.js]
+[browser_webconsole_bug_580030_errors_after_page_reload.js]
+[browser_webconsole_bug_580454_timestamp_l10n.js]
+[browser_webconsole_bug_582201_duplicate_errors.js]
+[browser_webconsole_bug_583816_No_input_and_Tab_key_pressed.js]
+[browser_webconsole_bug_585237_line_limit.js]
+[browser_webconsole_bug_585956_console_trace.js]
+[browser_webconsole_bug_585991_autocomplete_keys.js]
+[browser_webconsole_bug_585991_autocomplete_popup.js]
+[browser_webconsole_bug_586388_select_all.js]
+[browser_webconsole_bug_587617_output_copy.js]
+[browser_webconsole_bug_588342_document_focus.js]
+[browser_webconsole_bug_588730_text_node_insertion.js]
+[browser_webconsole_bug_588967_input_expansion.js]
+[browser_webconsole_bug_589162_css_filter.js]
+[browser_webconsole_bug_592442_closing_brackets.js]
+[browser_webconsole_bug_593003_iframe_wrong_hud.js]
+[browser_webconsole_bug_594477_clickable_output.js]
+[browser_webconsole_bug_594497_history_arrow_keys.js]
+[browser_webconsole_bug_595223_file_uri.js]
+[browser_webconsole_bug_595350_multiple_windows_and_tabs.js]
+[browser_webconsole_bug_595934_message_categories.js]
+[browser_webconsole_bug_597103_deactivateHUDForContext_unfocused_window.js]
+[browser_webconsole_bug_597136_external_script_errors.js]
+[browser_webconsole_bug_597136_network_requests_from_chrome.js]
+[browser_webconsole_bug_597460_filter_scroll.js]
+[browser_webconsole_bug_597756_reopen_closed_tab.js]
+[browser_webconsole_bug_598357_jsterm_output.js]
+[browser_webconsole_bug_599725_response_headers.js]
+[browser_webconsole_bug_600183_charset.js]
+[browser_webconsole_bug_601177_log_levels.js]
+[browser_webconsole_bug_601352_scroll.js]
+[browser_webconsole_bug_601667_filter_buttons.js]
+[browser_webconsole_bug_602572_log_bodies_checkbox.js]
+[browser_webconsole_bug_603750_websocket.js]
+[browser_webconsole_bug_611795.js]
+[browser_webconsole_bug_613013_console_api_iframe.js]
+[browser_webconsole_bug_613280_jsterm_copy.js]
+[browser_webconsole_bug_613642_maintain_scroll.js]
+[browser_webconsole_bug_613642_prune_scroll.js]
+[browser_webconsole_bug_614793_jsterm_scroll.js]
+[browser_webconsole_bug_618078_network_exceptions.js]
+[browser_webconsole_bug_618311_close_panels.js]
+[browser_webconsole_bug_621644_jsterm_dollar.js]
+[browser_webconsole_bug_622303_persistent_filters.js]
+[browser_webconsole_bug_630733_response_redirect_headers.js]
+[browser_webconsole_bug_632275_getters_document_width.js]
+[browser_webconsole_bug_632347_iterators_generators.js]
+[browser_webconsole_bug_632817.js]
+[browser_webconsole_bug_642108_pruneTest.js]
+[browser_webconsole_bug_642615_autocomplete.js]
+[browser_webconsole_bug_644419_log_limits.js]
+[browser_webconsole_bug_646025_console_file_location.js]
+[browser_webconsole_bug_651501_document_body_autocomplete.js]
+[browser_webconsole_bug_653531_highlighter_console_helper.js]
+[browser_webconsole_bug_658368_time_methods.js]
+[browser_webconsole_bug_659907_console_dir.js]
+[browser_webconsole_bug_660806_history_nav.js]
+[browser_webconsole_bug_664131_console_group.js]
+[browser_webconsole_bug_686937_autocomplete_JSTerm_helpers.js]
+[browser_webconsole_bug_704295.js]
+[browser_webconsole_bug_734061_No_input_change_and_Tab_key_pressed.js]
+[browser_webconsole_bug_737873_mixedcontent.js]
+[browser_webconsole_bug_762593_insecure_passwords_about_blank_web_console_warning.js]
+[browser_webconsole_bug_762593_insecure_passwords_web_console_warning.js]
+[browser_webconsole_bug_764572_output_open_url.js]
+[browser_webconsole_bug_766001_JS_Console_in_Debugger.js]
+[browser_webconsole_bug_770099_bad_policyuri.js]
+[browser_webconsole_bug_770099_violation.js]
+[browser_webconsole_bug_782653_CSS_links_in_Style_Editor.js]
+[browser_webconsole_bug_817834_add_edited_input_to_history.js]
+[browser_webconsole_bug_821877_csp_errors.js]
+[browser_webconsole_bug_837351_securityerrors.js]
+[browser_webconsole_bug_846918_hsts_invalid-headers.js]
+[browser_webconsole_cached_autocomplete.js]
+[browser_webconsole_change_font_size.js]
+[browser_webconsole_chrome.js]
+[browser_webconsole_completion.js]
+[browser_webconsole_console_extras.js]
+[browser_webconsole_console_logging_api.js]
+[browser_webconsole_execution_scope.js]
+[browser_webconsole_for_of.js]
+[browser_webconsole_history.js]
+[browser_webconsole_js_input_expansion.js]
+[browser_webconsole_jsterm.js]
+[browser_webconsole_live_filtering_of_message_types.js]
+[browser_webconsole_live_filtering_on_search_strings.js]
+[browser_webconsole_message_node_id.js]
+[browser_webconsole_netlogging.js]
+[browser_webconsole_network_panel.js]
+[browser_webconsole_notifications.js]
+[browser_webconsole_output_copy_newlines.js]
+[browser_webconsole_output_order.js]
+[browser_webconsole_property_provider.js]
+[browser_webconsole_view_source.js]
--- a/browser/devtools/webconsole/test/moz.build
+++ b/browser/devtools/webconsole/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/extensions/pdfjs/test/Makefile.in
+++ b/browser/extensions/pdfjs/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_BROWSER_FILES = \
-  browser_pdfjs_main.js \
-  browser_pdfjs_savedialog.js \
-  browser_pdfjs_views.js \
-  file_pdfjs_test.pdf \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/extensions/pdfjs/test/browser.ini
@@ -0,0 +1,6 @@
+[DEFAULT]
+support-files = file_pdfjs_test.pdf
+
+[browser_pdfjs_main.js]
+[browser_pdfjs_savedialog.js]
+[browser_pdfjs_views.js]
--- a/browser/extensions/pdfjs/test/moz.build
+++ b/browser/extensions/pdfjs/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/fuel/test/Makefile.in
+++ b/browser/fuel/test/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_BROWSER_FILES := \
-  browser_Application.js \
-  browser_ApplicationPrefs.js \
-  browser_ApplicationStorage.js \
-  browser_ApplicationQuitting.js \
-  browser_Bookmarks.js \
-  browser_Browser.js \
-  ContentA.html \
-  ContentB.html \
-  ContentWithFrames.html \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/browser/fuel/test/browser.ini
@@ -0,0 +1,12 @@
+[DEFAULT]
+support-files =
+  ContentA.html
+  ContentB.html
+  ContentWithFrames.html
+
+[browser_Application.js]
+[browser_ApplicationPrefs.js]
+[browser_ApplicationQuitting.js]
+[browser_ApplicationStorage.js]
+[browser_Bookmarks.js]
+[browser_Browser.js]
--- a/browser/fuel/test/moz.build
+++ b/browser/fuel/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/browser/modules/test/Makefile.in
+++ b/browser/modules/test/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_BROWSER_FILES := \
-  browser_NetworkPrioritizer.js \
-  $(NULL)
-
 ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
 MOCHITEST_BROWSER_FILES += \
   browser_taskbar_preview.js \
   $(NULL)
 endif
 
 # bug 793906 - temporarily disabling desktop UI while working on b2g
 # browser_SignInToWebsite.js
new file mode 100644
--- /dev/null
+++ b/browser/modules/test/browser.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[browser_NetworkPrioritizer.js]
--- a/browser/modules/test/moz.build
+++ b/browser/modules/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/.
 
 DIRS += ['chrome', 'unit']
+
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/content/base/test/Makefile.in
+++ b/content/base/test/Makefile.in
@@ -23,12 +23,8 @@ endif
 # Disabled for now. Mochitest isn't reliable enough for these.
 # test_bug444546.html \
 # bug444546.sjs \
 
 # Disabled due to making the harness time out
 #		test_bug503473.html \
 #		file_bug503473-frame.sjs \
 
-MOCHITEST_BROWSER_FILES = \
-		browser_bug593387.js \
-		browser_bug902350.js \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/content/base/test/browser.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+
+[browser_bug593387.js]
+[browser_bug902350.js]
--- a/content/base/test/moz.build
+++ b/content/base/test/moz.build
@@ -23,8 +23,10 @@ CPP_UNIT_TESTS += [
     'TestNativeXMLHttpRequest.cpp',
     'TestPlainTextSerializer.cpp',
 ]
 
 MOCHITEST_MANIFESTS += ['mochitest.ini']
 
 MOCHITEST_CHROME_MANIFESTS += ['chrome.ini']
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/content/html/content/test/Makefile.in
+++ b/content/html/content/test/Makefile.in
@@ -1,10 +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_BROWSER_FILES = \
-		browser_bug649778.js \
-		file_bug649778.html \
-		file_bug649778.html^headers^ \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/content/html/content/test/browser.ini
@@ -0,0 +1,6 @@
+[DEFAULT]
+support-files =
+  file_bug649778.html
+  file_bug649778.html^headers^
+
+[browser_bug649778.js]
--- a/content/html/content/test/moz.build
+++ b/content/html/content/test/moz.build
@@ -13,8 +13,10 @@
 TEST_DIRS += ['bug649134']
 
 TEST_DIRS += ['forms']
 
 MOCHITEST_MANIFESTS += ['mochitest.ini']
 
 MOCHITEST_CHROME_MANIFESTS += ['chrome.ini']
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/content/html/document/test/Makefile.in
+++ b/content/html/document/test/Makefile.in
@@ -63,12 +63,8 @@ MOCHITEST_FILES = 	test_bug1682.html \
 		test_bug677495.html \
 		test_bug677495-1.html \
 		test_bug741266.html \
 		test_non-ascii-cookie.html \
 		test_non-ascii-cookie.html^headers^ \
 		test_bug765780.html \
 		$(NULL)
 
-MOCHITEST_BROWSER_FILES = \
-		browser_bug592641.js \
-		bug592641_img.jpg \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/content/html/document/test/browser.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+support-files = bug592641_img.jpg
+
+[browser_bug592641.js]
--- a/content/html/document/test/moz.build
+++ b/content/html/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/docshell/test/browser/Makefile.in
+++ b/docshell/test/browser/Makefile.in
@@ -1,66 +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_BROWSER_FILES =	\
-		browser_bug92473.js \
-		test-form_sjis.html \
-		browser_bug134911.js \
-		browser_bug349769.js \
-		browser_bug388121-1.js \
-		browser_bug388121-2.js \
-		browser_bug441169.js \
-		browser_bug420605.js \
-		file_bug420605.html \
-		browser_bug422543.js \
-		browser_bug503832.js \
-		browser_loadDisallowInherit.js \
-		file_bug503832.html \
-		browser_bug554155.js \
-		browser_bug655273.js \
-		browser_bug655270.js \
-		file_bug655270.html \
-		favicon_bug655270.ico \
-		browser_bug670318.js \
-		file_bug670318.html \
-		browser_bug673467.js \
-		browser_bug234628-1.js \
-		file_bug234628-1.html \
-		file_bug234628-1-child.html \
-		browser_bug234628-2.js \
-		file_bug234628-2.html \
-		file_bug234628-2-child.html \
-		browser_bug234628-3.js \
-		file_bug234628-3.html \
-		file_bug234628-3-child.html \
-		browser_bug234628-4.js \
-		file_bug234628-4.html \
-		file_bug234628-4-child.html \
-		browser_bug234628-5.js \
-		file_bug234628-5.html \
-		file_bug234628-5-child.html \
-		browser_bug234628-6.js \
-		file_bug234628-6.html \
-		file_bug234628-6-child.html \
-		file_bug234628-6-child.html^headers^ \
-		browser_bug234628-7.js \
-		file_bug234628-7.html \
-		file_bug234628-7-child.html \
-		file_bug234628-7-child.html^headers^ \
-		browser_bug234628-8.js \
-		file_bug234628-8.html \
-		file_bug234628-8-child.html \
-		browser_bug234628-9.js \
-		file_bug234628-9.html \
-		file_bug234628-9-child.html \
-		browser_bug234628-10.js \
-		file_bug234628-10.html \
-		file_bug234628-10-child.xhtml \
-		browser_bug234628-11.js \
-		file_bug234628-11.html \
-		file_bug234628-11-child.xhtml \
-		file_bug234628-11-child.xhtml^headers^ \
-		browser_search_notification.js \
-		browser_loadURI.js \
-		print_postdata.sjs \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/docshell/test/browser/browser.ini
@@ -0,0 +1,63 @@
+[DEFAULT]
+support-files =
+  favicon_bug655270.ico
+  file_bug234628-1-child.html
+  file_bug234628-1.html
+  file_bug234628-10-child.xhtml
+  file_bug234628-10.html
+  file_bug234628-11-child.xhtml
+  file_bug234628-11-child.xhtml^headers^
+  file_bug234628-11.html
+  file_bug234628-2-child.html
+  file_bug234628-2.html
+  file_bug234628-3-child.html
+  file_bug234628-3.html
+  file_bug234628-4-child.html
+  file_bug234628-4.html
+  file_bug234628-5-child.html
+  file_bug234628-5.html
+  file_bug234628-6-child.html
+  file_bug234628-6-child.html^headers^
+  file_bug234628-6.html
+  file_bug234628-7-child.html
+  file_bug234628-7-child.html^headers^
+  file_bug234628-7.html
+  file_bug234628-8-child.html
+  file_bug234628-8.html
+  file_bug234628-9-child.html
+  file_bug234628-9.html
+  file_bug420605.html
+  file_bug503832.html
+  file_bug655270.html
+  file_bug670318.html
+  print_postdata.sjs
+  test-form_sjis.html
+
+[browser_bug134911.js]
+[browser_bug234628-1.js]
+[browser_bug234628-10.js]
+[browser_bug234628-11.js]
+[browser_bug234628-2.js]
+[browser_bug234628-3.js]
+[browser_bug234628-4.js]
+[browser_bug234628-5.js]
+[browser_bug234628-6.js]
+[browser_bug234628-7.js]
+[browser_bug234628-8.js]
+[browser_bug234628-9.js]
+[browser_bug349769.js]
+[browser_bug388121-1.js]
+[browser_bug388121-2.js]
+[browser_bug420605.js]
+[browser_bug422543.js]
+[browser_bug441169.js]
+[browser_bug503832.js]
+[browser_bug554155.js]
+[browser_bug655270.js]
+[browser_bug655273.js]
+[browser_bug670318.js]
+[browser_bug673467.js]
+[browser_bug92473.js]
+[browser_loadDisallowInherit.js]
+[browser_loadURI.js]
+[browser_search_notification.js]
--- a/docshell/test/browser/moz.build
+++ b/docshell/test/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/docshell/test/navigation/Makefile.in
+++ b/docshell/test/navigation/Makefile.in
@@ -3,17 +3,8 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 ifneq (mobile/android,$(MOZ_BUILD_APP))
 MOCHITEST_FILES += \
 		test_bug270414.html \
 		$(NULL)
 endif
 
-MOCHITEST_BROWSER_FILES = \
-		browser_bug343515.js \
-		bug343515_pg1.html \
-		bug343515_pg2.html \
-		bug343515_pg3.html \
-		bug343515_pg3_1.html \
-		bug343515_pg3_2.html \
-		bug343515_pg3_1_1.html \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/docshell/test/navigation/browser.ini
@@ -0,0 +1,10 @@
+[DEFAULT]
+support-files =
+  bug343515_pg1.html
+  bug343515_pg2.html
+  bug343515_pg3.html
+  bug343515_pg3_1.html
+  bug343515_pg3_1_1.html
+  bug343515_pg3_2.html
+
+[browser_bug343515.js]
--- a/docshell/test/navigation/moz.build
+++ b/docshell/test/navigation/moz.build
@@ -3,8 +3,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/.
 
 MODULE = 'test_docshell'
 
 MOCHITEST_MANIFESTS += ['mochitest.ini']
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/dom/power/test/Makefile.in
+++ b/dom/power/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_BROWSER_FILES = \
-  browser_wakelocks.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/power/test/browser.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[browser_wakelocks.js]
--- a/dom/power/test/moz.build
+++ b/dom/power/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/.
 
 MOCHITEST_MANIFESTS += ['mochitest.ini']
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/dom/tests/browser/Makefile.in
+++ b/dom/tests/browser/Makefile.in
@@ -1,32 +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_BROWSER_FILES := \
-  browser_focus_steal_from_chrome.js \
-  browser_focus_steal_from_chrome_during_mousedown.js \
-  browser_autofocus_background.js \
-  browser_ConsoleAPITests.js \
-  test-console-api.html \
-  browser_ConsoleStorageAPITests.js \
-  browser_ConsoleStoragePBTest_perwindowpb.js \
-  browser_autofocus_preference.js \
-  browser_bug396843.js \
-  browser_xhr_sandbox.js \
-  browser_geolocation_privatebrowsing_page.html \
-  browser_geolocation_privatebrowsing_perwindowpb.js \
-  browser_localStorage_privatestorageevent.js \
-  network_geolocation.sjs \
-  page_privatestorageevent.html \
-  browser_frame_elements.js \
-  browser_frame_elements.html
-  $(NULL)
-
 ifdef MOZ_B2G
 MOCHITEST_BROWSER_FILES += \
   browser_webapps_permissions.js \
   test-webapp.webapp \
   test-webapp-reinstall.webapp \
   test-webapp-original.webapp \
   test-webapps-permissions.html \
   $(NULL)
new file mode 100644
--- /dev/null
+++ b/dom/tests/browser/browser.ini
@@ -0,0 +1,20 @@
+[DEFAULT]
+support-files =
+  network_geolocation.sjs
+  page_privatestorageevent.html
+  test-console-api.html
+
+[browser_ConsoleAPITests.js]
+[browser_ConsoleStorageAPITests.js]
+[browser_ConsoleStoragePBTest_perwindowpb.js]
+[browser_autofocus_background.js]
+[browser_autofocus_preference.js]
+[browser_bug396843.js]
+[browser_focus_steal_from_chrome.js]
+[browser_focus_steal_from_chrome_during_mousedown.js]
+[browser_frame_elements.html]
+[browser_frame_elements.js]
+[browser_geolocation_privatebrowsing_page.html]
+[browser_geolocation_privatebrowsing_perwindowpb.js]
+[browser_localStorage_privatestorageevent.js]
+[browser_xhr_sandbox.js]
--- a/dom/tests/browser/moz.build
+++ b/dom/tests/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/extensions/cookie/test/Makefile.in
+++ b/extensions/cookie/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_BROWSER_FILES = \
-  browser_test_favicon.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/extensions/cookie/test/browser.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[browser_test_favicon.js]
--- a/extensions/cookie/test/moz.build
+++ b/extensions/cookie/test/moz.build
@@ -11,8 +11,10 @@ XPCSHELL_TESTS_MANIFESTS += ['unit/xpcsh
 # 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']
 
 MOCHITEST_CHROME_MANIFESTS += ['chrome.ini']
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/hal/tests/Makefile.in
+++ b/hal/tests/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_BROWSER_FILES = \
-  browser_alarms.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/hal/tests/browser.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[browser_alarms.js]
--- a/hal/tests/moz.build
+++ b/hal/tests/moz.build
@@ -1,3 +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/.
+
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/image/test/browser/Makefile.in
+++ b/image/test/browser/Makefile.in
@@ -1,13 +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_BROWSER_FILES = head.js \
-  browser_image.js \
-  image.html \
-  imageX2.html \
-  animated.gif \
-  animated2.gif \
-  browser_bug666317.js \
-  big.png \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/image/test/browser/browser.ini
@@ -0,0 +1,11 @@
+[DEFAULT]
+support-files =
+  animated.gif
+  animated2.gif
+  big.png
+  head.js
+  image.html
+  imageX2.html
+
+[browser_bug666317.js]
+[browser_image.js]
--- a/image/test/browser/moz.build
+++ b/image/test/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/js/xpconnect/tests/browser/Makefile.in
+++ b/js/xpconnect/tests/browser/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_BROWSER_FILES := \
-		browser_dead_object.js \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/js/xpconnect/tests/browser/browser.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[browser_dead_object.js]
--- a/js/xpconnect/tests/browser/moz.build
+++ b/js/xpconnect/tests/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/layout/base/tests/Makefile.in
+++ b/layout/base/tests/Makefile.in
@@ -350,11 +350,8 @@ endif
 ifeq (,$(filter cocoa,$(MOZ_WIDGET_TOOLKIT)))
 # THESE TESTS (BELOW) DO NOT RUN ON MAC
 MOCHITEST_FILES += \
 		$(filter disabled-for-random-orange--bug-539356, test_flush_on_paint.html) \
 		$(NULL)
 # THESE TESTS (ABOVE) DO NOT RUN ON MAC
 endif
 
-MOCHITEST_BROWSER_FILES = \
-	browser_bug617076.js \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/layout/base/tests/browser.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[browser_bug617076.js]
--- a/layout/base/tests/moz.build
+++ b/layout/base/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/.
 
 TEST_DIRS += ['chrome']
+
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/layout/style/test/Makefile.in
+++ b/layout/style/test/Makefile.in
@@ -226,22 +226,16 @@ MOCHITEST_FILES =	test_acid3_test46.html
 		$(shell find $(topsrcdir)/layout/reftests/css-visited/ -name '*.html' -o -name '*.xhtml') \
 		$(topsrcdir)/layout/reftests/svg/pseudo-classes-02.svg \
 		$(topsrcdir)/layout/reftests/svg/pseudo-classes-02-ref.svg \
 		$(topsrcdir)/layout/reftests/svg/as-image/lime100x100.svg \
 		$(topsrcdir)/layout/reftests/svg/as-image/svg-image-visited-1-helper.svg \
 		$(topsrcdir)/layout/reftests/svg/as-image/svg-image-visited-2-helper.svg \
 		$(NULL)
 
-MOCHITEST_BROWSER_FILES = \
-		browser_bug453896.js \
-		bug453896_iframe.html \
-		media_queries_iframe.html \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
 DEFINES += -DMOZILLA_INTERNAL_API
 
 # FIXME: We don't seem to do auto-generated dependencies here.
 host_ListCSSProperties.$(OBJ_SUFFIX): $(srcdir)/../nsCSSPropList.h
 TestCSSPropertyLookup.$(OBJ_SUFFIX): $(srcdir)/../nsCSSProps.h $(srcdir)/../nsCSSKeywords.h
 
new file mode 100644
--- /dev/null
+++ b/layout/style/test/browser.ini
@@ -0,0 +1,6 @@
+[DEFAULT]
+support-files =
+  bug453896_iframe.html
+  media_queries_iframe.html
+
+[browser_bug453896.js]
--- a/layout/style/test/moz.build
+++ b/layout/style/test/moz.build
@@ -6,8 +6,11 @@
 
 TEST_TOOL_DIRS += ['chrome']
 
 MODULE = 'layout'
 
 HOST_CPPSRCS += [
     'ListCSSProperties.cpp',
 ]
+
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/layout/xul/test/Makefile.in
+++ b/layout/xul/test/Makefile.in
@@ -1,10 +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_BROWSER_FILES = \
-		browser_bug685470.js \
-		browser_bug703210.js \
-		browser_bug706743.js \
-		$(NULL)
new file mode 100644
--- /dev/null
+++ b/layout/xul/test/browser.ini
@@ -0,0 +1,5 @@
+[DEFAULT]
+
+[browser_bug685470.js]
+[browser_bug703210.js]
+[browser_bug706743.js]
--- a/layout/xul/test/moz.build
+++ b/layout/xul/test/moz.build
@@ -3,8 +3,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_MANIFESTS += ['mochitest.ini']
 
 MOCHITEST_CHROME_MANIFESTS += ['chrome.ini']
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/netwerk/test/browser/Makefile.in
+++ b/netwerk/test/browser/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_BROWSER_FILES = \
-	                  browser_NetUtil.js \
-	                  $(NULL)
new file mode 100644
--- /dev/null
+++ b/netwerk/test/browser/browser.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[browser_NetUtil.js]
--- a/netwerk/test/browser/moz.build
+++ b/netwerk/test/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/security/manager/ssl/tests/mochitest/browser/Makefile.in
+++ b/security/manager/ssl/tests/mochitest/browser/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_BROWSER_FILES = \
-  head.js \
-  browser_bug627234_perwindowpb.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/security/manager/ssl/tests/mochitest/browser/browser.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_bug627234_perwindowpb.js]
--- a/security/manager/ssl/tests/mochitest/browser/moz.build
+++ b/security/manager/ssl/tests/mochitest/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/testing/mochitest/tests/browser/Makefile.in
+++ b/testing/mochitest/tests/browser/Makefile.in
@@ -1,25 +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_BROWSER_FILES = \
-  head.js \
-  browser_head.js \
-  browser_pass.js \
-  browser_add_task.js \
-  browser_async.js \
-  browser_privileges.js \
-  browser_popupNode.js \
-  browser_popupNode_check.js \
-  browser_sanityException.js \
-  browser_sanityException2.js \
-  $(NULL)
-
 # Disabled, these are only good for testing the harness' failure reporting
 #  browser_zz_fail_openwindow.js \
 #  browser_fail.js \
 #  browser_fail_add_task.js \
 #  browser_fail_async_throw.js \
 #  browser_fail_fp.js \
 #  browser_fail_pf.js \
 #  browser_fail_throw.js \
new file mode 100644
--- /dev/null
+++ b/testing/mochitest/tests/browser/browser.ini
@@ -0,0 +1,12 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_add_task.js]
+[browser_async.js]
+[browser_head.js]
+[browser_pass.js]
+[browser_popupNode.js]
+[browser_popupNode_check.js]
+[browser_privileges.js]
+[browser_sanityException.js]
+[browser_sanityException2.js]
--- a/testing/mochitest/tests/browser/moz.build
+++ b/testing/mochitest/tests/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/components/downloads/test/browser/Makefile.in
+++ b/toolkit/components/downloads/test/browser/Makefile.in
@@ -1,14 +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_BROWSER_FILES = \
-  browser_nsIDownloadManagerUI.js \
-  browser_download_history.js \
-  $(NULL)
 # These are files that need to be loaded via the HTTP proxy server
 MOCHITEST_FILES = \
   download.html \
   download.test \
   $(NULL)
new file mode 100644
--- /dev/null
+++ b/toolkit/components/downloads/test/browser/browser.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+
+[browser_download_history.js]
+[browser_nsIDownloadManagerUI.js]
--- a/toolkit/components/downloads/test/browser/moz.build
+++ b/toolkit/components/downloads/test/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/components/passwordmgr/test/browser/Makefile.in
+++ b/toolkit/components/passwordmgr/test/browser/Makefile.in
@@ -1,11 +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_BROWSER_FILES = \
-  browser_passwordmgrdlg.js \
-  browser_passwordmgr_sort.js \
-  browser_passwordmgrcopypwd.js \
-  browser_passwordmgr_observers.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/toolkit/components/passwordmgr/test/browser/browser.ini
@@ -0,0 +1,6 @@
+[DEFAULT]
+
+[browser_passwordmgr_observers.js]
+[browser_passwordmgr_sort.js]
+[browser_passwordmgrcopypwd.js]
+[browser_passwordmgrdlg.js]
--- a/toolkit/components/passwordmgr/test/browser/moz.build
+++ b/toolkit/components/passwordmgr/test/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/components/places/tests/browser/Makefile.in
+++ b/toolkit/components/places/tests/browser/Makefile.in
@@ -1,36 +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_BROWSER_FILES = \
-	head.js \
-	browser_bug248970.js \
-	browser_bug399606.js \
-	browser_bug646422.js \
-	browser_bug680727.js \
-	browser_colorAnalyzer.js \
-	browser_favicon_privatebrowsing_perwindowpb.js \
-	browser_favicon_setAndFetchFaviconForPage.js \
-	browser_favicon_setAndFetchFaviconForPage_failures.js \
-	browser_notfound.js \
-	browser_redirect.js \
-	browser_visited_notfound.js \
-	browser_visituri.js \
-	browser_visituri_nohistory.js \
-	browser_visituri_privatebrowsing_perwindowpb.js \
-	browser_settitle.js \
-	colorAnalyzer/category-discover.png \
-	colorAnalyzer/dictionaryGeneric-16.png \
-	colorAnalyzer/extensionGeneric-16.png \
-	colorAnalyzer/localeGeneric.png \
-	$(NULL)
-
 # These are files that need to be loaded via the HTTP proxy server
 # Access them through http://example.com/
 MOCHITEST_FILES = \
 	bug_399606/399606-httprefresh.html \
 	bug_399606/399606-location.reload.html \
 	bug_399606/399606-location.replace.html \
 	bug_399606/399606-window.location.href.html \
 	bug_399606/399606-window.location.html \
new file mode 100644
--- /dev/null
+++ b/toolkit/components/places/tests/browser/browser.ini
@@ -0,0 +1,23 @@
+[DEFAULT]
+support-files =
+  colorAnalyzer/category-discover.png
+  colorAnalyzer/dictionaryGeneric-16.png
+  colorAnalyzer/extensionGeneric-16.png
+  colorAnalyzer/localeGeneric.png
+  head.js
+
+[browser_bug248970.js]
+[browser_bug399606.js]
+[browser_bug646422.js]
+[browser_bug680727.js]
+[browser_colorAnalyzer.js]
+[browser_favicon_privatebrowsing_perwindowpb.js]
+[browser_favicon_setAndFetchFaviconForPage.js]
+[browser_favicon_setAndFetchFaviconForPage_failures.js]
+[browser_notfound.js]
+[browser_redirect.js]
+[browser_settitle.js]
+[browser_visited_notfound.js]
+[browser_visituri.js]
+[browser_visituri_nohistory.js]
+[browser_visituri_privatebrowsing_perwindowpb.js]
--- a/toolkit/components/places/tests/browser/moz.build
+++ b/toolkit/components/places/tests/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/components/satchel/test/browser/Makefile.in
+++ b/toolkit/components/satchel/test/browser/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_BROWSER_FILES = \
-  head.js \
-  ../subtst_privbrowsing.html \
-  browser_privbrowsing_perwindowpb.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/toolkit/components/satchel/test/browser/browser.ini
@@ -0,0 +1,6 @@
+[DEFAULT]
+support-files =
+  ../subtst_privbrowsing.html
+  head.js
+
+[browser_privbrowsing_perwindowpb.js]
--- a/toolkit/components/satchel/test/browser/moz.build
+++ b/toolkit/components/satchel/test/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/components/startup/tests/browser/Makefile.in
+++ b/toolkit/components/startup/tests/browser/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_BROWSER_FILES = \
-	browser_bug511456.js \
-	browser_bug537449.js \
-	browser_crash_detection.js \
-	beforeunload.html \
-	$(NULL)
new file mode 100644
--- /dev/null
+++ b/toolkit/components/startup/tests/browser/browser.ini
@@ -0,0 +1,6 @@
+[DEFAULT]
+support-files = beforeunload.html
+
+[browser_bug511456.js]
+[browser_bug537449.js]
+[browser_crash_detection.js]
--- a/toolkit/components/startup/tests/browser/moz.build
+++ b/toolkit/components/startup/tests/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/components/thumbnails/test/Makefile.in
+++ b/toolkit/components/thumbnails/test/Makefile.in
@@ -1,29 +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_BROWSER_FILES := \
-	browser_thumbnails_capture.js \
-	browser_thumbnails_expiration.js \
-	browser_thumbnails_privacy.js \
-	browser_thumbnails_redirect.js \
-	browser_thumbnails_storage.js \
-	browser_thumbnails_storage_migrate3.js \
-	browser_thumbnails_bug726727.js \
-	browser_thumbnails_bug727765.js \
-	browser_thumbnails_bug818225.js \
-	head.js \
-	background_red.html \
-	background_red_scroll.html \
-	background_red_redirect.sjs \
-	privacy_cache_control.sjs \
-	$(NULL)
-
 ifndef RELEASE_BUILD
 MOCHITEST_BROWSER_FILES += \
 	browser_thumbnails_background.js \
 	browser_thumbnails_update.js \
 	thumbnails_background.sjs \
 	thumbnails_update.sjs \
 	$(NULL)
 
new file mode 100644
--- /dev/null
+++ b/toolkit/components/thumbnails/test/browser.ini
@@ -0,0 +1,17 @@
+[DEFAULT]
+support-files =
+  background_red.html
+  background_red_redirect.sjs
+  background_red_scroll.html
+  head.js
+  privacy_cache_control.sjs
+
+[browser_thumbnails_bug726727.js]
+[browser_thumbnails_bug727765.js]
+[browser_thumbnails_bug818225.js]
+[browser_thumbnails_capture.js]
+[browser_thumbnails_expiration.js]
+[browser_thumbnails_privacy.js]
+[browser_thumbnails_redirect.js]
+[browser_thumbnails_storage.js]
+[browser_thumbnails_storage_migrate3.js]
--- a/toolkit/components/thumbnails/test/moz.build
+++ b/toolkit/components/thumbnails/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/components/viewsource/test/browser/Makefile.in
+++ b/toolkit/components/viewsource/test/browser/Makefile.in
@@ -1,13 +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_BROWSER_FILES   = \
-                browser_bug699356.js \
-                browser_bug713810.js \
-                browser_contextmenu.js \
-                browser_gotoline.js \
-                browser_viewsourceprefs.js \
-                browser_viewsourceprefs_nonhtml.js \
-                head.js \
-                $(NULL)
new file mode 100644
--- /dev/null
+++ b/toolkit/components/viewsource/test/browser/browser.ini
@@ -0,0 +1,9 @@
+[DEFAULT]
+support-files = head.js
+
+[browser_bug699356.js]
+[browser_bug713810.js]
+[browser_contextmenu.js]
+[browser_gotoline.js]
+[browser_viewsourceprefs.js]
+[browser_viewsourceprefs_nonhtml.js]
--- a/toolkit/components/viewsource/test/browser/moz.build
+++ b/toolkit/components/viewsource/test/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/content/tests/browser/Makefile.in
+++ b/toolkit/content/tests/browser/Makefile.in
@@ -1,14 +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_BROWSER_FILES = \
-  browser_keyevents_during_autoscrolling.js \
-  browser_bug295977_autoscroll_overflow.js \
-  browser_bug594509.js \
-  browser_save_resend_postdata.js \
-  browser_browserDrop.js \
-  browser_default_image_filename.js \
-  browser_input_file_tooltips.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/toolkit/content/tests/browser/browser.ini
@@ -0,0 +1,9 @@
+[DEFAULT]
+
+[browser_browserDrop.js]
+[browser_bug295977_autoscroll_overflow.js]
+[browser_bug594509.js]
+[browser_default_image_filename.js]
+[browser_input_file_tooltips.js]
+[browser_keyevents_during_autoscrolling.js]
+[browser_save_resend_postdata.js]
--- a/toolkit/content/tests/browser/moz.build
+++ b/toolkit/content/tests/browser/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 += ['common', 'data']
+
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/forgetaboutsite/test/browser/Makefile.in
+++ b/toolkit/forgetaboutsite/test/browser/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_BROWSER_FILES := \
-  browser_clearplugindata.js \
-  browser_clearplugindata.html \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/toolkit/forgetaboutsite/test/browser/browser.ini
@@ -0,0 +1,4 @@
+[DEFAULT]
+
+[browser_clearplugindata.html]
+[browser_clearplugindata.js]
--- a/toolkit/forgetaboutsite/test/browser/moz.build
+++ b/toolkit/forgetaboutsite/test/browser/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 = 'forgetaboutsite'
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/modules/tests/browser/Makefile.in
+++ b/toolkit/modules/tests/browser/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_BROWSER_FILES = \
-  browser_DeferredTask.js \
-  browser_Deprecated.js \
-  browser_Finder.js \
-  browser_Geometry.js \
-  browser_InlineSpellChecker.js \
-  browser_Troubleshoot.js \
-  $(NULL)
new file mode 100644
--- /dev/null
+++ b/toolkit/modules/tests/browser/browser.ini
@@ -0,0 +1,8 @@
+[DEFAULT]
+
+[browser_DeferredTask.js]
+[browser_Deprecated.js]
+[browser_Finder.js]
+[browser_Geometry.js]
+[browser_InlineSpellChecker.js]
+[browser_Troubleshoot.js]
--- a/toolkit/modules/tests/browser/moz.build
+++ b/toolkit/modules/tests/browser/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+
--- a/toolkit/mozapps/extensions/test/xpinstall/Makefile.in
+++ b/toolkit/mozapps/extensions/test/xpinstall/Makefile.in
@@ -1,88 +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/.
 
 # browser_bug672485.js is disabled due to a leak. See bug 682410.
 
-MOCHITEST_BROWSER_FILES = head.js \
-                 browser_unsigned_url.js \
-                 browser_unsigned_trigger.js \
-                 browser_unsigned_trigger_iframe.js \
-                 browser_whitelist.js \
-                 browser_whitelist2.js \
-                 browser_whitelist3.js \
-                 browser_whitelist4.js \
-                 browser_whitelist5.js \
-                 browser_whitelist6.js \
-                 browser_hash.js \
-                 browser_badhash.js \
-                 browser_badhashtype.js \
-                 browser_signed_url.js \
-                 browser_signed_trigger.js \
-                 browser_signed_untrusted.js \
-                 browser_signed_tampered.js \
-                 browser_signed_multiple.js \
-                 browser_signed_naming.js \
-                 browser_empty.js \
-                 browser_corrupt.js \
-                 browser_cookies.js \
-                 browser_cookies2.js \
-                 browser_cookies3.js \
-                 browser_cookies4.js \
-                 browser_enabled.js \
-                 browser_enabled2.js \
-                 browser_enabled3.js \
-                 browser_softwareupdate.js \
-                 browser_installchrome.js \
-                 browser_localfile.js \
-                 browser_localfile2.js \
-                 browser_auth.js \
-                 browser_auth2.js \
-                 browser_auth3.js \
-                 browser_auth4.js \
-                 browser_offline.js \
-                 browser_navigateaway.js \
-                 browser_navigateaway2.js \
-                 browser_bug540558.js \
-                 browser_relative.js \
-                 browser_cancel.js \
-                 browser_multipackage.js \
-                 browser_trigger_redirect.js \
-                 browser_httphash.js \
-                 browser_httphash2.js \
-                 browser_httphash3.js \
-                 browser_httphash4.js \
-                 browser_httphash5.js \
-                 browser_httphash6.js \
-                 browser_badargs.js \
-                 browser_badargs2.js \
-                 browser_bug611242.js \
-                 browser_bug638292.js \
-                 browser_bug645699.js \
-                 unsigned.xpi \
-                 signed.xpi \
-                 signed2.xpi \
-                 signed-no-o.xpi \
-                 signed-no-cn.xpi \
-                 signed-untrusted.xpi \
-                 signed-tampered.xpi \
-                 theme.xpi \
-                 restartless.xpi \
-                 incompatible.xpi \
-                 empty.xpi \
-                 corrupt.xpi \
-                 multipackage.xpi \
-                 enabled.html \
-                 installtrigger.html \
-                 installtrigger_frame.html \
-                 startsoftwareupdate.html \
-                 installchrome.html \
-                 triggerredirect.html \
-                 authRedirect.sjs \
-                 cookieRedirect.sjs \
-                 hashRedirect.sjs \
-                 bug540558.html \
-                 bug638292.html \
-                 bug645699.html \
-                 redirect.sjs \
-                 $(NULL)
new file mode 100644
--- /dev/null
+++ b/toolkit/mozapps/extensions/test/xpinstall/browser.ini
@@ -0,0 +1,84 @@
+[DEFAULT]
+support-files =
+  authRedirect.sjs
+  bug540558.html
+  bug638292.html
+  bug645699.html
+  cookieRedirect.sjs
+  corrupt.xpi
+  empty.xpi
+  enabled.html
+  hashRedirect.sjs
+  head.js
+  incompatible.xpi
+  installchrome.html
+  installtrigger.html
+  installtrigger_frame.html
+  multipackage.xpi
+  redirect.sjs
+  restartless.xpi
+  signed-no-cn.xpi
+  signed-no-o.xpi
+  signed-tampered.xpi
+  signed-untrusted.xpi
+  signed.xpi
+  signed2.xpi
+  startsoftwareupdate.html
+  theme.xpi
+  triggerredirect.html
+  unsigned.xpi
+
+[browser_auth.js]
+[browser_auth2.js]
+[browser_auth3.js]
+[browser_auth4.js]
+[browser_badargs.js]
+[browser_badargs2.js]
+[browser_badhash.js]
+[browser_badhashtype.js]
+[browser_bug540558.js]
+[browser_bug611242.js]
+[browser_bug638292.js]
+[browser_bug645699.js]
+[browser_cancel.js]
+[browser_cookies.js]
+[browser_cookies2.js]
+[browser_cookies3.js]
+[browser_cookies4.js]
+[browser_corrupt.js]
+[browser_empty.js]
+[browser_enabled.js]
+[browser_enabled2.js]
+[browser_enabled3.js]
+[browser_hash.js]
+[browser_httphash.js]
+[browser_httphash2.js]
+[browser_httphash3.js]
+[browser_httphash4.js]
+[browser_httphash5.js]
+[browser_httphash6.js]
+[browser_installchrome.js]
+[browser_localfile.js]
+[browser_localfile2.js]
+[browser_multipackage.js]
+[browser_navigateaway.js]
+[browser_navigateaway2.js]
+[browser_offline.js]
+[browser_relative.js]
+[browser_signed_multiple.js]
+[browser_signed_naming.js]
+[browser_signed_tampered.js]
+[browser_signed_trigger.js]
+[browser_signed_untrusted.js]
+[browser_signed_url.js]
+[browser_softwareupdate.js]
+[browser_trigger_redirect.js]
+[browser_unsigned_trigger.js]
+[browser_unsigned_trigger_iframe.js]
+[browser_unsigned_url.js]
+[browser_whitelist.js]
+[browser_whitelist2.js]
+[browser_whitelist3.js]
+[browser_whitelist4.js]
+[browser_whitelist5.js]
+[browser_whitelist6.js]
--- a/toolkit/mozapps/extensions/test/xpinstall/moz.build
+++ b/toolkit/mozapps/extensions/test/xpinstall/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/.
 
+BROWSER_CHROME_MANIFESTS += ['browser.ini']
+