Bug 917887 - Move tests in browser/base/content/tests to browser/base/content/tests/general. r=gavin
authorJared Wein <jwein@mozilla.com>
Thu, 19 Sep 2013 02:06:20 -0400
changeset 147878 d558e1102e02752170d07b0145174abce1eebb9b
parent 147877 a7d9f7af109ffb0f980186e7ca34e336b3f269b2
child 147879 c40bf17bbc630bab9d26531de27e4c5a2010e95d
push id25319
push useremorley@mozilla.com
push dateThu, 19 Sep 2013 14:40:03 +0000
treeherdermozilla-central@59beb1868522 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgavin
bugs917887
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 917887 - Move tests in browser/base/content/tests to browser/base/content/tests/general. r=gavin
browser/base/content/test/Makefile.in
browser/base/content/test/POSTSearchEngine.xml
browser/base/content/test/alltabslistener.html
browser/base/content/test/app_bug575561.html
browser/base/content/test/app_subframe_bug575561.html
browser/base/content/test/audio.ogg
browser/base/content/test/authenticate.sjs
browser/base/content/test/blockNoPlugins.xml
browser/base/content/test/blockPluginHard.xml
browser/base/content/test/blockPluginVulnerableNoUpdate.xml
browser/base/content/test/blockPluginVulnerableUpdatable.xml
browser/base/content/test/browser_CTP_context_menu.js
browser/base/content/test/browser_CTP_data_urls.js
browser/base/content/test/browser_CTP_drag_drop.js
browser/base/content/test/browser_URLBarSetURI.js
browser/base/content/test/browser_aboutHealthReport.js
browser/base/content/test/browser_aboutHome.js
browser/base/content/test/browser_aboutSyncProgress.js
browser/base/content/test/browser_addKeywordSearch.js
browser/base/content/test/browser_addon_bar.js
browser/base/content/test/browser_addon_bar_aomlistener.js
browser/base/content/test/browser_addon_bar_close_button.js
browser/base/content/test/browser_addon_bar_shortcut.js
browser/base/content/test/browser_alltabslistener.js
browser/base/content/test/browser_blob-channelname.js
browser/base/content/test/browser_bookmark_titles.js
browser/base/content/test/browser_bug304198.js
browser/base/content/test/browser_bug321000.js
browser/base/content/test/browser_bug329212.js
browser/base/content/test/browser_bug356571.js
browser/base/content/test/browser_bug380960.js
browser/base/content/test/browser_bug386835.js
browser/base/content/test/browser_bug405137.js
browser/base/content/test/browser_bug406216.js
browser/base/content/test/browser_bug409481.js
browser/base/content/test/browser_bug409624.js
browser/base/content/test/browser_bug413915.js
browser/base/content/test/browser_bug416661.js
browser/base/content/test/browser_bug417483.js
browser/base/content/test/browser_bug419612.js
browser/base/content/test/browser_bug422590.js
browser/base/content/test/browser_bug423833.js
browser/base/content/test/browser_bug424101.js
browser/base/content/test/browser_bug427559.js
browser/base/content/test/browser_bug432599.js
browser/base/content/test/browser_bug435035.js
browser/base/content/test/browser_bug435325.js
browser/base/content/test/browser_bug441778.js
browser/base/content/test/browser_bug455852.js
browser/base/content/test/browser_bug460146.js
browser/base/content/test/browser_bug462289.js
browser/base/content/test/browser_bug462673.js
browser/base/content/test/browser_bug477014.js
browser/base/content/test/browser_bug479408.js
browser/base/content/test/browser_bug479408_sample.html
browser/base/content/test/browser_bug481560.js
browser/base/content/test/browser_bug484315.js
browser/base/content/test/browser_bug491431.js
browser/base/content/test/browser_bug495058.js
browser/base/content/test/browser_bug517902.js
browser/base/content/test/browser_bug519216.js
browser/base/content/test/browser_bug520538.js
browser/base/content/test/browser_bug521216.js
browser/base/content/test/browser_bug533232.js
browser/base/content/test/browser_bug537013.js
browser/base/content/test/browser_bug537474.js
browser/base/content/test/browser_bug550565.js
browser/base/content/test/browser_bug553455.js
browser/base/content/test/browser_bug555224.js
browser/base/content/test/browser_bug555767.js
browser/base/content/test/browser_bug556061.js
browser/base/content/test/browser_bug559991.js
browser/base/content/test/browser_bug561623.js
browser/base/content/test/browser_bug561636.js
browser/base/content/test/browser_bug562649.js
browser/base/content/test/browser_bug563588.js
browser/base/content/test/browser_bug565575.js
browser/base/content/test/browser_bug565667.js
browser/base/content/test/browser_bug567306.js
browser/base/content/test/browser_bug575561.js
browser/base/content/test/browser_bug575830.js
browser/base/content/test/browser_bug577121.js
browser/base/content/test/browser_bug578534.js
browser/base/content/test/browser_bug579872.js
browser/base/content/test/browser_bug580638.js
browser/base/content/test/browser_bug580956.js
browser/base/content/test/browser_bug581242.js
browser/base/content/test/browser_bug581253.js
browser/base/content/test/browser_bug581947.js
browser/base/content/test/browser_bug585558.js
browser/base/content/test/browser_bug585785.js
browser/base/content/test/browser_bug585830.js
browser/base/content/test/browser_bug590206.js
browser/base/content/test/browser_bug592338.js
browser/base/content/test/browser_bug594131.js
browser/base/content/test/browser_bug595507.js
browser/base/content/test/browser_bug596687.js
browser/base/content/test/browser_bug597218.js
browser/base/content/test/browser_bug598923.js
browser/base/content/test/browser_bug599325.js
browser/base/content/test/browser_bug609700.js
browser/base/content/test/browser_bug616836.js
browser/base/content/test/browser_bug623155.js
browser/base/content/test/browser_bug623893.js
browser/base/content/test/browser_bug624734.js
browser/base/content/test/browser_bug647886.js
browser/base/content/test/browser_bug655584.js
browser/base/content/test/browser_bug664672.js
browser/base/content/test/browser_bug676619.js
browser/base/content/test/browser_bug678392-1.html
browser/base/content/test/browser_bug678392-2.html
browser/base/content/test/browser_bug678392.js
browser/base/content/test/browser_bug710878.js
browser/base/content/test/browser_bug719271.js
browser/base/content/test/browser_bug724239.js
browser/base/content/test/browser_bug734076.js
browser/base/content/test/browser_bug735471.js
browser/base/content/test/browser_bug743421.js
browser/base/content/test/browser_bug744745.js
browser/base/content/test/browser_bug749738.js
browser/base/content/test/browser_bug752516.js
browser/base/content/test/browser_bug763468_perwindowpb.js
browser/base/content/test/browser_bug767836_perwindowpb.js
browser/base/content/test/browser_bug771331.js
browser/base/content/test/browser_bug783614.js
browser/base/content/test/browser_bug787619.js
browser/base/content/test/browser_bug797677.js
browser/base/content/test/browser_bug812562.js
browser/base/content/test/browser_bug816527.js
browser/base/content/test/browser_bug817947.js
browser/base/content/test/browser_bug818118.js
browser/base/content/test/browser_bug820497.js
browser/base/content/test/browser_bug822367.js
browser/base/content/test/browser_bug832435.js
browser/base/content/test/browser_bug839103.js
browser/base/content/test/browser_bug880101.js
browser/base/content/test/browser_bug882977.js
browser/base/content/test/browser_bug887515.js
browser/base/content/test/browser_bug902156.js
browser/base/content/test/browser_canonizeURL.js
browser/base/content/test/browser_clearplugindata.html
browser/base/content/test/browser_clearplugindata.js
browser/base/content/test/browser_clearplugindata_noage.html
browser/base/content/test/browser_contentAreaClick.js
browser/base/content/test/browser_contextSearchTabPosition.js
browser/base/content/test/browser_ctrlTab.js
browser/base/content/test/browser_customize.js
browser/base/content/test/browser_customize_popupNotification.js
browser/base/content/test/browser_datareporting_notification.js
browser/base/content/test/browser_disablechrome.js
browser/base/content/test/browser_discovery.js
browser/base/content/test/browser_drag.js
browser/base/content/test/browser_duplicateIDs.js
browser/base/content/test/browser_findbarClose.js
browser/base/content/test/browser_fullscreen-window-open.js
browser/base/content/test/browser_gestureSupport.js
browser/base/content/test/browser_getshortcutoruri.js
browser/base/content/test/browser_hide_removing.js
browser/base/content/test/browser_homeDrop.js
browser/base/content/test/browser_identity_UI.js
browser/base/content/test/browser_keywordBookmarklets.js
browser/base/content/test/browser_keywordSearch.js
browser/base/content/test/browser_keywordSearch_postData.js
browser/base/content/test/browser_lastAccessedTab.js
browser/base/content/test/browser_locationBarCommand.js
browser/base/content/test/browser_locationBarExternalLoad.js
browser/base/content/test/browser_middleMouse_inherit.js
browser/base/content/test/browser_minimize.js
browser/base/content/test/browser_mixedcontent_securityflags.js
browser/base/content/test/browser_offlineQuotaNotification.js
browser/base/content/test/browser_overflowScroll.js
browser/base/content/test/browser_pageInfo.js
browser/base/content/test/browser_pageInfo_plugins.js
browser/base/content/test/browser_page_style_menu.js
browser/base/content/test/browser_pinnedTabs.js
browser/base/content/test/browser_plainTextLinks.js
browser/base/content/test/browser_pluginCrashCommentAndURL.js
browser/base/content/test/browser_pluginnotification.js
browser/base/content/test/browser_pluginplaypreview.js
browser/base/content/test/browser_pluginplaypreview2.js
browser/base/content/test/browser_plugins_added_dynamically.js
browser/base/content/test/browser_popupNotification.js
browser/base/content/test/browser_popupUI.js
browser/base/content/test/browser_private_browsing_window.js
browser/base/content/test/browser_private_no_prompt.js
browser/base/content/test/browser_relatedTabs.js
browser/base/content/test/browser_removeTabsToTheEnd.js
browser/base/content/test/browser_sanitize-download-history.js
browser/base/content/test/browser_sanitize-passwordDisabledHosts.js
browser/base/content/test/browser_sanitize-sitepermissions.js
browser/base/content/test/browser_sanitize-timespans.js
browser/base/content/test/browser_sanitizeDialog.js
browser/base/content/test/browser_sanitizeDialog_treeView.js
browser/base/content/test/browser_save_link-perwindowpb.js
browser/base/content/test/browser_save_private_link_perwindowpb.js
browser/base/content/test/browser_save_video.js
browser/base/content/test/browser_scope.js
browser/base/content/test/browser_selectTabAtIndex.js
browser/base/content/test/browser_tabDrop.js
browser/base/content/test/browser_tabMatchesInAwesomebar_perwindowpb.js
browser/base/content/test/browser_tab_drag_drop_perwindow.js
browser/base/content/test/browser_tab_dragdrop.js
browser/base/content/test/browser_tab_dragdrop2.js
browser/base/content/test/browser_tab_dragdrop2_frame1.xul
browser/base/content/test/browser_tabfocus.js
browser/base/content/test/browser_tabopen_reflows.js
browser/base/content/test/browser_tabs_isActive.js
browser/base/content/test/browser_tabs_owner.js
browser/base/content/test/browser_typeAheadFind.js
browser/base/content/test/browser_unloaddialogs.js
browser/base/content/test/browser_urlHighlight.js
browser/base/content/test/browser_urlbarAutoFillTrimURLs.js
browser/base/content/test/browser_urlbarCopying.js
browser/base/content/test/browser_urlbarEnter.js
browser/base/content/test/browser_urlbarRevert.js
browser/base/content/test/browser_urlbarStop.js
browser/base/content/test/browser_urlbarTrimURLs.js
browser/base/content/test/browser_urlbar_search_healthreport.js
browser/base/content/test/browser_utilityOverlay.js
browser/base/content/test/browser_visibleFindSelection.js
browser/base/content/test/browser_visibleTabs.js
browser/base/content/test/browser_visibleTabs_bookmarkAllPages.js
browser/base/content/test/browser_visibleTabs_bookmarkAllTabs.js
browser/base/content/test/browser_visibleTabs_contextMenu.js
browser/base/content/test/browser_visibleTabs_tabPreview.js
browser/base/content/test/browser_wyciwyg_urlbarCopying.js
browser/base/content/test/browser_zbug569342.js
browser/base/content/test/bug364677-data.xml
browser/base/content/test/bug364677-data.xml^headers^
browser/base/content/test/bug395533-data.txt
browser/base/content/test/bug564387.html
browser/base/content/test/bug564387_video1.ogv
browser/base/content/test/bug564387_video1.ogv^headers^
browser/base/content/test/bug592338.html
browser/base/content/test/bug792517-2.html
browser/base/content/test/bug792517.html
browser/base/content/test/bug792517.sjs
browser/base/content/test/bug839103.css
browser/base/content/test/contextmenu_common.js
browser/base/content/test/ctxmenu-image.png
browser/base/content/test/disablechrome.html
browser/base/content/test/discovery.html
browser/base/content/test/domplate_test.js
browser/base/content/test/download_page.html
browser/base/content/test/dummy_page.html
browser/base/content/test/feed_discovery.html
browser/base/content/test/feed_tab.html
browser/base/content/test/file_bug550565_favicon.ico
browser/base/content/test/file_bug550565_popup.html
browser/base/content/test/file_bug822367_1.html
browser/base/content/test/file_bug822367_1.js
browser/base/content/test/file_bug822367_2.html
browser/base/content/test/file_bug822367_3.html
browser/base/content/test/file_bug822367_4.html
browser/base/content/test/file_bug822367_4.js
browser/base/content/test/file_bug822367_4B.html
browser/base/content/test/file_bug822367_5.html
browser/base/content/test/file_bug822367_6.html
browser/base/content/test/file_bug902156.js
browser/base/content/test/file_bug902156_1.html
browser/base/content/test/file_bug902156_2.html
browser/base/content/test/file_bug902156_3.html
browser/base/content/test/file_fullscreen-window-open.html
browser/base/content/test/gZipOfflineChild.cacheManifest
browser/base/content/test/gZipOfflineChild.cacheManifest^headers^
browser/base/content/test/gZipOfflineChild.html
browser/base/content/test/gZipOfflineChild.html^headers^
browser/base/content/test/gZipOfflineChild_uncompressed.html
browser/base/content/test/general/Makefile.in
browser/base/content/test/general/POSTSearchEngine.xml
browser/base/content/test/general/alltabslistener.html
browser/base/content/test/general/app_bug575561.html
browser/base/content/test/general/app_subframe_bug575561.html
browser/base/content/test/general/audio.ogg
browser/base/content/test/general/authenticate.sjs
browser/base/content/test/general/blockNoPlugins.xml
browser/base/content/test/general/blockPluginHard.xml
browser/base/content/test/general/blockPluginVulnerableNoUpdate.xml
browser/base/content/test/general/blockPluginVulnerableUpdatable.xml
browser/base/content/test/general/browser_CTP_context_menu.js
browser/base/content/test/general/browser_CTP_data_urls.js
browser/base/content/test/general/browser_CTP_drag_drop.js
browser/base/content/test/general/browser_URLBarSetURI.js
browser/base/content/test/general/browser_aboutHealthReport.js
browser/base/content/test/general/browser_aboutHome.js
browser/base/content/test/general/browser_aboutSyncProgress.js
browser/base/content/test/general/browser_addKeywordSearch.js
browser/base/content/test/general/browser_addon_bar.js
browser/base/content/test/general/browser_addon_bar_aomlistener.js
browser/base/content/test/general/browser_addon_bar_close_button.js
browser/base/content/test/general/browser_addon_bar_shortcut.js
browser/base/content/test/general/browser_alltabslistener.js
browser/base/content/test/general/browser_blob-channelname.js
browser/base/content/test/general/browser_bookmark_titles.js
browser/base/content/test/general/browser_bug304198.js
browser/base/content/test/general/browser_bug321000.js
browser/base/content/test/general/browser_bug329212.js
browser/base/content/test/general/browser_bug356571.js
browser/base/content/test/general/browser_bug380960.js
browser/base/content/test/general/browser_bug386835.js
browser/base/content/test/general/browser_bug405137.js
browser/base/content/test/general/browser_bug406216.js
browser/base/content/test/general/browser_bug409481.js
browser/base/content/test/general/browser_bug409624.js
browser/base/content/test/general/browser_bug413915.js
browser/base/content/test/general/browser_bug416661.js
browser/base/content/test/general/browser_bug417483.js
browser/base/content/test/general/browser_bug419612.js
browser/base/content/test/general/browser_bug422590.js
browser/base/content/test/general/browser_bug423833.js
browser/base/content/test/general/browser_bug424101.js
browser/base/content/test/general/browser_bug427559.js
browser/base/content/test/general/browser_bug432599.js
browser/base/content/test/general/browser_bug435035.js
browser/base/content/test/general/browser_bug435325.js
browser/base/content/test/general/browser_bug441778.js
browser/base/content/test/general/browser_bug455852.js
browser/base/content/test/general/browser_bug460146.js
browser/base/content/test/general/browser_bug462289.js
browser/base/content/test/general/browser_bug462673.js
browser/base/content/test/general/browser_bug477014.js
browser/base/content/test/general/browser_bug479408.js
browser/base/content/test/general/browser_bug479408_sample.html
browser/base/content/test/general/browser_bug481560.js
browser/base/content/test/general/browser_bug484315.js
browser/base/content/test/general/browser_bug491431.js
browser/base/content/test/general/browser_bug495058.js
browser/base/content/test/general/browser_bug517902.js
browser/base/content/test/general/browser_bug519216.js
browser/base/content/test/general/browser_bug520538.js
browser/base/content/test/general/browser_bug521216.js
browser/base/content/test/general/browser_bug533232.js
browser/base/content/test/general/browser_bug537013.js
browser/base/content/test/general/browser_bug537474.js
browser/base/content/test/general/browser_bug550565.js
browser/base/content/test/general/browser_bug553455.js
browser/base/content/test/general/browser_bug555224.js
browser/base/content/test/general/browser_bug555767.js
browser/base/content/test/general/browser_bug556061.js
browser/base/content/test/general/browser_bug559991.js
browser/base/content/test/general/browser_bug561623.js
browser/base/content/test/general/browser_bug561636.js
browser/base/content/test/general/browser_bug562649.js
browser/base/content/test/general/browser_bug563588.js
browser/base/content/test/general/browser_bug565575.js
browser/base/content/test/general/browser_bug565667.js
browser/base/content/test/general/browser_bug567306.js
browser/base/content/test/general/browser_bug575561.js
browser/base/content/test/general/browser_bug575830.js
browser/base/content/test/general/browser_bug577121.js
browser/base/content/test/general/browser_bug578534.js
browser/base/content/test/general/browser_bug579872.js
browser/base/content/test/general/browser_bug580638.js
browser/base/content/test/general/browser_bug580956.js
browser/base/content/test/general/browser_bug581242.js
browser/base/content/test/general/browser_bug581253.js
browser/base/content/test/general/browser_bug581947.js
browser/base/content/test/general/browser_bug585558.js
browser/base/content/test/general/browser_bug585785.js
browser/base/content/test/general/browser_bug585830.js
browser/base/content/test/general/browser_bug590206.js
browser/base/content/test/general/browser_bug592338.js
browser/base/content/test/general/browser_bug594131.js
browser/base/content/test/general/browser_bug595507.js
browser/base/content/test/general/browser_bug596687.js
browser/base/content/test/general/browser_bug597218.js
browser/base/content/test/general/browser_bug598923.js
browser/base/content/test/general/browser_bug599325.js
browser/base/content/test/general/browser_bug609700.js
browser/base/content/test/general/browser_bug616836.js
browser/base/content/test/general/browser_bug623155.js
browser/base/content/test/general/browser_bug623893.js
browser/base/content/test/general/browser_bug624734.js
browser/base/content/test/general/browser_bug647886.js
browser/base/content/test/general/browser_bug655584.js
browser/base/content/test/general/browser_bug664672.js
browser/base/content/test/general/browser_bug676619.js
browser/base/content/test/general/browser_bug678392-1.html
browser/base/content/test/general/browser_bug678392-2.html
browser/base/content/test/general/browser_bug678392.js
browser/base/content/test/general/browser_bug710878.js
browser/base/content/test/general/browser_bug719271.js
browser/base/content/test/general/browser_bug724239.js
browser/base/content/test/general/browser_bug734076.js
browser/base/content/test/general/browser_bug735471.js
browser/base/content/test/general/browser_bug743421.js
browser/base/content/test/general/browser_bug744745.js
browser/base/content/test/general/browser_bug749738.js
browser/base/content/test/general/browser_bug752516.js
browser/base/content/test/general/browser_bug763468_perwindowpb.js
browser/base/content/test/general/browser_bug767836_perwindowpb.js
browser/base/content/test/general/browser_bug771331.js
browser/base/content/test/general/browser_bug783614.js
browser/base/content/test/general/browser_bug787619.js
browser/base/content/test/general/browser_bug797677.js
browser/base/content/test/general/browser_bug812562.js
browser/base/content/test/general/browser_bug816527.js
browser/base/content/test/general/browser_bug817947.js
browser/base/content/test/general/browser_bug818118.js
browser/base/content/test/general/browser_bug820497.js
browser/base/content/test/general/browser_bug822367.js
browser/base/content/test/general/browser_bug832435.js
browser/base/content/test/general/browser_bug839103.js
browser/base/content/test/general/browser_bug880101.js
browser/base/content/test/general/browser_bug882977.js
browser/base/content/test/general/browser_bug887515.js
browser/base/content/test/general/browser_bug902156.js
browser/base/content/test/general/browser_canonizeURL.js
browser/base/content/test/general/browser_clearplugindata.html
browser/base/content/test/general/browser_clearplugindata.js
browser/base/content/test/general/browser_clearplugindata_noage.html
browser/base/content/test/general/browser_contentAreaClick.js
browser/base/content/test/general/browser_contextSearchTabPosition.js
browser/base/content/test/general/browser_ctrlTab.js
browser/base/content/test/general/browser_customize.js
browser/base/content/test/general/browser_customize_popupNotification.js
browser/base/content/test/general/browser_datareporting_notification.js
browser/base/content/test/general/browser_disablechrome.js
browser/base/content/test/general/browser_discovery.js
browser/base/content/test/general/browser_drag.js
browser/base/content/test/general/browser_duplicateIDs.js
browser/base/content/test/general/browser_findbarClose.js
browser/base/content/test/general/browser_fullscreen-window-open.js
browser/base/content/test/general/browser_gestureSupport.js
browser/base/content/test/general/browser_getshortcutoruri.js
browser/base/content/test/general/browser_hide_removing.js
browser/base/content/test/general/browser_homeDrop.js
browser/base/content/test/general/browser_identity_UI.js
browser/base/content/test/general/browser_keywordBookmarklets.js
browser/base/content/test/general/browser_keywordSearch.js
browser/base/content/test/general/browser_keywordSearch_postData.js
browser/base/content/test/general/browser_lastAccessedTab.js
browser/base/content/test/general/browser_locationBarCommand.js
browser/base/content/test/general/browser_locationBarExternalLoad.js
browser/base/content/test/general/browser_middleMouse_inherit.js
browser/base/content/test/general/browser_minimize.js
browser/base/content/test/general/browser_mixedcontent_securityflags.js
browser/base/content/test/general/browser_offlineQuotaNotification.js
browser/base/content/test/general/browser_overflowScroll.js
browser/base/content/test/general/browser_pageInfo.js
browser/base/content/test/general/browser_pageInfo_plugins.js
browser/base/content/test/general/browser_page_style_menu.js
browser/base/content/test/general/browser_pinnedTabs.js
browser/base/content/test/general/browser_plainTextLinks.js
browser/base/content/test/general/browser_pluginCrashCommentAndURL.js
browser/base/content/test/general/browser_pluginnotification.js
browser/base/content/test/general/browser_pluginplaypreview.js
browser/base/content/test/general/browser_pluginplaypreview2.js
browser/base/content/test/general/browser_plugins_added_dynamically.js
browser/base/content/test/general/browser_popupNotification.js
browser/base/content/test/general/browser_popupUI.js
browser/base/content/test/general/browser_private_browsing_window.js
browser/base/content/test/general/browser_private_no_prompt.js
browser/base/content/test/general/browser_relatedTabs.js
browser/base/content/test/general/browser_removeTabsToTheEnd.js
browser/base/content/test/general/browser_sanitize-download-history.js
browser/base/content/test/general/browser_sanitize-passwordDisabledHosts.js
browser/base/content/test/general/browser_sanitize-sitepermissions.js
browser/base/content/test/general/browser_sanitize-timespans.js
browser/base/content/test/general/browser_sanitizeDialog.js
browser/base/content/test/general/browser_sanitizeDialog_treeView.js
browser/base/content/test/general/browser_save_link-perwindowpb.js
browser/base/content/test/general/browser_save_private_link_perwindowpb.js
browser/base/content/test/general/browser_save_video.js
browser/base/content/test/general/browser_scope.js
browser/base/content/test/general/browser_selectTabAtIndex.js
browser/base/content/test/general/browser_tabDrop.js
browser/base/content/test/general/browser_tabMatchesInAwesomebar_perwindowpb.js
browser/base/content/test/general/browser_tab_drag_drop_perwindow.js
browser/base/content/test/general/browser_tab_dragdrop.js
browser/base/content/test/general/browser_tab_dragdrop2.js
browser/base/content/test/general/browser_tab_dragdrop2_frame1.xul
browser/base/content/test/general/browser_tabfocus.js
browser/base/content/test/general/browser_tabopen_reflows.js
browser/base/content/test/general/browser_tabs_isActive.js
browser/base/content/test/general/browser_tabs_owner.js
browser/base/content/test/general/browser_typeAheadFind.js
browser/base/content/test/general/browser_unloaddialogs.js
browser/base/content/test/general/browser_urlHighlight.js
browser/base/content/test/general/browser_urlbarAutoFillTrimURLs.js
browser/base/content/test/general/browser_urlbarCopying.js
browser/base/content/test/general/browser_urlbarEnter.js
browser/base/content/test/general/browser_urlbarRevert.js
browser/base/content/test/general/browser_urlbarStop.js
browser/base/content/test/general/browser_urlbarTrimURLs.js
browser/base/content/test/general/browser_urlbar_search_healthreport.js
browser/base/content/test/general/browser_utilityOverlay.js
browser/base/content/test/general/browser_visibleFindSelection.js
browser/base/content/test/general/browser_visibleTabs.js
browser/base/content/test/general/browser_visibleTabs_bookmarkAllPages.js
browser/base/content/test/general/browser_visibleTabs_bookmarkAllTabs.js
browser/base/content/test/general/browser_visibleTabs_contextMenu.js
browser/base/content/test/general/browser_visibleTabs_tabPreview.js
browser/base/content/test/general/browser_wyciwyg_urlbarCopying.js
browser/base/content/test/general/browser_zbug569342.js
browser/base/content/test/general/bug364677-data.xml
browser/base/content/test/general/bug364677-data.xml^headers^
browser/base/content/test/general/bug395533-data.txt
browser/base/content/test/general/bug564387.html
browser/base/content/test/general/bug564387_video1.ogv
browser/base/content/test/general/bug564387_video1.ogv^headers^
browser/base/content/test/general/bug592338.html
browser/base/content/test/general/bug792517-2.html
browser/base/content/test/general/bug792517.html
browser/base/content/test/general/bug792517.sjs
browser/base/content/test/general/bug839103.css
browser/base/content/test/general/contextmenu_common.js
browser/base/content/test/general/ctxmenu-image.png
browser/base/content/test/general/disablechrome.html
browser/base/content/test/general/discovery.html
browser/base/content/test/general/domplate_test.js
browser/base/content/test/general/download_page.html
browser/base/content/test/general/dummy_page.html
browser/base/content/test/general/feed_discovery.html
browser/base/content/test/general/feed_tab.html
browser/base/content/test/general/file_bug550565_favicon.ico
browser/base/content/test/general/file_bug550565_popup.html
browser/base/content/test/general/file_bug822367_1.html
browser/base/content/test/general/file_bug822367_1.js
browser/base/content/test/general/file_bug822367_2.html
browser/base/content/test/general/file_bug822367_3.html
browser/base/content/test/general/file_bug822367_4.html
browser/base/content/test/general/file_bug822367_4.js
browser/base/content/test/general/file_bug822367_4B.html
browser/base/content/test/general/file_bug822367_5.html
browser/base/content/test/general/file_bug822367_6.html
browser/base/content/test/general/file_bug902156.js
browser/base/content/test/general/file_bug902156_1.html
browser/base/content/test/general/file_bug902156_2.html
browser/base/content/test/general/file_bug902156_3.html
browser/base/content/test/general/file_fullscreen-window-open.html
browser/base/content/test/general/gZipOfflineChild.cacheManifest
browser/base/content/test/general/gZipOfflineChild.cacheManifest^headers^
browser/base/content/test/general/gZipOfflineChild.html
browser/base/content/test/general/gZipOfflineChild.html^headers^
browser/base/content/test/general/gZipOfflineChild_uncompressed.html
browser/base/content/test/general/head.js
browser/base/content/test/general/head_plain.js
browser/base/content/test/general/healthreport_testRemoteCommands.html
browser/base/content/test/general/moz.build
browser/base/content/test/general/moz.png
browser/base/content/test/general/offlineByDefault.js
browser/base/content/test/general/offlineChild.cacheManifest
browser/base/content/test/general/offlineChild.cacheManifest^headers^
browser/base/content/test/general/offlineChild.html
browser/base/content/test/general/offlineChild2.cacheManifest
browser/base/content/test/general/offlineChild2.cacheManifest^headers^
browser/base/content/test/general/offlineChild2.html
browser/base/content/test/general/offlineEvent.cacheManifest
browser/base/content/test/general/offlineEvent.cacheManifest^headers^
browser/base/content/test/general/offlineEvent.html
browser/base/content/test/general/offlineQuotaNotification.cacheManifest
browser/base/content/test/general/offlineQuotaNotification.html
browser/base/content/test/general/page_style_sample.html
browser/base/content/test/general/pluginCrashCommentAndURL.html
browser/base/content/test/general/plugin_add_dynamically.html
browser/base/content/test/general/plugin_alternate_content.html
browser/base/content/test/general/plugin_both.html
browser/base/content/test/general/plugin_both2.html
browser/base/content/test/general/plugin_bug744745.html
browser/base/content/test/general/plugin_bug749455.html
browser/base/content/test/general/plugin_bug752516.html
browser/base/content/test/general/plugin_bug787619.html
browser/base/content/test/general/plugin_bug797677.html
browser/base/content/test/general/plugin_bug820497.html
browser/base/content/test/general/plugin_clickToPlayAllow.html
browser/base/content/test/general/plugin_clickToPlayDeny.html
browser/base/content/test/general/plugin_data_url.html
browser/base/content/test/general/plugin_hidden_to_visible.html
browser/base/content/test/general/plugin_test.html
browser/base/content/test/general/plugin_test2.html
browser/base/content/test/general/plugin_test3.html
browser/base/content/test/general/plugin_two_types.html
browser/base/content/test/general/plugin_unknown.html
browser/base/content/test/general/print_postdata.sjs
browser/base/content/test/general/privateBrowsingMode.js
browser/base/content/test/general/redirect_bug623155.sjs
browser/base/content/test/general/subtst_contextmenu.html
browser/base/content/test/general/test-mixedcontent-securityerrors.html
browser/base/content/test/general/test_bug364677.html
browser/base/content/test/general/test_bug395533.html
browser/base/content/test/general/test_bug435035.html
browser/base/content/test/general/test_bug452451.html
browser/base/content/test/general/test_bug462673.html
browser/base/content/test/general/test_bug628179.html
browser/base/content/test/general/test_bug839103.html
browser/base/content/test/general/test_contextmenu.html
browser/base/content/test/general/test_contextmenu_input.html
browser/base/content/test/general/test_feed_discovery.html
browser/base/content/test/general/test_offlineNotification.html
browser/base/content/test/general/test_offline_gzip.html
browser/base/content/test/general/test_wyciwyg_copying.html
browser/base/content/test/general/title_test.svg
browser/base/content/test/general/video.ogg
browser/base/content/test/general/zoom_test.html
browser/base/content/test/head.js
browser/base/content/test/head_plain.js
browser/base/content/test/healthreport_testRemoteCommands.html
browser/base/content/test/moz.build
browser/base/content/test/moz.png
browser/base/content/test/offlineByDefault.js
browser/base/content/test/offlineChild.cacheManifest
browser/base/content/test/offlineChild.cacheManifest^headers^
browser/base/content/test/offlineChild.html
browser/base/content/test/offlineChild2.cacheManifest
browser/base/content/test/offlineChild2.cacheManifest^headers^
browser/base/content/test/offlineChild2.html
browser/base/content/test/offlineEvent.cacheManifest
browser/base/content/test/offlineEvent.cacheManifest^headers^
browser/base/content/test/offlineEvent.html
browser/base/content/test/offlineQuotaNotification.cacheManifest
browser/base/content/test/offlineQuotaNotification.html
browser/base/content/test/page_style_sample.html
browser/base/content/test/pluginCrashCommentAndURL.html
browser/base/content/test/plugin_add_dynamically.html
browser/base/content/test/plugin_alternate_content.html
browser/base/content/test/plugin_both.html
browser/base/content/test/plugin_both2.html
browser/base/content/test/plugin_bug744745.html
browser/base/content/test/plugin_bug749455.html
browser/base/content/test/plugin_bug752516.html
browser/base/content/test/plugin_bug787619.html
browser/base/content/test/plugin_bug797677.html
browser/base/content/test/plugin_bug820497.html
browser/base/content/test/plugin_clickToPlayAllow.html
browser/base/content/test/plugin_clickToPlayDeny.html
browser/base/content/test/plugin_data_url.html
browser/base/content/test/plugin_hidden_to_visible.html
browser/base/content/test/plugin_test.html
browser/base/content/test/plugin_test2.html
browser/base/content/test/plugin_test3.html
browser/base/content/test/plugin_two_types.html
browser/base/content/test/plugin_unknown.html
browser/base/content/test/print_postdata.sjs
browser/base/content/test/privateBrowsingMode.js
browser/base/content/test/redirect_bug623155.sjs
browser/base/content/test/social/browser_addons.js
browser/base/content/test/social/browser_blocklist.js
browser/base/content/test/social/browser_chat_tearoff.js
browser/base/content/test/social/browser_share.js
browser/base/content/test/social/browser_social_chatwindow_resize.js
browser/base/content/test/social/browser_social_chatwindowfocus.js
browser/base/content/test/social/browser_social_errorPage.js
browser/base/content/test/social/browser_social_flyout.js
browser/base/content/test/social/browser_social_isVisible.js
browser/base/content/test/social/browser_social_marks.js
browser/base/content/test/social/browser_social_mozSocial_API.js
browser/base/content/test/social/browser_social_perwindowPB.js
browser/base/content/test/social/browser_social_sidebar.js
browser/base/content/test/social/browser_social_status.js
browser/base/content/test/social/browser_social_toolbar.js
browser/base/content/test/social/browser_social_window.js
browser/base/content/test/subtst_contextmenu.html
browser/base/content/test/test-mixedcontent-securityerrors.html
browser/base/content/test/test_bug364677.html
browser/base/content/test/test_bug395533.html
browser/base/content/test/test_bug435035.html
browser/base/content/test/test_bug452451.html
browser/base/content/test/test_bug462673.html
browser/base/content/test/test_bug628179.html
browser/base/content/test/test_bug839103.html
browser/base/content/test/test_contextmenu.html
browser/base/content/test/test_contextmenu_input.html
browser/base/content/test/test_feed_discovery.html
browser/base/content/test/test_offlineNotification.html
browser/base/content/test/test_offline_gzip.html
browser/base/content/test/test_wyciwyg_copying.html
browser/base/content/test/title_test.svg
browser/base/content/test/video.ogg
browser/base/content/test/zoom_test.html
browser/components/sessionstore/test/browser_599909.js
browser/components/tabview/test/browser_tabview_bug610242.js
dom/browser-element/mochitest/Makefile.in
toolkit/components/thumbnails/test/browser_thumbnails_background.js
toolkit/content/tests/widgets/Makefile.in
rename from browser/base/content/test/Makefile.in
rename to browser/base/content/test/general/Makefile.in
rename from browser/base/content/test/POSTSearchEngine.xml
rename to browser/base/content/test/general/POSTSearchEngine.xml
--- a/browser/base/content/test/POSTSearchEngine.xml
+++ b/browser/base/content/test/general/POSTSearchEngine.xml
@@ -1,6 +1,6 @@
 <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
   <ShortName>POST Search</ShortName>
-  <Url type="text/html" method="POST" template="http://mochi.test:8888/browser/browser/base/content/test/print_postdata.sjs">
+  <Url type="text/html" method="POST" template="http://mochi.test:8888/browser/browser/base/content/test/general/print_postdata.sjs">
     <Param name="searchterms" value="{searchTerms}"/>
   </Url>
 </OpenSearchDescription>
rename from browser/base/content/test/alltabslistener.html
rename to browser/base/content/test/general/alltabslistener.html
rename from browser/base/content/test/app_bug575561.html
rename to browser/base/content/test/general/app_bug575561.html
--- a/browser/base/content/test/app_bug575561.html
+++ b/browser/base/content/test/general/app_bug575561.html
@@ -2,18 +2,18 @@
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=575561
 -->
   <head>
     <title>Test for links in app tabs</title>
   </head>
   <body>
-    <a href="http://example.com/browser/browser/base/content/test/dummy_page.html">same domain</a>
-    <a href="http://test1.example.com/browser/browser/base/content/test/dummy_page.html">same domain (different subdomain)</a>
-    <a href="http://example.org/browser/browser/base/content/test/dummy_page.html">different domain</a>
-    <a href="http://example.org/browser/browser/base/content/test/dummy_page.html" target="foo">different domain (with target)</a>
-    <a href="http://www.example.com/browser/browser/base/content/test/dummy_page.html">same domain (www prefix)</a>
+    <a href="http://example.com/browser/browser/base/content/test/general/dummy_page.html">same domain</a>
+    <a href="http://test1.example.com/browser/browser/base/content/test/general/dummy_page.html">same domain (different subdomain)</a>
+    <a href="http://example.org/browser/browser/base/content/test/general/dummy_page.html">different domain</a>
+    <a href="http://example.org/browser/browser/base/content/test/general/dummy_page.html" target="foo">different domain (with target)</a>
+    <a href="http://www.example.com/browser/browser/base/content/test/general/dummy_page.html">same domain (www prefix)</a>
     <a href="data:text/html,<!DOCTYPE html><html><body>Another Page</body></html>">data: URI</a>
     <a href="about:mozilla">about: URI</a>
     <iframe src="app_subframe_bug575561.html"></iframe>
   </body>
 </html>
rename from browser/base/content/test/app_subframe_bug575561.html
rename to browser/base/content/test/general/app_subframe_bug575561.html
--- a/browser/base/content/test/app_subframe_bug575561.html
+++ b/browser/base/content/test/general/app_subframe_bug575561.html
@@ -2,11 +2,11 @@
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=575561
 -->
   <head>
     <title>Test for links in app tab subframes</title>
   </head>
   <body>
-    <a href="http://example.org/browser/browser/base/content/test/dummy_page.html">different domain</a>
+    <a href="http://example.org/browser/browser/base/content/test/general/dummy_page.html">different domain</a>
   </body>
 </html>
rename from browser/base/content/test/audio.ogg
rename to browser/base/content/test/general/audio.ogg
rename from browser/base/content/test/authenticate.sjs
rename to browser/base/content/test/general/authenticate.sjs
rename from browser/base/content/test/blockNoPlugins.xml
rename to browser/base/content/test/general/blockNoPlugins.xml
rename from browser/base/content/test/blockPluginHard.xml
rename to browser/base/content/test/general/blockPluginHard.xml
rename from browser/base/content/test/blockPluginVulnerableNoUpdate.xml
rename to browser/base/content/test/general/blockPluginVulnerableNoUpdate.xml
rename from browser/base/content/test/blockPluginVulnerableUpdatable.xml
rename to browser/base/content/test/general/blockPluginVulnerableUpdatable.xml
rename from browser/base/content/test/browser_CTP_context_menu.js
rename to browser/base/content/test/general/browser_CTP_context_menu.js
rename from browser/base/content/test/browser_CTP_data_urls.js
rename to browser/base/content/test/general/browser_CTP_data_urls.js
rename from browser/base/content/test/browser_CTP_drag_drop.js
rename to browser/base/content/test/general/browser_CTP_drag_drop.js
rename from browser/base/content/test/browser_URLBarSetURI.js
rename to browser/base/content/test/general/browser_URLBarSetURI.js
rename from browser/base/content/test/browser_aboutHealthReport.js
rename to browser/base/content/test/general/browser_aboutHealthReport.js
--- a/browser/base/content/test/browser_aboutHealthReport.js
+++ b/browser/base/content/test/general/browser_aboutHealthReport.js
@@ -22,17 +22,17 @@ registerCleanupFunction(function() {
 
 let gTests = [
 
 {
   desc: "Test the remote commands",
   setup: function ()
   {
     Services.prefs.setCharPref("datareporting.healthreport.about.reportUrl",
-                               "https://example.com/browser/browser/base/content/test/healthreport_testRemoteCommands.html");
+                               "https://example.com/browser/browser/base/content/test/general/healthreport_testRemoteCommands.html");
   },
   run: function ()
   {
     let deferred = Promise.defer();
 
     let policy = Cc["@mozilla.org/datareporting/service;1"]
                  .getService(Ci.nsISupports)
                  .wrappedJSObject
rename from browser/base/content/test/browser_aboutHome.js
rename to browser/base/content/test/general/browser_aboutHome.js
--- a/browser/base/content/test/browser_aboutHome.js
+++ b/browser/base/content/test/general/browser_aboutHome.js
@@ -316,17 +316,17 @@ let gTests = [
            "Search text should arrive correctly");
         deferred.resolve();
       });
     };
     Services.obs.addObserver(searchObserver, "browser-search-engine-modified", false);
     registerCleanupFunction(function () {
       Services.obs.removeObserver(searchObserver, "browser-search-engine-modified");
     });
-    Services.search.addEngine("http://test:80/browser/browser/base/content/test/POSTSearchEngine.xml",
+    Services.search.addEngine("http://test:80/browser/browser/base/content/test/general/POSTSearchEngine.xml",
                               Ci.nsISearchEngine.DATA_XML, null, false);
     return deferred.promise;
   }
 }
 
 ];
 
 function test()
rename from browser/base/content/test/browser_aboutSyncProgress.js
rename to browser/base/content/test/general/browser_aboutSyncProgress.js
rename from browser/base/content/test/browser_addKeywordSearch.js
rename to browser/base/content/test/general/browser_addKeywordSearch.js
--- a/browser/base/content/test/browser_addKeywordSearch.js
+++ b/browser/base/content/test/general/browser_addKeywordSearch.js
@@ -1,15 +1,15 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 function test() {
   waitForExplicitFinish();
 
-  gBrowser.selectedTab = gBrowser.addTab("http://example.org/browser/browser/base/content/test/dummy_page.html");
+  gBrowser.selectedTab = gBrowser.addTab("http://example.org/browser/browser/base/content/test/general/dummy_page.html");
 
   gBrowser.selectedBrowser.addEventListener("load", function runTests() {
     gBrowser.selectedBrowser.removeEventListener("load", runTests, true);
 
     let doc = gBrowser.contentDocument;
     let base = doc.createElement("base");
     doc.head.appendChild(base);
 
@@ -28,17 +28,17 @@ function test() {
 
       doc.body.removeChild(form);
     }
 
     let testData = [
     /* baseURI, field name, expected */
       [ 'http://example.com/', 'q', 'http://example.com/?q=%s' ],
       [ 'http://example.com/new-path-here/', 'q', 'http://example.com/new-path-here/?q=%s' ],
-      [ '', 'q', 'http://example.org/browser/browser/base/content/test/dummy_page.html?q=%s' ],
+      [ '', 'q', 'http://example.org/browser/browser/base/content/test/general/dummy_page.html?q=%s' ],
     ]
 
     for (let data of testData) {
       check(data[0], data[1], data[2]);
     }
 
     // cleanup
     gBrowser.removeCurrentTab();
rename from browser/base/content/test/browser_addon_bar.js
rename to browser/base/content/test/general/browser_addon_bar.js
rename from browser/base/content/test/browser_addon_bar_aomlistener.js
rename to browser/base/content/test/general/browser_addon_bar_aomlistener.js
rename from browser/base/content/test/browser_addon_bar_close_button.js
rename to browser/base/content/test/general/browser_addon_bar_close_button.js
rename from browser/base/content/test/browser_addon_bar_shortcut.js
rename to browser/base/content/test/general/browser_addon_bar_shortcut.js
rename from browser/base/content/test/browser_alltabslistener.js
rename to browser/base/content/test/general/browser_alltabslistener.js
--- a/browser/base/content/test/browser_alltabslistener.js
+++ b/browser/base/content/test/general/browser_alltabslistener.js
@@ -75,17 +75,17 @@ var gAllProgressListener = {
     ok(gAllNotificationsPos < gAllNotifications.length, "Got an expected notification for the all notifications listener");
     is(state, gAllNotifications[gAllNotificationsPos], "Got a notification for the all notifications listener");
     gAllNotificationsPos++;
   }
 }
 
 var gFrontNotifications, gAllNotifications, gFrontNotificationsPos, gAllNotificationsPos;
 var gBackgroundTab, gForegroundTab, gBackgroundBrowser, gForegroundBrowser, gTestBrowser;
-var gTestPage = "/browser/browser/base/content/test/alltabslistener.html";
+var gTestPage = "/browser/browser/base/content/test/general/alltabslistener.html";
 var gNextTest;
 
 function test() {
   waitForExplicitFinish();
 
   gBackgroundTab = gBrowser.addTab("about:blank");
   gForegroundTab = gBrowser.addTab("about:blank");
   gBackgroundBrowser = gBrowser.getBrowserForTab(gBackgroundTab);
rename from browser/base/content/test/browser_blob-channelname.js
rename to browser/base/content/test/general/browser_blob-channelname.js
rename from browser/base/content/test/browser_bookmark_titles.js
rename to browser/base/content/test/general/browser_bookmark_titles.js
--- a/browser/base/content/test/browser_bookmark_titles.js
+++ b/browser/base/content/test/general/browser_bookmark_titles.js
@@ -1,17 +1,17 @@
 /* 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/. */
 
 // This file is tests for the default titles that new bookmarks get.
 
 let tests = [
     // Common page.
-    ['http://example.com/browser/browser/base/content/test/dummy_page.html',
+    ['http://example.com/browser/browser/base/content/test/general/dummy_page.html',
      'Dummy test page'],
     // Data URI.
     ['data:text/html;charset=utf-8,<title>test%20data:%20url</title>',
      'test data: url'],
     // about:neterror
     ['data:application/vnd.mozilla.xul+xml,',
      'data:application/vnd.mozilla.xul+xml,'],
     // about:certerror
rename from browser/base/content/test/browser_bug304198.js
rename to browser/base/content/test/general/browser_bug304198.js
--- a/browser/base/content/test/browser_bug304198.js
+++ b/browser/base/content/test/general/browser_bug304198.js
@@ -6,17 +6,17 @@ function test() {
   waitForExplicitFinish();
 
   let charsToDelete, deletedURLTab, fullURLTab, partialURLTab, testPartialURL, testURL;
 
   charsToDelete = 5;
   deletedURLTab = gBrowser.addTab();
   fullURLTab = gBrowser.addTab();
   partialURLTab = gBrowser.addTab();
-  testURL = "http://example.org/browser/browser/base/content/test/dummy_page.html";
+  testURL = "http://example.org/browser/browser/base/content/test/general/dummy_page.html";
 
   function cleanUp() {
     gBrowser.removeTab(fullURLTab);
     gBrowser.removeTab(partialURLTab);
     gBrowser.removeTab(deletedURLTab);
   }
 
   function cycleTabs() {
rename from browser/base/content/test/browser_bug321000.js
rename to browser/base/content/test/general/browser_bug321000.js
rename from browser/base/content/test/browser_bug329212.js
rename to browser/base/content/test/general/browser_bug329212.js
--- a/browser/base/content/test/browser_bug329212.js
+++ b/browser/base/content/test/general/browser_bug329212.js
@@ -33,11 +33,11 @@ function test () {
 
     ok(!tooltip.fillInPageTooltip(doc.getElementById("text5")), "should not get title");
 
     gBrowser.removeCurrentTab();
     finish();
   }, true);
 
   content.location = 
-    "http://mochi.test:8888/browser/browser/base/content/test/title_test.svg";
+    "http://mochi.test:8888/browser/browser/base/content/test/general/title_test.svg";
 }
 
rename from browser/base/content/test/browser_bug356571.js
rename to browser/base/content/test/general/browser_bug356571.js
--- a/browser/base/content/test/browser_bug356571.js
+++ b/browser/base/content/test/general/browser_bug356571.js
@@ -33,17 +33,17 @@ let promptService = {
 Cm.QueryInterface(Ci.nsIComponentRegistrar)
   .registerFactory(Components.ID(kPromptServiceUUID), "Prompt Service",
                    kPromptServiceContractID, fakePromptServiceFactory);
 */
 
 const kCompleteState = Ci.nsIWebProgressListener.STATE_STOP +
                        Ci.nsIWebProgressListener.STATE_IS_NETWORK;
 
-const kDummyPage = "http://example.org/browser/browser/base/content/test/dummy_page.html";
+const kDummyPage = "http://example.org/browser/browser/base/content/test/general/dummy_page.html";
 const kURIs = [
   "bad://www.mozilla.org/",
   kDummyPage,
   kDummyPage,
 ];
 
 var gProgressListener = {
   _runCount: 0,
rename from browser/base/content/test/browser_bug380960.js
rename to browser/base/content/test/general/browser_bug380960.js
rename from browser/base/content/test/browser_bug386835.js
rename to browser/base/content/test/general/browser_bug386835.js
--- a/browser/base/content/test/browser_bug386835.js
+++ b/browser/base/content/test/general/browser_bug386835.js
@@ -1,10 +1,10 @@
-var gTestPage = "http://example.org/browser/browser/base/content/test/dummy_page.html";
-var gTestImage = "http://example.org/browser/browser/base/content/test/moz.png";
+var gTestPage = "http://example.org/browser/browser/base/content/test/general/dummy_page.html";
+var gTestImage = "http://example.org/browser/browser/base/content/test/general/moz.png";
 var gTab1, gTab2, gTab3;
 var gLevel;
 const BACK = 0;
 const FORWARD = 1;
 
 function test() {
   waitForExplicitFinish();
 
rename from browser/base/content/test/browser_bug405137.js
rename to browser/base/content/test/general/browser_bug405137.js
rename from browser/base/content/test/browser_bug406216.js
rename to browser/base/content/test/general/browser_bug406216.js
rename from browser/base/content/test/browser_bug409481.js
rename to browser/base/content/test/general/browser_bug409481.js
rename from browser/base/content/test/browser_bug409624.js
rename to browser/base/content/test/general/browser_bug409624.js
rename from browser/base/content/test/browser_bug413915.js
rename to browser/base/content/test/general/browser_bug413915.js
rename from browser/base/content/test/browser_bug416661.js
rename to browser/base/content/test/general/browser_bug416661.js
--- a/browser/base/content/test/browser_bug416661.js
+++ b/browser/base/content/test/general/browser_bug416661.js
@@ -3,26 +3,26 @@ function start_test_prefNotSet() {
   Task.spawn(function () {
     is(ZoomManager.zoom, 1, "initial zoom level should be 1");
     FullZoom.enlarge();
 
     //capture the zoom level to test later
     zoomLevel = ZoomManager.zoom;
     isnot(zoomLevel, 1, "zoom level should have changed");
 
-    yield FullZoomHelper.load(gBrowser.selectedTab, "http://mochi.test:8888/browser/browser/base/content/test/moz.png");
+    yield FullZoomHelper.load(gBrowser.selectedTab, "http://mochi.test:8888/browser/browser/base/content/test/general/moz.png");
   }).then(continue_test_prefNotSet, FullZoomHelper.failAndContinue(finish));
 }
 
 function continue_test_prefNotSet () {
   Task.spawn(function () {
     is(ZoomManager.zoom, 1, "zoom level pref should not apply to an image");
     FullZoom.reset();
 
-    yield FullZoomHelper.load(gBrowser.selectedTab, "http://mochi.test:8888/browser/browser/base/content/test/zoom_test.html");
+    yield FullZoomHelper.load(gBrowser.selectedTab, "http://mochi.test:8888/browser/browser/base/content/test/general/zoom_test.html");
   }).then(end_test_prefNotSet, FullZoomHelper.failAndContinue(finish));
 }
 
 function end_test_prefNotSet() {
   is(ZoomManager.zoom, zoomLevel, "the zoom level should have persisted");
 
   // Reset the zoom so that other tests have a fresh zoom level
   FullZoom.reset();
@@ -31,11 +31,11 @@ function end_test_prefNotSet() {
 }
 
 function test() {
   waitForExplicitFinish();
 
   Task.spawn(function () {
     tabElm = gBrowser.addTab();
     yield FullZoomHelper.selectTabAndWaitForLocationChange(tabElm);
-    yield FullZoomHelper.load(tabElm, "http://mochi.test:8888/browser/browser/base/content/test/zoom_test.html");
+    yield FullZoomHelper.load(tabElm, "http://mochi.test:8888/browser/browser/base/content/test/general/zoom_test.html");
   }).then(start_test_prefNotSet, FullZoomHelper.failAndContinue(finish));
 }
rename from browser/base/content/test/browser_bug417483.js
rename to browser/base/content/test/general/browser_bug417483.js
rename from browser/base/content/test/browser_bug419612.js
rename to browser/base/content/test/general/browser_bug419612.js
--- a/browser/base/content/test/browser_bug419612.js
+++ b/browser/base/content/test/general/browser_bug419612.js
@@ -1,13 +1,13 @@
 function test() {
   waitForExplicitFinish();
 
   Task.spawn(function () {
-    let testPage = "http://example.org/browser/browser/base/content/test/dummy_page.html";
+    let testPage = "http://example.org/browser/browser/base/content/test/general/dummy_page.html";
     let tab1 = gBrowser.addTab();
     yield FullZoomHelper.selectTabAndWaitForLocationChange(tab1);
     yield FullZoomHelper.load(tab1, testPage);
 
     let tab2 = gBrowser.addTab();
     yield FullZoomHelper.load(tab2, testPage);
 
     FullZoom.enlarge();
rename from browser/base/content/test/browser_bug422590.js
rename to browser/base/content/test/general/browser_bug422590.js
rename from browser/base/content/test/browser_bug423833.js
rename to browser/base/content/test/general/browser_bug423833.js
rename from browser/base/content/test/browser_bug424101.js
rename to browser/base/content/test/general/browser_bug424101.js
rename from browser/base/content/test/browser_bug427559.js
rename to browser/base/content/test/general/browser_bug427559.js
rename from browser/base/content/test/browser_bug432599.js
rename to browser/base/content/test/general/browser_bug432599.js
rename from browser/base/content/test/browser_bug435035.js
rename to browser/base/content/test/general/browser_bug435035.js
--- a/browser/base/content/test/browser_bug435035.js
+++ b/browser/base/content/test/general/browser_bug435035.js
@@ -7,10 +7,10 @@ function test() {
     is(document.getElementById("identity-box").className,
        gIdentityHandler.IDENTITY_MODE_MIXED_DISPLAY_LOADED,
        "identity box has class name for mixed content");
 
     gBrowser.removeCurrentTab();
     finish();
   }, true);
 
-  content.location = "https://example.com/browser/browser/base/content/test/test_bug435035.html";
+  content.location = "https://example.com/browser/browser/base/content/test/general/test_bug435035.html";
 }
rename from browser/base/content/test/browser_bug435325.js
rename to browser/base/content/test/general/browser_bug435325.js
rename from browser/base/content/test/browser_bug441778.js
rename to browser/base/content/test/general/browser_bug441778.js
rename from browser/base/content/test/browser_bug455852.js
rename to browser/base/content/test/general/browser_bug455852.js
rename from browser/base/content/test/browser_bug460146.js
rename to browser/base/content/test/general/browser_bug460146.js
rename from browser/base/content/test/browser_bug462289.js
rename to browser/base/content/test/general/browser_bug462289.js
rename from browser/base/content/test/browser_bug462673.js
rename to browser/base/content/test/general/browser_bug462673.js
rename from browser/base/content/test/browser_bug477014.js
rename to browser/base/content/test/general/browser_bug477014.js
rename from browser/base/content/test/browser_bug479408.js
rename to browser/base/content/test/general/browser_bug479408.js
--- a/browser/base/content/test/browser_bug479408.js
+++ b/browser/base/content/test/general/browser_bug479408.js
@@ -1,12 +1,12 @@
 function test() {
   waitForExplicitFinish();
   let tab = gBrowser.selectedTab = gBrowser.addTab(
-    "http://mochi.test:8888/browser/browser/base/content/test/browser_bug479408_sample.html");
+    "http://mochi.test:8888/browser/browser/base/content/test/general/browser_bug479408_sample.html");
   
   gBrowser.addEventListener("DOMLinkAdded", function(aEvent) {
     gBrowser.removeEventListener("DOMLinkAdded", arguments.callee, true);
     
     executeSoon(function() {
       ok(!tab.linkedBrowser.engines,
          "the subframe's search engine wasn't detected");
       
rename from browser/base/content/test/browser_bug479408_sample.html
rename to browser/base/content/test/general/browser_bug479408_sample.html
rename from browser/base/content/test/browser_bug481560.js
rename to browser/base/content/test/general/browser_bug481560.js
rename from browser/base/content/test/browser_bug484315.js
rename to browser/base/content/test/general/browser_bug484315.js
rename from browser/base/content/test/browser_bug491431.js
rename to browser/base/content/test/general/browser_bug491431.js
rename from browser/base/content/test/browser_bug495058.js
rename to browser/base/content/test/general/browser_bug495058.js
rename from browser/base/content/test/browser_bug517902.js
rename to browser/base/content/test/general/browser_bug517902.js
rename from browser/base/content/test/browser_bug519216.js
rename to browser/base/content/test/general/browser_bug519216.js
rename from browser/base/content/test/browser_bug520538.js
rename to browser/base/content/test/general/browser_bug520538.js
rename from browser/base/content/test/browser_bug521216.js
rename to browser/base/content/test/general/browser_bug521216.js
rename from browser/base/content/test/browser_bug533232.js
rename to browser/base/content/test/general/browser_bug533232.js
rename from browser/base/content/test/browser_bug537013.js
rename to browser/base/content/test/general/browser_bug537013.js
rename from browser/base/content/test/browser_bug537474.js
rename to browser/base/content/test/general/browser_bug537474.js
rename from browser/base/content/test/browser_bug550565.js
rename to browser/base/content/test/general/browser_bug550565.js
rename from browser/base/content/test/browser_bug553455.js
rename to browser/base/content/test/general/browser_bug553455.js
rename from browser/base/content/test/browser_bug555224.js
rename to browser/base/content/test/general/browser_bug555224.js
--- a/browser/base/content/test/browser_bug555224.js
+++ b/browser/base/content/test/general/browser_bug555224.js
@@ -1,12 +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/. */
-const TEST_PAGE = "/browser/browser/base/content/test/dummy_page.html";
+const TEST_PAGE = "/browser/browser/base/content/test/general/dummy_page.html";
 var gTestTab, gBgTab, gTestZoom;
 
 function testBackgroundLoad() {
   is(ZoomManager.zoom, gTestZoom, "opening a background tab should not change foreground zoom");
 
   gBrowser.removeTab(gBgTab);
 
   FullZoom.reset();
rename from browser/base/content/test/browser_bug555767.js
rename to browser/base/content/test/general/browser_bug555767.js
--- a/browser/base/content/test/browser_bug555767.js
+++ b/browser/base/content/test/general/browser_bug555767.js
@@ -1,16 +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/. */
 
 function test() {
   waitForExplicitFinish();
 
-  let testURL = "http://example.org/browser/browser/base/content/test/dummy_page.html";
+  let testURL = "http://example.org/browser/browser/base/content/test/general/dummy_page.html";
   let tabSelected = false;
 
   // Open the base tab
   let baseTab = gBrowser.addTab(testURL);
   baseTab.linkedBrowser.addEventListener("load", function() {
     // Wait for the tab to be fully loaded so matching happens correctly
     if (baseTab.linkedBrowser.currentURI.spec == "about:blank")
       return;
rename from browser/base/content/test/browser_bug556061.js
rename to browser/base/content/test/general/browser_bug556061.js
--- a/browser/base/content/test/browser_bug556061.js
+++ b/browser/base/content/test/general/browser_bug556061.js
@@ -1,13 +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/. */
 
-let testURL = "http://example.org/browser/browser/base/content/test/dummy_page.html";
+let testURL = "http://example.org/browser/browser/base/content/test/general/dummy_page.html";
 let testActionURL = "moz-action:switchtab," + testURL;
 testURL = gURLBar.trimValue(testURL);
 let testTab;
 
 function runNextTest() {
   if (tests.length) {
     let t = tests.shift();
     waitForClipboard(t.expected, t.setup, function() {
rename from browser/base/content/test/browser_bug559991.js
rename to browser/base/content/test/general/browser_bug559991.js
--- a/browser/base/content/test/browser_bug559991.js
+++ b/browser/base/content/test/general/browser_bug559991.js
@@ -5,17 +5,17 @@ function test() {
   // ----------
   // Test setup
 
   waitForExplicitFinish();
 
   gPrefService.setBoolPref("browser.zoom.updateBackgroundTabs", true);
   gPrefService.setBoolPref("browser.zoom.siteSpecific", true);
 
-  let uri = "http://example.org/browser/browser/base/content/test/dummy_page.html";
+  let uri = "http://example.org/browser/browser/base/content/test/general/dummy_page.html";
 
   Task.spawn(function () {
     tab = gBrowser.addTab();
     yield FullZoomHelper.load(tab, uri);
 
     // -------------------------------------------------------------------
     // Test - Trigger a tab switch that should update the zoom level
     yield FullZoomHelper.selectTabAndWaitForLocationChange(tab);
rename from browser/base/content/test/browser_bug561623.js
rename to browser/base/content/test/general/browser_bug561623.js
rename from browser/base/content/test/browser_bug561636.js
rename to browser/base/content/test/general/browser_bug561636.js
rename from browser/base/content/test/browser_bug562649.js
rename to browser/base/content/test/general/browser_bug562649.js
rename from browser/base/content/test/browser_bug563588.js
rename to browser/base/content/test/general/browser_bug563588.js
rename from browser/base/content/test/browser_bug565575.js
rename to browser/base/content/test/general/browser_bug565575.js
rename from browser/base/content/test/browser_bug565667.js
rename to browser/base/content/test/general/browser_bug565667.js
rename from browser/base/content/test/browser_bug567306.js
rename to browser/base/content/test/general/browser_bug567306.js
rename from browser/base/content/test/browser_bug575561.js
rename to browser/base/content/test/general/browser_bug575561.js
--- a/browser/base/content/test/browser_bug575561.js
+++ b/browser/base/content/test/general/browser_bug575561.js
@@ -1,31 +1,31 @@
 function test() {
   waitForExplicitFinish();
 
   // Pinned: Link to the same domain should not open a new tab
-  // Tests link to http://example.com/browser/browser/base/content/test/dummy_page.html  
+  // Tests link to http://example.com/browser/browser/base/content/test/general/dummy_page.html  
   testLink(0, true, false, function() {
     // Pinned: Link to a different subdomain should open a new tab
-    // Tests link to http://test1.example.com/browser/browser/base/content/test/dummy_page.html
+    // Tests link to http://test1.example.com/browser/browser/base/content/test/general/dummy_page.html
     testLink(1, true, true, function() {
       // Pinned: Link to a different domain should open a new tab
-      // Tests link to http://example.org/browser/browser/base/content/test/dummy_page.html
+      // Tests link to http://example.org/browser/browser/base/content/test/general/dummy_page.html
       testLink(2, true, true, function() {
         // Not Pinned: Link to a different domain should not open a new tab
-        // Tests link to http://example.org/browser/browser/base/content/test/dummy_page.html
+        // Tests link to http://example.org/browser/browser/base/content/test/general/dummy_page.html
         testLink(2, false, false, function() {
           // Pinned: Targetted link should open a new tab
-          // Tests link to http://example.org/browser/browser/base/content/test/dummy_page.html with target="foo"
+          // Tests link to http://example.org/browser/browser/base/content/test/general/dummy_page.html with target="foo"
           testLink(3, true, true, function() {
             // Pinned: Link in a subframe should not open a new tab
-            // Tests link to http://example.org/browser/browser/base/content/test/dummy_page.html in subframe
+            // Tests link to http://example.org/browser/browser/base/content/test/general/dummy_page.html in subframe
             testLink(0, true, false, function() {
               // Pinned: Link to the same domain (with www prefix) should not open a new tab
-              // Tests link to http://www.example.com/browser/browser/base/content/test/dummy_page.html      
+              // Tests link to http://www.example.com/browser/browser/base/content/test/general/dummy_page.html      
               testLink(4, true, false, function() {
                 // Pinned: Link to a data: URI should not open a new tab
                 // Tests link to data:text/html,<!DOCTYPE html><html><body>Another Page</body></html>
                 testLink(5, true, false, function() {
                   // Pinned: Link to an about: URI should not open a new tab
                   // Tests link to about:mozilla
                   testLink(6, true, false, finish);
                 });
@@ -34,17 +34,17 @@ function test() {
           });
         });
       });
     });
   });
 }
 
 function testLink(aLinkIndex, pinTab, expectNewTab, nextTest, testSubFrame) {
-  let appTab = gBrowser.addTab("http://example.com/browser/browser/base/content/test/app_bug575561.html", {skipAnimation: true});
+  let appTab = gBrowser.addTab("http://example.com/browser/browser/base/content/test/general/app_bug575561.html", {skipAnimation: true});
   if (pinTab)
     gBrowser.pinTab(appTab);
   gBrowser.selectedTab = appTab;
   appTab.linkedBrowser.addEventListener("load", onLoad, true);
 
   let loadCount = 0;
   function onLoad() {
     loadCount++;
rename from browser/base/content/test/browser_bug575830.js
rename to browser/base/content/test/general/browser_bug575830.js
--- a/browser/base/content/test/browser_bug575830.js
+++ b/browser/base/content/test/general/browser_bug575830.js
@@ -1,16 +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/. */
 "use strict";
 
 function test() {
   let tab1, tab2;
-  const TEST_IMAGE = "http://example.org/browser/browser/base/content/test/moz.png";
+  const TEST_IMAGE = "http://example.org/browser/browser/base/content/test/general/moz.png";
 
   waitForExplicitFinish();
   registerCleanupFunction(function cleanup() {
     gBrowser.removeTab(tab1);
     gBrowser.removeTab(tab2);
   });
 
   Task.spawn(function () {
rename from browser/base/content/test/browser_bug577121.js
rename to browser/base/content/test/general/browser_bug577121.js
rename from browser/base/content/test/browser_bug578534.js
rename to browser/base/content/test/general/browser_bug578534.js
rename from browser/base/content/test/browser_bug579872.js
rename to browser/base/content/test/general/browser_bug579872.js
rename from browser/base/content/test/browser_bug580638.js
rename to browser/base/content/test/general/browser_bug580638.js
rename from browser/base/content/test/browser_bug580956.js
rename to browser/base/content/test/general/browser_bug580956.js
rename from browser/base/content/test/browser_bug581242.js
rename to browser/base/content/test/general/browser_bug581242.js
rename from browser/base/content/test/browser_bug581253.js
rename to browser/base/content/test/general/browser_bug581253.js
rename from browser/base/content/test/browser_bug581947.js
rename to browser/base/content/test/general/browser_bug581947.js
rename from browser/base/content/test/browser_bug585558.js
rename to browser/base/content/test/general/browser_bug585558.js
rename from browser/base/content/test/browser_bug585785.js
rename to browser/base/content/test/general/browser_bug585785.js
rename from browser/base/content/test/browser_bug585830.js
rename to browser/base/content/test/general/browser_bug585830.js
rename from browser/base/content/test/browser_bug590206.js
rename to browser/base/content/test/general/browser_bug590206.js
--- a/browser/base/content/test/browser_bug590206.js
+++ b/browser/base/content/test/general/browser_bug590206.js
@@ -1,13 +1,13 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/
  */
 
-const DUMMY = "browser/browser/base/content/test/dummy_page.html";
+const DUMMY = "browser/browser/base/content/test/general/dummy_page.html";
 
 function loadNewTab(aURL, aCallback) {
   gBrowser.selectedTab = gBrowser.addTab();
   gBrowser.loadURI(aURL);
 
   gBrowser.selectedBrowser.addEventListener("load", function() {
     if (gBrowser.selectedBrowser.currentURI.spec != aURL)
       return;
rename from browser/base/content/test/browser_bug592338.js
rename to browser/base/content/test/general/browser_bug592338.js
--- a/browser/base/content/test/browser_bug592338.js
+++ b/browser/base/content/test/general/browser_bug592338.js
@@ -17,17 +17,17 @@ function wait_for_notification(aCallback
 
 var TESTS = [
 function test_install_lwtheme() {
   is(LightweightThemeManager.currentTheme, null, "Should be no lightweight theme selected");
 
   var pm = Services.perms;
   pm.add(makeURI("http://example.com/"), "install", pm.ALLOW_ACTION);
 
-  gBrowser.selectedTab = gBrowser.addTab("http://example.com/browser/browser/base/content/test/bug592338.html");
+  gBrowser.selectedTab = gBrowser.addTab("http://example.com/browser/browser/base/content/test/general/bug592338.html");
   gBrowser.selectedBrowser.addEventListener("pageshow", function() {
     if (gBrowser.contentDocument.location.href == "about:blank")
       return;
 
     gBrowser.selectedBrowser.removeEventListener("pageshow", arguments.callee, false);
 
     executeSoon(function() {
       var link = gBrowser.contentDocument.getElementById("theme-install");
@@ -51,17 +51,17 @@ function test_lwtheme_switch_theme() {
   AddonManager.getAddonByID("theme-xpi@tests.mozilla.org", function(aAddon) {
     aAddon.userDisabled = false;
     ok(aAddon.isActive, "Theme should have immediately enabled");
     Services.prefs.setBoolPref("extensions.dss.enabled", false);
 
     var pm = Services.perms;
     pm.add(makeURI("http://example.com/"), "install", pm.ALLOW_ACTION);
 
-    gBrowser.selectedTab = gBrowser.addTab("http://example.com/browser/browser/base/content/test/bug592338.html");
+    gBrowser.selectedTab = gBrowser.addTab("http://example.com/browser/browser/base/content/test/general/bug592338.html");
     gBrowser.selectedBrowser.addEventListener("pageshow", function() {
       if (gBrowser.contentDocument.location.href == "about:blank")
         return;
 
       gBrowser.selectedBrowser.removeEventListener("pageshow", arguments.callee, false);
 
       executeSoon(function() {
         var link = gBrowser.contentDocument.getElementById("theme-install");
rename from browser/base/content/test/browser_bug594131.js
rename to browser/base/content/test/general/browser_bug594131.js
rename from browser/base/content/test/browser_bug595507.js
rename to browser/base/content/test/general/browser_bug595507.js
rename from browser/base/content/test/browser_bug596687.js
rename to browser/base/content/test/general/browser_bug596687.js
rename from browser/base/content/test/browser_bug597218.js
rename to browser/base/content/test/general/browser_bug597218.js
rename from browser/base/content/test/browser_bug598923.js
rename to browser/base/content/test/general/browser_bug598923.js
rename from browser/base/content/test/browser_bug599325.js
rename to browser/base/content/test/general/browser_bug599325.js
rename from browser/base/content/test/browser_bug609700.js
rename to browser/base/content/test/general/browser_bug609700.js
rename from browser/base/content/test/browser_bug616836.js
rename to browser/base/content/test/general/browser_bug616836.js
rename from browser/base/content/test/browser_bug623155.js
rename to browser/base/content/test/general/browser_bug623155.js
--- a/browser/base/content/test/browser_bug623155.js
+++ b/browser/base/content/test/general/browser_bug623155.js
@@ -1,12 +1,12 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
-const REDIRECT_FROM = "https://example.com/browser/browser/base/content/test/" +
+const REDIRECT_FROM = "https://example.com/browser/browser/base/content/test/general/" +
                       "redirect_bug623155.sjs";
 
 const REDIRECT_TO = "https://www.bank1.com/"; // Bad-cert host.
 
 function isRedirectedURISpec(aURISpec) {
   return isRedirectedURI(Services.io.newURI(aURISpec, null, null));
 }
 
@@ -15,28 +15,28 @@ function isRedirectedURI(aURI) {
   return Services.io.newURI(REDIRECT_TO, null, null)
                  .equalsExceptRef(aURI);
 }
 
 /*
    Test.
 
 1. Load
-https://example.com/browser/browser/base/content/test/redirect_bug623155.sjs#BG
+https://example.com/browser/browser/base/content/test/general/redirect_bug623155.sjs#BG
    in a background tab.
 
 2. The redirected URI is <https://www.bank1.com/#BG>, which displayes a cert
    error page.
 
 3. Switch the tab to foreground.
 
 4. Check the URLbar's value, expecting <https://www.bank1.com/#BG>
 
 5. Load
-https://example.com/browser/browser/base/content/test/redirect_bug623155.sjs#FG
+https://example.com/browser/browser/base/content/test/general/redirect_bug623155.sjs#FG
    in the foreground tab.
 
 6. The redirected URI is <https://www.bank1.com/#FG>. And this is also
    a cert-error page.
 
 7. Check the URLbar's value, expecting <https://www.bank1.com/#FG>
 
 8. End.
rename from browser/base/content/test/browser_bug623893.js
rename to browser/base/content/test/general/browser_bug623893.js
rename from browser/base/content/test/browser_bug624734.js
rename to browser/base/content/test/general/browser_bug624734.js
--- a/browser/base/content/test/browser_bug624734.js
+++ b/browser/base/content/test/general/browser_bug624734.js
@@ -14,10 +14,10 @@ function test() {
     is(BookmarkingUI.star.getAttribute("tooltiptext"),
        BookmarkingUI._unstarredTooltip,
        "Star icon should have the unstarred tooltip text");
   
     gBrowser.removeCurrentTab();
     finish();
   }), true);
 
-  tab.linkedBrowser.loadURI("http://example.com/browser/browser/base/content/test/dummy_page.html");
+  tab.linkedBrowser.loadURI("http://example.com/browser/browser/base/content/test/general/dummy_page.html");
 }
rename from browser/base/content/test/browser_bug647886.js
rename to browser/base/content/test/general/browser_bug647886.js
rename from browser/base/content/test/browser_bug655584.js
rename to browser/base/content/test/general/browser_bug655584.js
rename from browser/base/content/test/browser_bug664672.js
rename to browser/base/content/test/general/browser_bug664672.js
rename from browser/base/content/test/browser_bug676619.js
rename to browser/base/content/test/general/browser_bug676619.js
--- a/browser/base/content/test/browser_bug676619.js
+++ b/browser/base/content/test/general/browser_bug676619.js
@@ -41,23 +41,23 @@ function test () {
                 testLocation.bind(null, "link7", "http://example.com/",
                   function () {
                     if (isHTTPS) {
                       gBrowser.removeCurrentTab();
                       finish();
                     } else {
                       // same test again with https:
                       isHTTPS = true;
-                      content.location = "https://example.com:443/browser/browser/base/content/test/download_page.html";
+                      content.location = "https://example.com:443/browser/browser/base/content/test/general/download_page.html";
                     }
                   })))))));
 
   }, true);
 
-  content.location = "http://mochi.test:8888/browser/browser/base/content/test/download_page.html";
+  content.location = "http://mochi.test:8888/browser/browser/base/content/test/general/download_page.html";
 }
 
 
 function addWindowListener(aURL, aCallback) {
   Services.wm.addListener({
     onOpenWindow: function(aXULWindow) {
       info("window opened, waiting for focus");
       Services.wm.removeListener(this);
rename from browser/base/content/test/browser_bug678392-1.html
rename to browser/base/content/test/general/browser_bug678392-1.html
rename from browser/base/content/test/browser_bug678392-2.html
rename to browser/base/content/test/general/browser_bug678392-2.html
rename from browser/base/content/test/browser_bug678392.js
rename to browser/base/content/test/general/browser_bug678392.js
--- a/browser/base/content/test/browser_bug678392.js
+++ b/browser/base/content/test/general/browser_bug678392.js
@@ -1,13 +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/. */
 
-let HTTPROOT = "http://example.com/browser/browser/base/content/test/";
+let HTTPROOT = "http://example.com/browser/browser/base/content/test/general/";
 
 function maxSnapshotOverride() {
   return 5;
 }
 
 function test() {
   waitForExplicitFinish();
 
rename from browser/base/content/test/browser_bug710878.js
rename to browser/base/content/test/general/browser_bug710878.js
rename from browser/base/content/test/browser_bug719271.js
rename to browser/base/content/test/general/browser_bug719271.js
--- a/browser/base/content/test/browser_bug719271.js
+++ b/browser/base/content/test/general/browser_bug719271.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
-const TEST_PAGE = "http://example.org/browser/browser/base/content/test/zoom_test.html";
-const TEST_VIDEO = "http://example.org/browser/browser/base/content/test/video.ogg";
+const TEST_PAGE = "http://example.org/browser/browser/base/content/test/general/zoom_test.html";
+const TEST_VIDEO = "http://example.org/browser/browser/base/content/test/general/video.ogg";
 
 var gTab1, gTab2, gLevel1, gLevel2;
 
 function test() {
   waitForExplicitFinish();
 
   Task.spawn(function () {
     gTab1 = gBrowser.addTab();
rename from browser/base/content/test/browser_bug724239.js
rename to browser/base/content/test/general/browser_bug724239.js
rename from browser/base/content/test/browser_bug734076.js
rename to browser/base/content/test/general/browser_bug734076.js
rename from browser/base/content/test/browser_bug735471.js
rename to browser/base/content/test/general/browser_bug735471.js
rename from browser/base/content/test/browser_bug743421.js
rename to browser/base/content/test/general/browser_bug743421.js
--- a/browser/base/content/test/browser_bug743421.js
+++ b/browser/base/content/test/general/browser_bug743421.js
@@ -1,9 +1,9 @@
-const gTestRoot = "http://mochi.test:8888/browser/browser/base/content/test/";
+const gTestRoot = "http://mochi.test:8888/browser/browser/base/content/test/general/";
 
 var gTestBrowser = null;
 var gNextTest = null;
 
 Components.utils.import("resource://gre/modules/Services.jsm");
 
 function test() {
   waitForExplicitFinish();
rename from browser/base/content/test/browser_bug744745.js
rename to browser/base/content/test/general/browser_bug744745.js
rename from browser/base/content/test/browser_bug749738.js
rename to browser/base/content/test/general/browser_bug749738.js
--- a/browser/base/content/test/browser_bug749738.js
+++ b/browser/base/content/test/general/browser_bug749738.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
-const DUMMY_PAGE = "http://example.org/browser/browser/base/content/test/dummy_page.html";
+const DUMMY_PAGE = "http://example.org/browser/browser/base/content/test/general/dummy_page.html";
 
 function test() {
   waitForExplicitFinish();
 
   let tab = gBrowser.addTab();
   gBrowser.selectedTab = tab;
 
   load(tab, DUMMY_PAGE, function() {
rename from browser/base/content/test/browser_bug752516.js
rename to browser/base/content/test/general/browser_bug752516.js
rename from browser/base/content/test/browser_bug763468_perwindowpb.js
rename to browser/base/content/test/general/browser_bug763468_perwindowpb.js
rename from browser/base/content/test/browser_bug767836_perwindowpb.js
rename to browser/base/content/test/general/browser_bug767836_perwindowpb.js
rename from browser/base/content/test/browser_bug771331.js
rename to browser/base/content/test/general/browser_bug771331.js
rename from browser/base/content/test/browser_bug783614.js
rename to browser/base/content/test/general/browser_bug783614.js
rename from browser/base/content/test/browser_bug787619.js
rename to browser/base/content/test/general/browser_bug787619.js
rename from browser/base/content/test/browser_bug797677.js
rename to browser/base/content/test/general/browser_bug797677.js
rename from browser/base/content/test/browser_bug812562.js
rename to browser/base/content/test/general/browser_bug812562.js
rename from browser/base/content/test/browser_bug816527.js
rename to browser/base/content/test/general/browser_bug816527.js
--- a/browser/base/content/test/browser_bug816527.js
+++ b/browser/base/content/test/general/browser_bug816527.js
@@ -1,16 +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/. */
 
 function test() {
   waitForExplicitFinish();
 
-  let testURL = "http://example.org/browser/browser/base/content/test/dummy_page.html";
+  let testURL = "http://example.org/browser/browser/base/content/test/general/dummy_page.html";
 
   function testOnWindow(aOptions, aCallback) {
     whenNewWindowLoaded(aOptions, function(aWin) {
       // execute should only be called when need, like when you are opening
       // web pages on the test. If calling executeSoon() is not necesary, then
       // call whenNewWindowLoaded() instead of testOnWindow() on your test.
       executeSoon(function() aCallback(aWin));
     });
rename from browser/base/content/test/browser_bug817947.js
rename to browser/base/content/test/general/browser_bug817947.js
rename from browser/base/content/test/browser_bug818118.js
rename to browser/base/content/test/general/browser_bug818118.js
rename from browser/base/content/test/browser_bug820497.js
rename to browser/base/content/test/general/browser_bug820497.js
rename from browser/base/content/test/browser_bug822367.js
rename to browser/base/content/test/general/browser_bug822367.js
--- a/browser/base/content/test/browser_bug822367.js
+++ b/browser/base/content/test/general/browser_bug822367.js
@@ -2,18 +2,18 @@
  * User Override Mixed Content Block - Tests for Bug 822367
  */
 
 
 const PREF_DISPLAY = "security.mixed_content.block_display_content";
 const PREF_ACTIVE = "security.mixed_content.block_active_content";
 
 // We alternate for even and odd test cases to simulate different hosts
-const gHttpTestRoot = "https://example.com/browser/browser/base/content/test/";
-const gHttpTestRoot2 = "https://test1.example.com/browser/browser/base/content/test/";
+const gHttpTestRoot = "https://example.com/browser/browser/base/content/test/general/";
+const gHttpTestRoot2 = "https://test1.example.com/browser/browser/base/content/test/general/";
 
 var origBlockDisplay;
 var origBlockActive;
 var gTestBrowser = null;
 
 registerCleanupFunction(function() {
   // Set preferences back to their original values
   Services.prefs.setBoolPref(PREF_DISPLAY, origBlockDisplay);
rename from browser/base/content/test/browser_bug832435.js
rename to browser/base/content/test/general/browser_bug832435.js
rename from browser/base/content/test/browser_bug839103.js
rename to browser/base/content/test/general/browser_bug839103.js
rename from browser/base/content/test/browser_bug880101.js
rename to browser/base/content/test/general/browser_bug880101.js
rename from browser/base/content/test/browser_bug882977.js
rename to browser/base/content/test/general/browser_bug882977.js
rename from browser/base/content/test/browser_bug887515.js
rename to browser/base/content/test/general/browser_bug887515.js
rename from browser/base/content/test/browser_bug902156.js
rename to browser/base/content/test/general/browser_bug902156.js
--- a/browser/base/content/test/browser_bug902156.js
+++ b/browser/base/content/test/general/browser_bug902156.js
@@ -20,18 +20,18 @@
  *      we navigated away from html page where we disabled the protection.
  *
  * Note, for all tests we set gHttpTestRoot to use 'https'.
  */
 
 const PREF_ACTIVE = "security.mixed_content.block_active_content";
 
 // We alternate for even and odd test cases to simulate different hosts
-const gHttpTestRoot1 = "https://test1.example.com/browser/browser/base/content/test/";
-const gHttpTestRoot2 = "https://test2.example.com/browser/browser/base/content/test/";
+const gHttpTestRoot1 = "https://test1.example.com/browser/browser/base/content/test/general/";
+const gHttpTestRoot2 = "https://test2.example.com/browser/browser/base/content/test/general/";
 
 var origBlockActive;
 var gTestBrowser = null;
 
 registerCleanupFunction(function() {
   // Set preferences back to their original values
   Services.prefs.setBoolPref(PREF_ACTIVE, origBlockActive);
 });
rename from browser/base/content/test/browser_canonizeURL.js
rename to browser/base/content/test/general/browser_canonizeURL.js
rename from browser/base/content/test/browser_clearplugindata.html
rename to browser/base/content/test/general/browser_clearplugindata.html
rename from browser/base/content/test/browser_clearplugindata.js
rename to browser/base/content/test/general/browser_clearplugindata.js
--- a/browser/base/content/test/browser_clearplugindata.js
+++ b/browser/base/content/test/general/browser_clearplugindata.js
@@ -1,16 +1,16 @@
 /**
  * Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/
  */
 
 // Test clearing plugin data using sanitize.js.
-const testURL1 = "http://mochi.test:8888/browser/browser/base/content/test/browser_clearplugindata.html";
-const testURL2 = "http://mochi.test:8888/browser/browser/base/content/test/browser_clearplugindata_noage.html";
+const testURL1 = "http://mochi.test:8888/browser/browser/base/content/test/general/browser_clearplugindata.html";
+const testURL2 = "http://mochi.test:8888/browser/browser/base/content/test/general/browser_clearplugindata_noage.html";
 
 let tempScope = {};
 Cc["@mozilla.org/moz/jssubscript-loader;1"].getService(Ci.mozIJSSubScriptLoader)
                                            .loadSubScript("chrome://browser/content/sanitize.js", tempScope);
 let Sanitizer = tempScope.Sanitizer;
 
 const pluginHostIface = Ci.nsIPluginHost;
 var pluginHost = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
rename from browser/base/content/test/browser_clearplugindata_noage.html
rename to browser/base/content/test/general/browser_clearplugindata_noage.html
rename from browser/base/content/test/browser_contentAreaClick.js
rename to browser/base/content/test/general/browser_contentAreaClick.js
rename from browser/base/content/test/browser_contextSearchTabPosition.js
rename to browser/base/content/test/general/browser_contextSearchTabPosition.js
rename from browser/base/content/test/browser_ctrlTab.js
rename to browser/base/content/test/general/browser_ctrlTab.js
rename from browser/base/content/test/browser_customize.js
rename to browser/base/content/test/general/browser_customize.js
rename from browser/base/content/test/browser_customize_popupNotification.js
rename to browser/base/content/test/general/browser_customize_popupNotification.js
rename from browser/base/content/test/browser_datareporting_notification.js
rename to browser/base/content/test/general/browser_datareporting_notification.js
rename from browser/base/content/test/browser_disablechrome.js
rename to browser/base/content/test/general/browser_disablechrome.js
--- a/browser/base/content/test/browser_disablechrome.js
+++ b/browser/base/content/test/general/browser_disablechrome.js
@@ -1,15 +1,15 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/
  */
 
 // Tests that the disablechrome attribute gets propogated to the main UI
 
-const HTTPSRC = "http://example.com/browser/browser/base/content/test/";
+const HTTPSRC = "http://example.com/browser/browser/base/content/test/general/";
 
 function is_element_hidden(aElement) {
   var style = window.getComputedStyle(document.getElementById("nav-bar"), "");
   if (style.visibility != "visible" || style.display == "none")
     return true;
 
   if (aElement.ownerDocument != aElement.parentNode)
     return is_element_hidden(aElement.parentNode);
rename from browser/base/content/test/browser_discovery.js
rename to browser/base/content/test/general/browser_discovery.js
rename from browser/base/content/test/browser_drag.js
rename to browser/base/content/test/general/browser_drag.js
rename from browser/base/content/test/browser_duplicateIDs.js
rename to browser/base/content/test/general/browser_duplicateIDs.js
rename from browser/base/content/test/browser_findbarClose.js
rename to browser/base/content/test/general/browser_findbarClose.js
--- a/browser/base/content/test/browser_findbarClose.js
+++ b/browser/base/content/test/general/browser_findbarClose.js
@@ -6,17 +6,17 @@
 let newTab, iframe;
 
 function test() {
   waitForExplicitFinish();
   newTab = gBrowser.addTab("about:blank");
   newTab.linkedBrowser.addEventListener("DOMContentLoaded",
     prepareTestFindBarStaysOpenOnSubdocumentLocationChange, false);
   newTab.linkedBrowser.contentWindow.location = "http://example.com/browser/" +
-    "browser/base/content/test/test_bug628179.html";
+    "browser/base/content/test/general/test_bug628179.html";
 }
 
 function prepareTestFindBarStaysOpenOnSubdocumentLocationChange() {
   newTab.linkedBrowser.removeEventListener("DOMContentLoaded",
     prepareTestFindBarStaysOpenOnSubdocumentLocationChange, false);
 
   gFindBar.open();
 
rename from browser/base/content/test/browser_fullscreen-window-open.js
rename to browser/base/content/test/general/browser_fullscreen-window-open.js
rename from browser/base/content/test/browser_gestureSupport.js
rename to browser/base/content/test/general/browser_gestureSupport.js
rename from browser/base/content/test/browser_getshortcutoruri.js
rename to browser/base/content/test/general/browser_getshortcutoruri.js
rename from browser/base/content/test/browser_hide_removing.js
rename to browser/base/content/test/general/browser_hide_removing.js
rename from browser/base/content/test/browser_homeDrop.js
rename to browser/base/content/test/general/browser_homeDrop.js
rename from browser/base/content/test/browser_identity_UI.js
rename to browser/base/content/test/general/browser_identity_UI.js
rename from browser/base/content/test/browser_keywordBookmarklets.js
rename to browser/base/content/test/general/browser_keywordBookmarklets.js
rename from browser/base/content/test/browser_keywordSearch.js
rename to browser/base/content/test/general/browser_keywordSearch.js
rename from browser/base/content/test/browser_keywordSearch_postData.js
rename to browser/base/content/test/general/browser_keywordSearch_postData.js
--- a/browser/base/content/test/browser_keywordSearch_postData.js
+++ b/browser/base/content/test/general/browser_keywordSearch_postData.js
@@ -44,17 +44,17 @@ function test() {
   Services.obs.addObserver(searchObserver, "browser-search-engine-modified", false);
 
   registerCleanupFunction(function () {
     gBrowser.removeTab(tab);
 
     Services.obs.removeObserver(searchObserver, "browser-search-engine-modified");
   });
 
-  Services.search.addEngine("http://test:80/browser/browser/base/content/test/POSTSearchEngine.xml",
+  Services.search.addEngine("http://test:80/browser/browser/base/content/test/general/POSTSearchEngine.xml",
                             Ci.nsISearchEngine.DATA_XML, null, false);
 }
 
 var gCurrTest;
 function nextTest() {
   if (gTests.length) {
     gCurrTest = gTests.shift();
     doTest();
rename from browser/base/content/test/browser_lastAccessedTab.js
rename to browser/base/content/test/general/browser_lastAccessedTab.js
rename from browser/base/content/test/browser_locationBarCommand.js
rename to browser/base/content/test/general/browser_locationBarCommand.js
rename from browser/base/content/test/browser_locationBarExternalLoad.js
rename to browser/base/content/test/general/browser_locationBarExternalLoad.js
rename from browser/base/content/test/browser_middleMouse_inherit.js
rename to browser/base/content/test/general/browser_middleMouse_inherit.js
rename from browser/base/content/test/browser_minimize.js
rename to browser/base/content/test/general/browser_minimize.js
rename from browser/base/content/test/browser_mixedcontent_securityflags.js
rename to browser/base/content/test/general/browser_mixedcontent_securityflags.js
--- a/browser/base/content/test/browser_mixedcontent_securityflags.js
+++ b/browser/base/content/test/general/browser_mixedcontent_securityflags.js
@@ -4,17 +4,17 @@
 // The test loads a web page with mixed active and display content
 // on it while the "block mixed content" settings are _on_.
 // It then checks that the mixed content flags have been set correctly.
 // The test then overrides the MCB settings and checks that the flags
 // have been set correctly again.
 // Bug 838396 - Not setting hasMixedDisplayContentLoaded and
 // hasMixedDisplayContentBlocked flag in nsMixedContentBlocker.cpp
 
-const TEST_URI = "https://example.com/browser/browser/base/content/test/test-mixedcontent-securityerrors.html";
+const TEST_URI = "https://example.com/browser/browser/base/content/test/general/test-mixedcontent-securityerrors.html";
 let gTestBrowser = null;
 
 function test()
 {
   waitForExplicitFinish();
   SpecialPowers.pushPrefEnv({"set": [["security.mixed_content.block_active_content", true],
                             ["security.mixed_content.block_display_content", true]]}, blockMixedContentTest);
 }
rename from browser/base/content/test/browser_offlineQuotaNotification.js
rename to browser/base/content/test/general/browser_offlineQuotaNotification.js
--- a/browser/base/content/test/browser_offlineQuotaNotification.js
+++ b/browser/base/content/test/general/browser_offlineQuotaNotification.js
@@ -1,17 +1,17 @@
 /**
  * Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/
  */
 
 // Test offline quota warnings - must be run as a mochitest-browser test or
 // else the test runner gets in the way of notifications due to bug 857897.
 
-const URL = "http://mochi.test:8888/browser/browser/base/content/test/offlineQuotaNotification.html";
+const URL = "http://mochi.test:8888/browser/browser/base/content/test/general/offlineQuotaNotification.html";
 
 registerCleanupFunction(function() {
   // Clean up after ourself
   let uri = Services.io.newURI(URL, null, null);
   var principal = Services.scriptSecurityManager.getNoAppCodebasePrincipal(uri);
   Services.perms.removeFromPrincipal(principal, "offline-app");
   Services.prefs.clearUserPref("offline-apps.quota.warn");
   Services.prefs.clearUserPref("offline-apps.allow_by_default");
rename from browser/base/content/test/browser_overflowScroll.js
rename to browser/base/content/test/general/browser_overflowScroll.js
rename from browser/base/content/test/browser_pageInfo.js
rename to browser/base/content/test/general/browser_pageInfo.js
--- a/browser/base/content/test/browser_pageInfo.js
+++ b/browser/base/content/test/general/browser_pageInfo.js
@@ -6,17 +6,17 @@ function test() {
   gBrowser.selectedTab = gBrowser.addTab();
   gBrowser.selectedBrowser.addEventListener("load", function loadListener() {
     gBrowser.selectedBrowser.removeEventListener("load", loadListener, true);
 
     Services.obs.addObserver(observer, "page-info-dialog-loaded", false);
     pageInfo = BrowserPageInfo();
   }, true);
   content.location =
-    "https://example.com/browser/browser/base/content/test/feed_tab.html";
+    "https://example.com/browser/browser/base/content/test/general/feed_tab.html";
 
   function observer(win, topic, data) {
     Services.obs.removeObserver(observer, "page-info-dialog-loaded");
     handlePageInfo();
   }
 
   function handlePageInfo() {
     ok(pageInfo.document.getElementById("feedTab"), "Feed tab");
rename from browser/base/content/test/browser_pageInfo_plugins.js
rename to browser/base/content/test/general/browser_pageInfo_plugins.js
rename from browser/base/content/test/browser_page_style_menu.js
rename to browser/base/content/test/general/browser_page_style_menu.js
rename from browser/base/content/test/browser_pinnedTabs.js
rename to browser/base/content/test/general/browser_pinnedTabs.js
rename from browser/base/content/test/browser_plainTextLinks.js
rename to browser/base/content/test/general/browser_plainTextLinks.js
rename from browser/base/content/test/browser_pluginCrashCommentAndURL.js
rename to browser/base/content/test/general/browser_pluginCrashCommentAndURL.js
--- a/browser/base/content/test/browser_pluginCrashCommentAndURL.js
+++ b/browser/base/content/test/general/browser_pluginCrashCommentAndURL.js
@@ -1,15 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 Cu.import("resource://gre/modules/Services.jsm");
 
-const CRASH_URL = "http://example.com/browser/browser/base/content/test/pluginCrashCommentAndURL.html";
+const CRASH_URL = "http://example.com/browser/browser/base/content/test/general/pluginCrashCommentAndURL.html";
 
 const SERVER_URL = "http://example.com/browser/toolkit/crashreporter/test/browser/crashreport.sjs";
 
 function test() {
   // Crashing the plugin takes up a lot of time, so extend the test timeout.
   requestLongerTimeout(runs.length);
   waitForExplicitFinish();
 
rename from browser/base/content/test/browser_pluginnotification.js
rename to browser/base/content/test/general/browser_pluginnotification.js
rename from browser/base/content/test/browser_pluginplaypreview.js
rename to browser/base/content/test/general/browser_pluginplaypreview.js
rename from browser/base/content/test/browser_pluginplaypreview2.js
rename to browser/base/content/test/general/browser_pluginplaypreview2.js
rename from browser/base/content/test/browser_plugins_added_dynamically.js
rename to browser/base/content/test/general/browser_plugins_added_dynamically.js
--- a/browser/base/content/test/browser_plugins_added_dynamically.js
+++ b/browser/base/content/test/general/browser_plugins_added_dynamically.js
@@ -1,9 +1,9 @@
-const gTestRoot = "http://mochi.test:8888/browser/browser/base/content/test/";
+const gTestRoot = "http://mochi.test:8888/browser/browser/base/content/test/general/";
 
 let gTestBrowser = null;
 let gNextTest = null;
 let gPluginHost = Components.classes["@mozilla.org/plugin/host;1"].getService(Components.interfaces.nsIPluginHost);
 
 Components.utils.import("resource://gre/modules/Services.jsm");
 
 // Let's do the XPCNativeWrapper dance!
rename from browser/base/content/test/browser_popupNotification.js
rename to browser/base/content/test/general/browser_popupNotification.js
rename from browser/base/content/test/browser_popupUI.js
rename to browser/base/content/test/general/browser_popupUI.js
rename from browser/base/content/test/browser_private_browsing_window.js
rename to browser/base/content/test/general/browser_private_browsing_window.js
rename from browser/base/content/test/browser_private_no_prompt.js
rename to browser/base/content/test/general/browser_private_no_prompt.js
rename from browser/base/content/test/browser_relatedTabs.js
rename to browser/base/content/test/general/browser_relatedTabs.js
rename from browser/base/content/test/browser_removeTabsToTheEnd.js
rename to browser/base/content/test/general/browser_removeTabsToTheEnd.js
rename from browser/base/content/test/browser_sanitize-download-history.js
rename to browser/base/content/test/general/browser_sanitize-download-history.js
rename from browser/base/content/test/browser_sanitize-passwordDisabledHosts.js
rename to browser/base/content/test/general/browser_sanitize-passwordDisabledHosts.js
rename from browser/base/content/test/browser_sanitize-sitepermissions.js
rename to browser/base/content/test/general/browser_sanitize-sitepermissions.js
rename from browser/base/content/test/browser_sanitize-timespans.js
rename to browser/base/content/test/general/browser_sanitize-timespans.js
rename from browser/base/content/test/browser_sanitizeDialog.js
rename to browser/base/content/test/general/browser_sanitizeDialog.js
--- a/browser/base/content/test/browser_sanitizeDialog.js
+++ b/browser/base/content/test/general/browser_sanitizeDialog.js
@@ -4,22 +4,22 @@
  * 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/. */
 
 /**
  * Tests the sanitize dialog (a.k.a. the clear recent history dialog).
  * See bug 480169.
  *
  * The purpose of this test is not to fully flex the sanitize timespan code;
- * browser/base/content/test/browser_sanitize-timespans.js does that.  This
+ * browser/base/content/test/general/browser_sanitize-timespans.js does that.  This
  * test checks the UI of the dialog and makes sure it's correctly connected to
  * the sanitize timespan code.
  *
  * Some of this code, especially the history creation parts, was taken from
- * browser/base/content/test/browser_sanitize-timespans.js.
+ * browser/base/content/test/general/browser_sanitize-timespans.js.
  */
 
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "FormHistory",
                                   "resource://gre/modules/FormHistory.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "Downloads",
                                   "resource://gre/modules/Downloads.jsm");
rename from browser/base/content/test/browser_sanitizeDialog_treeView.js
rename to browser/base/content/test/general/browser_sanitizeDialog_treeView.js
--- a/browser/base/content/test/browser_sanitizeDialog_treeView.js
+++ b/browser/base/content/test/general/browser_sanitizeDialog_treeView.js
@@ -4,22 +4,22 @@
  * 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/. */
 
 /**
  * Tests the sanitize dialog (a.k.a. the clear recent history dialog).
  * See bug 480169.
  *
  * The purpose of this test is not to fully flex the sanitize timespan code;
- * browser/base/content/test/browser_sanitize-timespans.js does that.  This
+ * browser/base/content/test/general/browser_sanitize-timespans.js does that.  This
  * test checks the UI of the dialog and makes sure it's correctly connected to
  * the sanitize timespan code.
  *
  * Some of this code, especially the history creation parts, was taken from
- * browser/base/content/test/browser_sanitize-timespans.js.
+ * browser/base/content/test/general/browser_sanitize-timespans.js.
  */
 
 Cc["@mozilla.org/moz/jssubscript-loader;1"].
   getService(Ci.mozIJSSubScriptLoader).
   loadSubScript("chrome://browser/content/sanitize.js");
 
 const dm = Cc["@mozilla.org/download-manager;1"].
            getService(Ci.nsIDownloadManager);
rename from browser/base/content/test/browser_save_link-perwindowpb.js
rename to browser/base/content/test/general/browser_save_link-perwindowpb.js
--- a/browser/base/content/test/browser_save_link-perwindowpb.js
+++ b/browser/base/content/test/general/browser_save_link-perwindowpb.js
@@ -11,17 +11,17 @@ let NetUtil = tempScope.NetUtil;
 // Trigger a save of a link in public mode, then trigger an identical save
 // in private mode and ensure that the second request is differentiated from
 // the first by checking that cookies set by the first response are not sent
 // during the second request.
 function triggerSave(aWindow, aCallback) {
   var fileName;
   let testBrowser = aWindow.gBrowser.selectedBrowser;
   // This page sets a cookie if and only if a cookie does not exist yet
-  testBrowser.loadURI("http://mochi.test:8888/browser/browser/base/content/test/bug792517-2.html");
+  testBrowser.loadURI("http://mochi.test:8888/browser/browser/base/content/test/general/bug792517-2.html");
   testBrowser.addEventListener("pageshow", function pageShown(event) {
     if (event.target.location == "about:blank")
       return;
     testBrowser.removeEventListener("pageshow", pageShown, false);
 
     executeSoon(function () {
       aWindow.document.addEventListener("popupshown", function(e) contextMenuOpened(aWindow, e), false);
 
@@ -108,28 +108,28 @@ function test() {
       onExamineResponse(subject);
     }
   }
 
   function onExamineResponse(subject) {
     let channel = subject.QueryInterface(Ci.nsIHttpChannel);
     try {
       let cookies = channel.getResponseHeader("set-cookie");
-      // From browser/base/content/test/bug792715.sjs, we receive a Set-Cookie
+      // From browser/base/content/test/general/bug792715.sjs, we receive a Set-Cookie
       // header with foopy=1 when there are no cookies for that domain.
       is(cookies, "foopy=1", "Cookie should be foopy=1");
       gNumSet += 1;
     } catch (ex if ex.result == Cr.NS_ERROR_NOT_AVAILABLE) { }
   }
 
   function onModifyRequest(subject) {
     let channel = subject.QueryInterface(Ci.nsIHttpChannel);
     try {
       let cookies = channel.getRequestHeader("cookie");
-      // From browser/base/content/test/bug792715.sjs, we should never send a
+      // From browser/base/content/test/general/bug792715.sjs, we should never send a
       // cookie because we are making only 2 requests: one in public mode, and
       // one in private mode.
       throw "We should never send a cookie in this test";
     } catch (ex if ex.result == Cr.NS_ERROR_NOT_AVAILABLE) { }
   }
 
   Services.obs.addObserver(observer, "http-on-modify-request", false);
   Services.obs.addObserver(observer, "http-on-examine-response", false);
rename from browser/base/content/test/browser_save_private_link_perwindowpb.js
rename to browser/base/content/test/general/browser_save_private_link_perwindowpb.js
--- a/browser/base/content/test/browser_save_private_link_perwindowpb.js
+++ b/browser/base/content/test/general/browser_save_private_link_perwindowpb.js
@@ -1,16 +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/. */
 function test() {
   // initialization
   waitForExplicitFinish();
   let windowsToClose = [];
-  let testURI = "http://mochi.test:8888/browser/browser/base/content/test/bug792517.html";
+  let testURI = "http://mochi.test:8888/browser/browser/base/content/test/general/bug792517.html";
   let fileName;
   let MockFilePicker = SpecialPowers.MockFilePicker;
   let cache = Cc["@mozilla.org/network/cache-service;1"]
               .getService(Ci.nsICacheService);
 
   function checkDiskCacheFor(filename) {
     let visitor = {
       visitDevice: function(deviceID, deviceInfo) {
rename from browser/base/content/test/browser_save_video.js
rename to browser/base/content/test/general/browser_save_video.js
--- a/browser/base/content/test/browser_save_video.js
+++ b/browser/base/content/test/general/browser_save_video.js
@@ -7,17 +7,17 @@ MockFilePicker.init(window);
 /**
  * TestCase for bug 564387
  * <https://bugzilla.mozilla.org/show_bug.cgi?id=564387>
  */
 function test() {
   waitForExplicitFinish();
   var fileName;
 
-  gBrowser.loadURI("http://mochi.test:8888/browser/browser/base/content/test/bug564387.html");
+  gBrowser.loadURI("http://mochi.test:8888/browser/browser/base/content/test/general/bug564387.html");
 
   registerCleanupFunction(function () {
     gBrowser.addTab();
     gBrowser.removeCurrentTab();
   });
 
   gBrowser.addEventListener("pageshow", function pageShown(event) {
     if (event.target.location == "about:blank")
rename from browser/base/content/test/browser_scope.js
rename to browser/base/content/test/general/browser_scope.js
rename from browser/base/content/test/browser_selectTabAtIndex.js
rename to browser/base/content/test/general/browser_selectTabAtIndex.js
rename from browser/base/content/test/browser_tabDrop.js
rename to browser/base/content/test/general/browser_tabDrop.js
rename from browser/base/content/test/browser_tabMatchesInAwesomebar_perwindowpb.js
rename to browser/base/content/test/general/browser_tabMatchesInAwesomebar_perwindowpb.js
--- a/browser/base/content/test/browser_tabMatchesInAwesomebar_perwindowpb.js
+++ b/browser/base/content/test/general/browser_tabMatchesInAwesomebar_perwindowpb.js
@@ -1,17 +1,17 @@
 /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  * vim:set ts=2 sw=2 sts=2 et:
  * 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/. */
 
 const TEST_URL_BASES = [
-  "http://example.org/browser/browser/base/content/test/dummy_page.html#tabmatch",
-  "http://example.org/browser/browser/base/content/test/moz.png#tabmatch"
+  "http://example.org/browser/browser/base/content/test/general/dummy_page.html#tabmatch",
+  "http://example.org/browser/browser/base/content/test/general/moz.png#tabmatch"
 ];
 
 var gController = Cc["@mozilla.org/autocomplete/controller;1"].
                   getService(Ci.nsIAutoCompleteController);
 
 var gTabWaitCount = 0;
 var gTabCounter = 0;
 
rename from browser/base/content/test/browser_tab_drag_drop_perwindow.js
rename to browser/base/content/test/general/browser_tab_drag_drop_perwindow.js
rename from browser/base/content/test/browser_tab_dragdrop.js
rename to browser/base/content/test/general/browser_tab_dragdrop.js
rename from browser/base/content/test/browser_tab_dragdrop2.js
rename to browser/base/content/test/general/browser_tab_dragdrop2.js
rename from browser/base/content/test/browser_tab_dragdrop2_frame1.xul
rename to browser/base/content/test/general/browser_tab_dragdrop2_frame1.xul
rename from browser/base/content/test/browser_tabfocus.js
rename to browser/base/content/test/general/browser_tabfocus.js
rename from browser/base/content/test/browser_tabopen_reflows.js
rename to browser/base/content/test/general/browser_tabopen_reflows.js
rename from browser/base/content/test/browser_tabs_isActive.js
rename to browser/base/content/test/general/browser_tabs_isActive.js
rename from browser/base/content/test/browser_tabs_owner.js
rename to browser/base/content/test/general/browser_tabs_owner.js
rename from browser/base/content/test/browser_typeAheadFind.js
rename to browser/base/content/test/general/browser_typeAheadFind.js
rename from browser/base/content/test/browser_unloaddialogs.js
rename to browser/base/content/test/general/browser_unloaddialogs.js
rename from browser/base/content/test/browser_urlHighlight.js
rename to browser/base/content/test/general/browser_urlHighlight.js
rename from browser/base/content/test/browser_urlbarAutoFillTrimURLs.js
rename to browser/base/content/test/general/browser_urlbarAutoFillTrimURLs.js
rename from browser/base/content/test/browser_urlbarCopying.js
rename to browser/base/content/test/general/browser_urlbarCopying.js
--- a/browser/base/content/test/browser_urlbarCopying.js
+++ b/browser/base/content/test/general/browser_urlbarCopying.js
@@ -65,19 +65,19 @@ var tests = [
   },
   {
     copyVal: "<example>.com/foo",
     copyExpected: "example"
   },
 
   // Test that userPass is stripped out
   {
-    loadURL: "http://user:pass@mochi.test:8888/browser/browser/base/content/test/authenticate.sjs?user=user&pass=pass",
-    expectedURL: "mochi.test:8888/browser/browser/base/content/test/authenticate.sjs?user=user&pass=pass",
-    copyExpected: "http://mochi.test:8888/browser/browser/base/content/test/authenticate.sjs?user=user&pass=pass"
+    loadURL: "http://user:pass@mochi.test:8888/browser/browser/base/content/test/general/authenticate.sjs?user=user&pass=pass",
+    expectedURL: "mochi.test:8888/browser/browser/base/content/test/general/authenticate.sjs?user=user&pass=pass",
+    copyExpected: "http://mochi.test:8888/browser/browser/base/content/test/general/authenticate.sjs?user=user&pass=pass"
   },
 
   // Test escaping
   {
     loadURL: "http://example.com/()%C3%A9",
     expectedURL: "example.com/()\xe9",
     copyExpected: "http://example.com/%28%29%C3%A9"
   },
rename from browser/base/content/test/browser_urlbarEnter.js
rename to browser/base/content/test/general/browser_urlbarEnter.js
rename from browser/base/content/test/browser_urlbarRevert.js
rename to browser/base/content/test/general/browser_urlbarRevert.js
rename from browser/base/content/test/browser_urlbarStop.js
rename to browser/base/content/test/general/browser_urlbarStop.js
rename from browser/base/content/test/browser_urlbarTrimURLs.js
rename to browser/base/content/test/general/browser_urlbarTrimURLs.js
rename from browser/base/content/test/browser_urlbar_search_healthreport.js
rename to browser/base/content/test/general/browser_urlbar_search_healthreport.js
rename from browser/base/content/test/browser_utilityOverlay.js
rename to browser/base/content/test/general/browser_utilityOverlay.js
rename from browser/base/content/test/browser_visibleFindSelection.js
rename to browser/base/content/test/general/browser_visibleFindSelection.js
rename from browser/base/content/test/browser_visibleTabs.js
rename to browser/base/content/test/general/browser_visibleTabs.js
rename from browser/base/content/test/browser_visibleTabs_bookmarkAllPages.js
rename to browser/base/content/test/general/browser_visibleTabs_bookmarkAllPages.js
rename from browser/base/content/test/browser_visibleTabs_bookmarkAllTabs.js
rename to browser/base/content/test/general/browser_visibleTabs_bookmarkAllTabs.js
rename from browser/base/content/test/browser_visibleTabs_contextMenu.js
rename to browser/base/content/test/general/browser_visibleTabs_contextMenu.js
rename from browser/base/content/test/browser_visibleTabs_tabPreview.js
rename to browser/base/content/test/general/browser_visibleTabs_tabPreview.js
rename from browser/base/content/test/browser_wyciwyg_urlbarCopying.js
rename to browser/base/content/test/general/browser_wyciwyg_urlbarCopying.js
--- a/browser/base/content/test/browser_wyciwyg_urlbarCopying.js
+++ b/browser/base/content/test/general/browser_wyciwyg_urlbarCopying.js
@@ -1,15 +1,15 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 function test() {
   waitForExplicitFinish();
 
-  let url = "http://mochi.test:8888/browser/browser/base/content/test/test_wyciwyg_copying.html";
+  let url = "http://mochi.test:8888/browser/browser/base/content/test/general/test_wyciwyg_copying.html";
   let tab = gBrowser.selectedTab = gBrowser.addTab(url);
   tab.linkedBrowser.addEventListener("pageshow", function () {
     let btn = content.document.getElementById("btn");
     executeSoon(function () {
       EventUtils.synthesizeMouseAtCenter(btn, {}, content);
       let currentURL = gBrowser.currentURI.spec;
       ok(/^wyciwyg:\/\//i.test(currentURL), currentURL + " is a wyciwyg URI");
 
rename from browser/base/content/test/browser_zbug569342.js
rename to browser/base/content/test/general/browser_zbug569342.js
rename from browser/base/content/test/bug364677-data.xml
rename to browser/base/content/test/general/bug364677-data.xml
rename from browser/base/content/test/bug364677-data.xml^headers^
rename to browser/base/content/test/general/bug364677-data.xml^headers^
rename from browser/base/content/test/bug395533-data.txt
rename to browser/base/content/test/general/bug395533-data.txt
rename from browser/base/content/test/bug564387.html
rename to browser/base/content/test/general/bug564387.html
rename from browser/base/content/test/bug564387_video1.ogv
rename to browser/base/content/test/general/bug564387_video1.ogv
rename from browser/base/content/test/bug564387_video1.ogv^headers^
rename to browser/base/content/test/general/bug564387_video1.ogv^headers^
rename from browser/base/content/test/bug592338.html
rename to browser/base/content/test/general/bug592338.html
rename from browser/base/content/test/bug792517-2.html
rename to browser/base/content/test/general/bug792517-2.html
rename from browser/base/content/test/bug792517.html
rename to browser/base/content/test/general/bug792517.html
rename from browser/base/content/test/bug792517.sjs
rename to browser/base/content/test/general/bug792517.sjs
rename from browser/base/content/test/bug839103.css
rename to browser/base/content/test/general/bug839103.css
rename from browser/base/content/test/contextmenu_common.js
rename to browser/base/content/test/general/contextmenu_common.js
rename from browser/base/content/test/ctxmenu-image.png
rename to browser/base/content/test/general/ctxmenu-image.png
rename from browser/base/content/test/disablechrome.html
rename to browser/base/content/test/general/disablechrome.html
rename from browser/base/content/test/discovery.html
rename to browser/base/content/test/general/discovery.html
rename from browser/base/content/test/domplate_test.js
rename to browser/base/content/test/general/domplate_test.js
rename from browser/base/content/test/download_page.html
rename to browser/base/content/test/general/download_page.html
rename from browser/base/content/test/dummy_page.html
rename to browser/base/content/test/general/dummy_page.html
rename from browser/base/content/test/feed_discovery.html
rename to browser/base/content/test/general/feed_discovery.html
rename from browser/base/content/test/feed_tab.html
rename to browser/base/content/test/general/feed_tab.html
rename from browser/base/content/test/file_bug550565_favicon.ico
rename to browser/base/content/test/general/file_bug550565_favicon.ico
rename from browser/base/content/test/file_bug550565_popup.html
rename to browser/base/content/test/general/file_bug550565_popup.html
rename from browser/base/content/test/file_bug822367_1.html
rename to browser/base/content/test/general/file_bug822367_1.html
--- a/browser/base/content/test/file_bug822367_1.html
+++ b/browser/base/content/test/general/file_bug822367_1.html
@@ -7,12 +7,12 @@ https://bugzilla.mozilla.org/show_bug.cg
 <head>
   <meta charset="utf-8">
   <title>Test 1 for Bug 822367</title>
 </head>
 <body>
   <div id="testContent">
     <p id="p1"></p>
   </div>
-  <script src="http://example.com/browser/browser/base/content/test/file_bug822367_1.js">
+  <script src="http://example.com/browser/browser/base/content/test/general/file_bug822367_1.js">
   </script>
 </body>
 </html>
rename from browser/base/content/test/file_bug822367_1.js
rename to browser/base/content/test/general/file_bug822367_1.js
rename from browser/base/content/test/file_bug822367_2.html
rename to browser/base/content/test/general/file_bug822367_2.html
rename from browser/base/content/test/file_bug822367_3.html
rename to browser/base/content/test/general/file_bug822367_3.html
--- a/browser/base/content/test/file_bug822367_3.html
+++ b/browser/base/content/test/general/file_bug822367_3.html
@@ -16,12 +16,12 @@ https://bugzilla.mozilla.org/show_bug.cg
   }
   </script>
 </head>
 <body>
   <div id="testContent">
     <p id="p1"></p>
     <img src="http://example.com/tests/image/test/mochitest/blue.png" onload="foo()">
   </div>
-  <script src="http://example.com/browser/browser/base/content/test/file_bug822367_1.js">
+  <script src="http://example.com/browser/browser/base/content/test/general/file_bug822367_1.js">
   </script>
 </body>
 </html>
rename from browser/base/content/test/file_bug822367_4.html
rename to browser/base/content/test/general/file_bug822367_4.html
--- a/browser/base/content/test/file_bug822367_4.html
+++ b/browser/base/content/test/general/file_bug822367_4.html
@@ -7,12 +7,12 @@ https://bugzilla.mozilla.org/show_bug.cg
 <head>
   <meta charset="utf-8">
   <title>Test 4 for Bug 822367</title>
 </head>
 <body>
   <div id="testContent">
     <p id="p1"></p>
   </div>
-  <script src="http://example.com/browser/browser/base/content/test/file_bug822367_4.js">
+  <script src="http://example.com/browser/browser/base/content/test/general/file_bug822367_4.js">
   </script>
 </body>
 </html>
rename from browser/base/content/test/file_bug822367_4.js
rename to browser/base/content/test/general/file_bug822367_4.js
--- a/browser/base/content/test/file_bug822367_4.js
+++ b/browser/base/content/test/general/file_bug822367_4.js
@@ -1,1 +1,1 @@
-document.location = "https://example.com/browser/browser/base/content/test/file_bug822367_4B.html";
+document.location = "https://example.com/browser/browser/base/content/test/general/file_bug822367_4B.html";
rename from browser/base/content/test/file_bug822367_4B.html
rename to browser/base/content/test/general/file_bug822367_4B.html
--- a/browser/base/content/test/file_bug822367_4B.html
+++ b/browser/base/content/test/general/file_bug822367_4B.html
@@ -7,12 +7,12 @@ https://bugzilla.mozilla.org/show_bug.cg
 <head>
   <meta charset="utf-8">
   <title>Test 4B Location Change for Bug 822367</title>
 </head>
 <body>
   <div id="testContent">
     <p id="p1"></p>
   </div>
-  <script src="http://example.com/browser/browser/base/content/test/file_bug822367_1.js">
+  <script src="http://example.com/browser/browser/base/content/test/general/file_bug822367_1.js">
   </script>
 </body>
 </html>
rename from browser/base/content/test/file_bug822367_5.html
rename to browser/base/content/test/general/file_bug822367_5.html
--- a/browser/base/content/test/file_bug822367_5.html
+++ b/browser/base/content/test/general/file_bug822367_5.html
@@ -6,17 +6,17 @@ https://bugzilla.mozilla.org/show_bug.cg
 -->
 <head>
   <meta charset="utf-8">
   <title>Test 5 for Bug 822367</title>
   <script>
     function createDoc()
     {
       var doc=document.open("text/html","replace");
-      doc.write('<!DOCTYPE html><html><body><p id="p1">This is some content</p><script src="http://example.com/browser/browser/base/content/test/file_bug822367_1.js">\<\/script\>\<\/body>\<\/html>');
+      doc.write('<!DOCTYPE html><html><body><p id="p1">This is some content</p><script src="http://example.com/browser/browser/base/content/test/general/file_bug822367_1.js">\<\/script\>\<\/body>\<\/html>');
       doc.close();
     }
   </script>
 </head>
 <body>
   <div id="testContent">
     <img src="https://example.com/tests/image/test/mochitest/blue.png" onload="createDoc()">
   </div>
rename from browser/base/content/test/file_bug822367_6.html
rename to browser/base/content/test/general/file_bug822367_6.html
--- a/browser/base/content/test/file_bug822367_6.html
+++ b/browser/base/content/test/general/file_bug822367_6.html
@@ -5,12 +5,12 @@ Test 6 for Mixed Content Blocker User Ov
 https://bugzilla.mozilla.org/show_bug.cgi?id=822367
 -->
 <head>
   <meta charset="utf-8">
   <title>Test 6 for Bug 822367</title>
 </head>
 <body>
   <div id="testContent">
-    <iframe name="f1" id="f1" src="https://example.com/browser/browser/base/content/test/file_bug822367_5.html"></iframe>
+    <iframe name="f1" id="f1" src="https://example.com/browser/browser/base/content/test/general/file_bug822367_5.html"></iframe>
   </div>
 </body>
 </html>
rename from browser/base/content/test/file_bug902156.js
rename to browser/base/content/test/general/file_bug902156.js
rename from browser/base/content/test/file_bug902156_1.html
rename to browser/base/content/test/general/file_bug902156_1.html
--- a/browser/base/content/test/file_bug902156_1.html
+++ b/browser/base/content/test/general/file_bug902156_1.html
@@ -5,11 +5,11 @@
   https://bugzilla.mozilla.org/show_bug.cgi?id=902156
 -->
 <head>
   <meta charset="utf-8">
   <title>Test 1 for Bug 902156</title>
 </head>
 <body>
   <div id="mctestdiv">Mixed Content Blocker enabled</div>
-  <script src="http://test1.example.com/browser/browser/base/content/test/file_bug902156.js" ></script>
+  <script src="http://test1.example.com/browser/browser/base/content/test/general/file_bug902156.js" ></script>
 </body>
 </html>
rename from browser/base/content/test/file_bug902156_2.html
rename to browser/base/content/test/general/file_bug902156_2.html
--- a/browser/base/content/test/file_bug902156_2.html
+++ b/browser/base/content/test/general/file_bug902156_2.html
@@ -5,13 +5,13 @@
   https://bugzilla.mozilla.org/show_bug.cgi?id=902156
 -->
 <head>
   <meta charset="utf-8">
   <title>Test 2 for Bug 902156</title>
 </head>
 <body>
   <div id="mctestdiv">Mixed Content Blocker enabled</div>
-  <a href="https://test2.example.com/browser/browser/base/content/test/file_bug902156_1.html"
+  <a href="https://test2.example.com/browser/browser/base/content/test/general/file_bug902156_1.html"
      id="mctestlink" target="_top">Go to http site</a>
-  <script src="http://test2.example.com/browser/browser/base/content/test/file_bug902156.js" ></script>
+  <script src="http://test2.example.com/browser/browser/base/content/test/general/file_bug902156.js" ></script>
 </body>
 </html>
rename from browser/base/content/test/file_bug902156_3.html
rename to browser/base/content/test/general/file_bug902156_3.html
--- a/browser/base/content/test/file_bug902156_3.html
+++ b/browser/base/content/test/general/file_bug902156_3.html
@@ -5,11 +5,11 @@
   https://bugzilla.mozilla.org/show_bug.cgi?id=902156
 -->
 <head>
   <meta charset="utf-8">
   <title>Test 3 for Bug 902156</title>
 </head>
 <body>
   <div id="mctestdiv">Mixed Content Blocker enabled</div>
-  <script src="http://test1.example.com/browser/browser/base/content/test/file_bug902156.js" ></script>
+  <script src="http://test1.example.com/browser/browser/base/content/test/general/file_bug902156.js" ></script>
 </body>
 </html>
rename from browser/base/content/test/file_fullscreen-window-open.html
rename to browser/base/content/test/general/file_fullscreen-window-open.html
rename from browser/base/content/test/gZipOfflineChild.cacheManifest
rename to browser/base/content/test/general/gZipOfflineChild.cacheManifest
rename from browser/base/content/test/gZipOfflineChild.cacheManifest^headers^
rename to browser/base/content/test/general/gZipOfflineChild.cacheManifest^headers^
rename from browser/base/content/test/gZipOfflineChild.html
rename to browser/base/content/test/general/gZipOfflineChild.html
rename from browser/base/content/test/gZipOfflineChild.html^headers^
rename to browser/base/content/test/general/gZipOfflineChild.html^headers^
rename from browser/base/content/test/gZipOfflineChild_uncompressed.html
rename to browser/base/content/test/general/gZipOfflineChild_uncompressed.html
rename from browser/base/content/test/head.js
rename to browser/base/content/test/general/head.js
rename from browser/base/content/test/head_plain.js
rename to browser/base/content/test/general/head_plain.js
rename from browser/base/content/test/healthreport_testRemoteCommands.html
rename to browser/base/content/test/general/healthreport_testRemoteCommands.html
copy from browser/base/content/test/newtab/moz.build
copy to browser/base/content/test/general/moz.build
rename from browser/base/content/test/moz.png
rename to browser/base/content/test/general/moz.png
rename from browser/base/content/test/offlineByDefault.js
rename to browser/base/content/test/general/offlineByDefault.js
rename from browser/base/content/test/offlineChild.cacheManifest
rename to browser/base/content/test/general/offlineChild.cacheManifest
rename from browser/base/content/test/offlineChild.cacheManifest^headers^
rename to browser/base/content/test/general/offlineChild.cacheManifest^headers^
rename from browser/base/content/test/offlineChild.html
rename to browser/base/content/test/general/offlineChild.html
rename from browser/base/content/test/offlineChild2.cacheManifest
rename to browser/base/content/test/general/offlineChild2.cacheManifest
rename from browser/base/content/test/offlineChild2.cacheManifest^headers^
rename to browser/base/content/test/general/offlineChild2.cacheManifest^headers^
rename from browser/base/content/test/offlineChild2.html
rename to browser/base/content/test/general/offlineChild2.html
rename from browser/base/content/test/offlineEvent.cacheManifest
rename to browser/base/content/test/general/offlineEvent.cacheManifest
rename from browser/base/content/test/offlineEvent.cacheManifest^headers^
rename to browser/base/content/test/general/offlineEvent.cacheManifest^headers^
rename from browser/base/content/test/offlineEvent.html
rename to browser/base/content/test/general/offlineEvent.html
rename from browser/base/content/test/offlineQuotaNotification.cacheManifest
rename to browser/base/content/test/general/offlineQuotaNotification.cacheManifest
rename from browser/base/content/test/offlineQuotaNotification.html
rename to browser/base/content/test/general/offlineQuotaNotification.html
rename from browser/base/content/test/page_style_sample.html
rename to browser/base/content/test/general/page_style_sample.html
rename from browser/base/content/test/pluginCrashCommentAndURL.html
rename to browser/base/content/test/general/pluginCrashCommentAndURL.html
rename from browser/base/content/test/plugin_add_dynamically.html
rename to browser/base/content/test/general/plugin_add_dynamically.html
rename from browser/base/content/test/plugin_alternate_content.html
rename to browser/base/content/test/general/plugin_alternate_content.html
rename from browser/base/content/test/plugin_both.html
rename to browser/base/content/test/general/plugin_both.html
rename from browser/base/content/test/plugin_both2.html
rename to browser/base/content/test/general/plugin_both2.html
rename from browser/base/content/test/plugin_bug744745.html
rename to browser/base/content/test/general/plugin_bug744745.html
rename from browser/base/content/test/plugin_bug749455.html
rename to browser/base/content/test/general/plugin_bug749455.html
rename from browser/base/content/test/plugin_bug752516.html
rename to browser/base/content/test/general/plugin_bug752516.html
rename from browser/base/content/test/plugin_bug787619.html
rename to browser/base/content/test/general/plugin_bug787619.html
rename from browser/base/content/test/plugin_bug797677.html
rename to browser/base/content/test/general/plugin_bug797677.html
rename from browser/base/content/test/plugin_bug820497.html
rename to browser/base/content/test/general/plugin_bug820497.html
rename from browser/base/content/test/plugin_clickToPlayAllow.html
rename to browser/base/content/test/general/plugin_clickToPlayAllow.html
rename from browser/base/content/test/plugin_clickToPlayDeny.html
rename to browser/base/content/test/general/plugin_clickToPlayDeny.html
rename from browser/base/content/test/plugin_data_url.html
rename to browser/base/content/test/general/plugin_data_url.html
rename from browser/base/content/test/plugin_hidden_to_visible.html
rename to browser/base/content/test/general/plugin_hidden_to_visible.html
rename from browser/base/content/test/plugin_test.html
rename to browser/base/content/test/general/plugin_test.html
rename from browser/base/content/test/plugin_test2.html
rename to browser/base/content/test/general/plugin_test2.html
rename from browser/base/content/test/plugin_test3.html
rename to browser/base/content/test/general/plugin_test3.html
rename from browser/base/content/test/plugin_two_types.html
rename to browser/base/content/test/general/plugin_two_types.html
rename from browser/base/content/test/plugin_unknown.html
rename to browser/base/content/test/general/plugin_unknown.html
rename from browser/base/content/test/print_postdata.sjs
rename to browser/base/content/test/general/print_postdata.sjs
rename from browser/base/content/test/privateBrowsingMode.js
rename to browser/base/content/test/general/privateBrowsingMode.js
rename from browser/base/content/test/redirect_bug623155.sjs
rename to browser/base/content/test/general/redirect_bug623155.sjs
rename from browser/base/content/test/subtst_contextmenu.html
rename to browser/base/content/test/general/subtst_contextmenu.html
rename from browser/base/content/test/test-mixedcontent-securityerrors.html
rename to browser/base/content/test/general/test-mixedcontent-securityerrors.html
rename from browser/base/content/test/test_bug364677.html
rename to browser/base/content/test/general/test_bug364677.html
rename from browser/base/content/test/test_bug395533.html
rename to browser/base/content/test/general/test_bug395533.html
rename from browser/base/content/test/test_bug435035.html
rename to browser/base/content/test/general/test_bug435035.html
--- a/browser/base/content/test/test_bug435035.html
+++ b/browser/base/content/test/general/test_bug435035.html
@@ -1,1 +1,1 @@
-<img src="http://example.com/browser/browser/base/content/test/moz.png">
+<img src="http://example.com/browser/browser/base/content/test/general/moz.png">
rename from browser/base/content/test/test_bug452451.html
rename to browser/base/content/test/general/test_bug452451.html
rename from browser/base/content/test/test_bug462673.html
rename to browser/base/content/test/general/test_bug462673.html
rename from browser/base/content/test/test_bug628179.html
rename to browser/base/content/test/general/test_bug628179.html
rename from browser/base/content/test/test_bug839103.html
rename to browser/base/content/test/general/test_bug839103.html
rename from browser/base/content/test/test_contextmenu.html
rename to browser/base/content/test/general/test_contextmenu.html
rename from browser/base/content/test/test_contextmenu_input.html
rename to browser/base/content/test/general/test_contextmenu_input.html
rename from browser/base/content/test/test_feed_discovery.html
rename to browser/base/content/test/general/test_feed_discovery.html
rename from browser/base/content/test/test_offlineNotification.html
rename to browser/base/content/test/general/test_offlineNotification.html
--- a/browser/base/content/test/test_offlineNotification.html
+++ b/browser/base/content/test/general/test_offlineNotification.html
@@ -12,17 +12,17 @@ https://bugzilla.mozilla.org/show_bug.cg
 <body onload="loaded()">
 <p id="display">
 <!-- Load the test frame twice from the same domain,
      to make sure we get notifications for both -->
 <iframe name="testFrame" src="offlineChild.html"></iframe>
 <iframe name="testFrame2" src="offlineChild2.html"></iframe>
 <!-- Load from another domain to make sure we get a second allow/deny
      notification -->
-<iframe name="testFrame3" src="http://example.com/tests/browser/base/content/test/offlineChild.html"></iframe>
+<iframe name="testFrame3" src="http://example.com/tests/browser/base/content/test/general/offlineChild.html"></iframe>
 
 <iframe id="eventsTestFrame" src="offlineEvent.html"></iframe>
 
 <div id="content" style="display: none">
 </div>
 <pre id="test">
 <script class="testbody" type="text/javascript">
 
rename from browser/base/content/test/test_offline_gzip.html
rename to browser/base/content/test/general/test_offline_gzip.html
rename from browser/base/content/test/test_wyciwyg_copying.html
rename to browser/base/content/test/general/test_wyciwyg_copying.html
rename from browser/base/content/test/title_test.svg
rename to browser/base/content/test/general/title_test.svg
rename from browser/base/content/test/video.ogg
rename to browser/base/content/test/general/video.ogg
rename from browser/base/content/test/zoom_test.html
rename to browser/base/content/test/general/zoom_test.html
--- a/browser/base/content/test/moz.build
+++ b/browser/base/content/test/moz.build
@@ -1,8 +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/.
 
-DIRS += ['newtab', 'social']
+DIRS += ['general', 'newtab', 'social']
 
--- a/browser/base/content/test/social/browser_addons.js
+++ b/browser/base/content/test/social/browser_addons.js
@@ -8,24 +8,24 @@ const ID_SUFFIX              = "@service
 const STRING_TYPE_NAME       = "type.%ID%.name";
 const XPINSTALL_URL = "chrome://mozapps/content/xpinstall/xpinstallConfirm.xul";
 
 let manifest = { // builtin provider
   name: "provider 1",
   origin: "https://example.com",
   sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
   workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-  iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+  iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
 };
 let manifest2 = { // used for testing install
   name: "provider 2",
   origin: "https://test1.example.com",
   sidebarURL: "https://test1.example.com/browser/browser/base/content/test/social/social_sidebar.html",
   workerURL: "https://test1.example.com/browser/browser/base/content/test/social/social_worker.js",
-  iconURL: "https://test1.example.com/browser/browser/base/content/test/moz.png",
+  iconURL: "https://test1.example.com/browser/browser/base/content/test/general/moz.png",
   version: 1
 };
 
 function test() {
   waitForExplicitFinish();
 
   let prefname = getManifestPrefname(manifest);
   setBuiltinManifestPref(prefname, manifest);
--- a/browser/base/content/test/social/browser_blocklist.js
+++ b/browser/base/content/test/social/browser_blocklist.js
@@ -9,24 +9,24 @@ let SocialService = Cu.import("resource:
 const URI_EXTENSION_BLOCKLIST_DIALOG = "chrome://mozapps/content/extensions/blocklist.xul";
 let blocklistURL = "http://test:80/browser/browser/base/content/test/social/blocklist.xml";
 
 let manifest = { // normal provider
   name: "provider ok",
   origin: "https://example.com",
   sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
   workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-  iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+  iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
 };
 let manifest_bad = { // normal provider
   name: "provider blocked",
   origin: "https://test1.example.com",
   sidebarURL: "https://test1.example.com/browser/browser/base/content/test/social/social_sidebar.html",
   workerURL: "https://test1.example.com/browser/browser/base/content/test/social/social_worker.js",
-  iconURL: "https://test1.example.com/browser/browser/base/content/test/moz.png"
+  iconURL: "https://test1.example.com/browser/browser/base/content/test/general/moz.png"
 };
 
 function test() {
   waitForExplicitFinish();
 
   runSocialTests(tests, undefined, undefined, function () {
     resetBlocklist(finish); //restore to original pref
   });
--- a/browser/base/content/test/social/browser_chat_tearoff.js
+++ b/browser/base/content/test/social/browser_chat_tearoff.js
@@ -6,17 +6,17 @@ function test() {
   requestLongerTimeout(2); // only debug builds seem to need more time...
   waitForExplicitFinish();
 
   let manifest = { // normal provider
     name: "provider 1",
     origin: "https://example.com",
     sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
     workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-    iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+    iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
   };
 
   let postSubTest = function(cb) {
     let chats = document.getElementById("pinnedchats");
     ok(chats.children.length == 0, "no chatty children left behind");
     cb();
   };
   runSocialTestWithProvider(manifest, function (finishcb) {
--- a/browser/base/content/test/social/browser_share.js
+++ b/browser/base/content/test/social/browser_share.js
@@ -4,17 +4,17 @@ let baseURL = "https://example.com/brows
 function test() {
   waitForExplicitFinish();
 
   let manifest = { // normal provider
     name: "provider 1",
     origin: "https://example.com",
     sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
     workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-    iconURL: "https://example.com/browser/browser/base/content/test/moz.png",
+    iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png",
     shareURL: "https://example.com/browser/browser/base/content/test/social/share.html"
   };
   runSocialTestWithProvider(manifest, function (finishcb) {
     runSocialTests(tests, undefined, undefined, finishcb);
   });
 }
 
 let corpus = [
--- a/browser/base/content/test/social/browser_social_chatwindow_resize.js
+++ b/browser/base/content/test/social/browser_social_chatwindow_resize.js
@@ -6,17 +6,17 @@ function test() {
   requestLongerTimeout(2); // only debug builds seem to need more time...
   waitForExplicitFinish();
 
   let manifest = { // normal provider
     name: "provider 1",
     origin: "https://example.com",
     sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
     workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-    iconURL: "https://example.com/browser/browser/base/content/test/moz.png",
+    iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png",
     // added for test purposes
     chatURL: "https://example.com/browser/browser/base/content/test/social/social_chat.html"
   };
   let oldwidth = window.outerWidth; // we futz with these, so we restore them
   let oldleft = window.screenX;
   window.moveTo(0, window.screenY)
   let postSubTest = function(cb) {
     let chats = document.getElementById("pinnedchats");
--- a/browser/base/content/test/social/browser_social_chatwindowfocus.js
+++ b/browser/base/content/test/social/browser_social_chatwindowfocus.js
@@ -81,17 +81,17 @@ function startTestAndWaitForSidebar(call
   port.postMessage({topic: "test-init"});
 }
 
 let manifest = { // normal provider
   name: "provider 1",
   origin: "https://example.com",
   sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
   workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-  iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+  iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
 };
 
 function test() {
   waitForExplicitFinish();
 
   // Note that (probably) due to bug 604289, if a tab is focused but the
   // focused element is null, our chat windows can "steal" focus.  This is
   // avoided if we explicitly focus an element in the tab.
--- a/browser/base/content/test/social/browser_social_errorPage.js
+++ b/browser/base/content/test/social/browser_social_errorPage.js
@@ -69,17 +69,17 @@ function ensureWorkerLoaded(provider, ca
   port.postMessage({topic: "ping"})
 }
 
 let manifest = { // normal provider
   name: "provider 1",
   origin: "https://example.com",
   sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
   workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-  iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+  iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
 };
 
 function test() {
   waitForExplicitFinish();
   // we don't want the sidebar to auto-load in these tests..
   Services.prefs.setBoolPref("social.sidebar.open", false);
   registerCleanupFunction(function() {
     Services.prefs.clearUserPref("social.sidebar.open");
--- a/browser/base/content/test/social/browser_social_flyout.js
+++ b/browser/base/content/test/social/browser_social_flyout.js
@@ -5,17 +5,17 @@
 function test() {
   waitForExplicitFinish();
 
   let manifest = { // normal provider
     name: "provider 1",
     origin: "https://example.com",
     sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
     workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-    iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+    iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
   };
   runSocialTestWithProvider(manifest, function (finishcb) {
     runSocialTests(tests, undefined, undefined, finishcb);
   });
 }
 
 var tests = {
   testOpenCloseFlyout: function(next) {
--- a/browser/base/content/test/social/browser_social_isVisible.js
+++ b/browser/base/content/test/social/browser_social_isVisible.js
@@ -5,17 +5,17 @@
 function test() {
   waitForExplicitFinish();
 
   let manifest = { // normal provider
     name: "provider 1",
     origin: "https://example.com",
     sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
     workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-    iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+    iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
   };
   runSocialTestWithProvider(manifest, function (finishcb) {
     runSocialTests(tests, undefined, undefined, finishcb);
   });
 }
 
 var tests = {
   testSidebarMessage: function(next) {
--- a/browser/base/content/test/social/browser_social_marks.js
+++ b/browser/base/content/test/social/browser_social_marks.js
@@ -4,46 +4,46 @@
 
 let SocialService = Cu.import("resource://gre/modules/SocialService.jsm", {}).SocialService;
 
 let manifest = { // builtin provider
   name: "provider example.com",
   origin: "https://example.com",
   sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
   workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-  iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+  iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
 };
 let manifest2 = { // used for testing install
   name: "provider test1",
   origin: "https://test1.example.com",
   workerURL: "https://test1.example.com/browser/browser/base/content/test/social/social_worker.js",
   markURL: "https://test1.example.com/browser/browser/base/content/test/social/social_mark.html?url=%{url}",
   markedIcon: "https://test1.example.com/browser/browser/base/content/test/social/unchecked.jpg",
   unmarkedIcon: "https://test1.example.com/browser/browser/base/content/test/social/checked.jpg",
 
-  iconURL: "https://test1.example.com/browser/browser/base/content/test/moz.png",
+  iconURL: "https://test1.example.com/browser/browser/base/content/test/general/moz.png",
   version: 1
 };
 let manifest3 = { // used for testing install
   name: "provider test2",
   origin: "https://test2.example.com",
   sidebarURL: "https://test2.example.com/browser/browser/base/content/test/social/social_sidebar.html",
-  iconURL: "https://test2.example.com/browser/browser/base/content/test/moz.png",
+  iconURL: "https://test2.example.com/browser/browser/base/content/test/general/moz.png",
   version: 1
 };
 function makeMarkProvider(origin) {
   return { // used for testing install
     name: "mark provider " + origin,
     origin: "https://" + origin + ".example.com",
     workerURL: "https://" + origin + ".example.com/browser/browser/base/content/test/social/social_worker.js",
     markURL: "https://" + origin + ".example.com/browser/browser/base/content/test/social/social_mark.html?url=%{url}",
     markedIcon: "https://" + origin + ".example.com/browser/browser/base/content/test/social/unchecked.jpg",
     unmarkedIcon: "https://" + origin + ".example.com/browser/browser/base/content/test/social/checked.jpg",
 
-    iconURL: "https://" + origin + ".example.com/browser/browser/base/content/test/moz.png",
+    iconURL: "https://" + origin + ".example.com/browser/browser/base/content/test/general/moz.png",
     version: 1
   }
 }
 
 function openWindowAndWaitForInit(callback) {
   let topic = "browser-delayed-startup-finished";
   let w = OpenBrowserWindow();
   Services.obs.addObserver(function providerSet(subject, topic, data) {
--- a/browser/base/content/test/social/browser_social_mozSocial_API.js
+++ b/browser/base/content/test/social/browser_social_mozSocial_API.js
@@ -5,17 +5,17 @@
 function test() {
   waitForExplicitFinish();
 
   let manifest = { // normal provider
     name: "provider 1",
     origin: "https://example.com",
     sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
     workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-    iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+    iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
   };
   runSocialTestWithProvider(manifest, function (finishcb) {
     runSocialTests(tests, undefined, undefined, finishcb);
   });
 }
 
 var tests = {
   testStatusIcons: function(next) {
--- a/browser/base/content/test/social/browser_social_perwindowPB.js
+++ b/browser/base/content/test/social/browser_social_perwindowPB.js
@@ -34,17 +34,17 @@ function postAndReceive(port, postTopic,
 function test() {
   waitForExplicitFinish();
 
   let manifest = { // normal provider
     name: "provider 1",
     origin: "https://example.com",
     sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
     workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-    iconURL: "https://example.com/browser/browser/base/content/test/social/moz.png"
+    iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
   };
   runSocialTestWithProvider(manifest, function (finishcb) {
     openTab(window, "http://example.com", function(newTab) {
       runSocialTests(tests, undefined, undefined, function() {
         window.gBrowser.removeTab(newTab);
         finishcb();
       });
     });
--- a/browser/base/content/test/social/browser_social_sidebar.js
+++ b/browser/base/content/test/social/browser_social_sidebar.js
@@ -5,17 +5,17 @@
 function test() {
   waitForExplicitFinish();
 
   let manifest = { // normal provider
     name: "provider 1",
     origin: "https://example.com",
     sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
     workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-    iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+    iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
   };
   runSocialTestWithProvider(manifest, doTest);
 }
 
 function doTest(finishcb) {
   ok(SocialSidebar.canShow, "social sidebar should be able to be shown");
   ok(SocialSidebar.opened, "social sidebar should be open by default");
 
--- a/browser/base/content/test/social/browser_social_status.js
+++ b/browser/base/content/test/social/browser_social_status.js
@@ -4,31 +4,31 @@
 
 let SocialService = Cu.import("resource://gre/modules/SocialService.jsm", {}).SocialService;
 
 let manifest = { // builtin provider
   name: "provider example.com",
   origin: "https://example.com",
   sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
   workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-  iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+  iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
 };
 let manifest2 = { // used for testing install
   name: "provider test1",
   origin: "https://test1.example.com",
   workerURL: "https://test1.example.com/browser/browser/base/content/test/social/social_worker.js",
   statusURL: "https://test1.example.com/browser/browser/base/content/test/social/social_panel.html",
-  iconURL: "https://test1.example.com/browser/browser/base/content/test/moz.png",
+  iconURL: "https://test1.example.com/browser/browser/base/content/test/general/moz.png",
   version: 1
 };
 let manifest3 = { // used for testing install
   name: "provider test2",
   origin: "https://test2.example.com",
   sidebarURL: "https://test2.example.com/browser/browser/base/content/test/social/social_sidebar.html",
-  iconURL: "https://test2.example.com/browser/browser/base/content/test/moz.png",
+  iconURL: "https://test2.example.com/browser/browser/base/content/test/general/moz.png",
   version: 1
 };
 
 
 function openWindowAndWaitForInit(callback) {
   let topic = "browser-delayed-startup-finished";
   let w = OpenBrowserWindow();
   Services.obs.addObserver(function providerSet(subject, topic, data) {
--- a/browser/base/content/test/social/browser_social_toolbar.js
+++ b/browser/base/content/test/social/browser_social_toolbar.js
@@ -1,17 +1,17 @@
 /* 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/. */
 
 let manifest = { // normal provider
   name: "provider 1",
   origin: "https://example.com",
   workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-  iconURL: "https://example.com/browser/browser/base/content/test/moz.png"
+  iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
 };
 
 function test() {
   waitForExplicitFinish();
 
   runSocialTestWithProvider(manifest, function (finishcb) {
     runSocialTests(tests, undefined, undefined, finishcb);
   });
@@ -38,17 +38,17 @@ var tests = {
   testProfileSet: function(next) {
     let statusIcon = document.getElementById("social-provider-button").style.listStyleImage;
     is(statusIcon, "url(\"" + manifest.iconURL + "\")", "manifest iconURL is showing");
     let profile = {
       portrait: "https://example.com/portrait.jpg",
       userName: "trickster",
       displayName: "Kuma Lisa",
       profileURL: "http://example.com/Kuma_Lisa",
-      iconURL: "https://example.com/browser/browser/base/content/test/social/moz.png"
+      iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
     }
     Social.provider.updateUserProfile(profile);
     // check dom values
     statusIcon = document.getElementById("social-provider-button").style.listStyleImage;
     is(statusIcon, "url(\"" + profile.iconURL + "\")", "profile iconURL is showing");
     let portrait = document.getElementsByClassName("social-statusarea-user-portrait")[0].getAttribute("src");
     is(profile.portrait, portrait, "portrait is set");
     let userButton = document.getElementsByClassName("social-statusarea-loggedInStatus")[0];
@@ -75,41 +75,41 @@ var tests = {
       toolsPopup.hidePopup();
       next();
     }, false);
     document.getElementById("menu_ToolsPopup").openPopup();
   },
   testAmbientNotifications: function(next) {
     let ambience = {
       name: "testIcon",
-      iconURL: "https://example.com/browser/browser/base/content/test/moz.png",
+      iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png",
       contentPanel: "about:blank",
       counter: 42,
       label: "Test Ambient 1 \u2046",
       menuURL: "https://example.com/testAmbient1"
     };
     let ambience2 = {
       name: "testIcon2",
-      iconURL: "https://example.com/browser/browser/base/content/test/moz.png",
+      iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png",
       contentPanel: "about:blank",
       counter: 0,
       label: "Test Ambient 2",
       menuURL: "https://example.com/testAmbient2"
     };
     let ambience3 = {
       name: "testIcon3",
-      iconURL: "https://example.com/browser/browser/base/content/test/moz.png",
+      iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png",
       contentPanel: "about:blank",
       counter: 0,
       label: "Test Ambient 3",
       menuURL: "https://example.com/testAmbient3"
     };
     let ambience4 = {
       name: "testIcon4",
-      iconURL: "https://example.com/browser/browser/base/content/test/moz.png",
+      iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png",
       contentPanel: "about:blank",
       counter: 0,
       label: "Test Ambient 4",
       menuURL: "https://example.com/testAmbient4"
     };
     Social.provider.setAmbientNotification(ambience);
 
     // for Bug 813834.  Check preference whether stored data is correct.
--- a/browser/base/content/test/social/browser_social_window.js
+++ b/browser/base/content/test/social/browser_social_window.js
@@ -39,17 +39,17 @@ function postTestCleanup(cb) {
   cb();
 }
 
 let manifest = { // normal provider
   name: "provider 1",
   origin: "https://example.com",
   sidebarURL: "https://example.com/browser/browser/base/content/test/social/social_sidebar.html",
   workerURL: "https://example.com/browser/browser/base/content/test/social/social_worker.js",
-  iconURL: "https://example.com/browser/browser/base/content/test/social/moz.png"
+  iconURL: "https://example.com/browser/browser/base/content/test/general/moz.png"
 };
 
 function test() {
   waitForExplicitFinish();
   runSocialTests(tests, undefined, postTestCleanup);
 }
 
 let tests = {
--- a/browser/components/sessionstore/test/browser_599909.js
+++ b/browser/components/sessionstore/test/browser_599909.js
@@ -56,17 +56,17 @@ function test() {
   // currentURI is set before SSTabRestoring is fired, so we can sucessfully check
   // after that has fired for all tabs. Since 1 tab will be restored though, we
   // also need to wait for 1 SSTabRestored since currentURI will be set, unset, then set.
   gBrowser.tabContainer.addEventListener("SSTabRestoring", handleEvent, true);
   gBrowser.tabContainer.addEventListener("SSTabRestored", handleEvent, true);
   ss.setBrowserState(JSON.stringify(state));
 }
 
-// The following was taken from browser/base/content/test/browser_tabMatchesInAwesomebar.js
+// The following was taken from browser/base/content/test/general/browser_tabMatchesInAwesomebar.js
 // so that we could do the same sort of checking.
 var gController = Cc["@mozilla.org/autocomplete/controller;1"].
                   getService(Ci.nsIAutoCompleteController);
 
 function checkAutocompleteResults(aExpected, aCallback) {
   gController.input = {
     timeout: 10,
     textValue: "",
--- a/browser/components/tabview/test/browser_tabview_bug610242.js
+++ b/browser/components/tabview/test/browser_tabview_bug610242.js
@@ -26,18 +26,18 @@ function onTabViewWindowLoaded(win) {
   
   // Create a bunch of tabs in the group
   let bg = {inBackground: true};
   let datatext = win.gBrowser.loadOneTab("data:text/plain,bug610242", bg);
   let datahtml = win.gBrowser.loadOneTab("data:text/html,<h1>hi!</h1>", bg);
   let mozilla  = win.gBrowser.loadOneTab("about:mozilla", bg);
   let synclog   = win.gBrowser.loadOneTab("about:sync-log", bg);
   let html     = win.gBrowser.loadOneTab("http://example.com", bg);
-  let png      = win.gBrowser.loadOneTab("http://mochi.test:8888/browser/browser/base/content/test/moz.png", bg);
-  let svg      = win.gBrowser.loadOneTab("http://mochi.test:8888/browser/browser/base/content/test/title_test.svg", bg);
+  let png      = win.gBrowser.loadOneTab("http://mochi.test:8888/browser/browser/base/content/test/general/moz.png", bg);
+  let svg      = win.gBrowser.loadOneTab("http://mochi.test:8888/browser/browser/base/content/test/general/title_test.svg", bg);
   
   ok(!group.shouldStack(group._children.length), "Group should not stack.");
   
   // PREPARE FINISH:
   group.addSubscriber("close", function onClose() {
     group.removeSubscriber("close", onClose);
 
     ok(group.isEmpty(), "The group is empty again");
--- a/dom/browser-element/mochitest/Makefile.in
+++ b/dom/browser-element/mochitest/Makefile.in
@@ -3,17 +3,17 @@
 # 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/.
 
 # Note: browserElementTestHelpers.js looks at the test's filename to determine
 # whether the test should be OOP.  "_oop_" signals OOP, "_inproc_" signals in
 # process.  Default is OOP.
 
 MOCHITEST_FILES = \
-                $(topsrcdir)/browser/base/content/test/audio.ogg \
+                $(topsrcdir)/browser/base/content/test/general/audio.ogg \
                 $(topsrcdir)/content/media/test/short-video.ogv \
 		file_empty_script.js \
 		file_empty.html \
 		file_focus.html \
 		browserElementTestHelpers.js \
 		test_browserElement_NoAttr.html \
 		test_browserElement_NoPref.html \
 		test_browserElement_NoWhitelist.html \
--- a/toolkit/components/thumbnails/test/browser_thumbnails_background.js
+++ b/toolkit/components/thumbnails/test/browser_thumbnails_background.js
@@ -270,17 +270,17 @@ let tests = [
   // relies on the fact that if the dialog was displayed the test will hang
   // and timeout.  IOW - the tests would pass if the dialogs appear and are
   // manually closed by the user - so don't do that :)  (obviously there is
   // noone available to do that when run via tbpl etc, so this should be safe,
   // and it's tricky to use the window-watcher to check a window *does not*
   // appear - how long should the watcher be active before assuming it's not
   // going to appear?)
   function noAuthPrompt() {
-    let url = "http://mochi.test:8888/browser/browser/base/content/test/authenticate.sjs?user=anyone";
+    let url = "http://mochi.test:8888/browser/browser/base/content/test/general/authenticate.sjs?user=anyone";
     let file = fileForURL(url);
     ok(!file.exists(), "Thumbnail file should not already exist.");
 
     let capturedURL = yield capture(url);
     is(capturedURL, url, "Captured URL should be URL passed to capture.");
     ok(file.exists(),
        "Thumbnail file should exist even though it requires auth.");
     file.remove(false);
--- a/toolkit/content/tests/widgets/Makefile.in
+++ b/toolkit/content/tests/widgets/Makefile.in
@@ -22,17 +22,17 @@ MOCHITEST_FILES =	\
 		videocontrols_direction-2-ref.html \
 		videocontrols_direction-2a.html \
 		videocontrols_direction-2b.html \
 		videocontrols_direction-2c.html \
 		videocontrols_direction-2d.html \
 		videocontrols_direction-2e.html \
 		videocontrols_direction_test.js \
 		$(topsrcdir)/content/media/test/audio.wav \
-		$(topsrcdir)/browser/base/content/test/audio.ogg \
+		$(topsrcdir)/browser/base/content/test/general/audio.ogg \
 		$(topsrcdir)/content/media/test/seek_with_sound.ogg \
 		videomask.css \
 		test_bug898940.html \
 		$(NULL)
 
 MOCHITEST_CHROME_FILES = \
 		tree_shared.js \
 		test_tree_column_reorder.xul \