Bug 1522032 - Add about:preferences page Application Update tests. r=mhowell
authorRobert Strong <robert.bugzilla@gmail.com>
Wed, 23 Jan 2019 14:17:27 -0800
changeset 515225 d9ca9091f36c9f4622a15f4d1d0f8afcd94aae66
parent 515224 d56504db04eae60a686340716dd8e5b95eae31f1
child 515226 a237a1078ce34f063400b3ec9beff1a692d8dbdb
push id1953
push userffxbld-merge
push dateMon, 11 Mar 2019 12:10:20 +0000
treeherdermozilla-release@9c35dcbaa899 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmhowell
bugs1522032
milestone66.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 1522032 - Add about:preferences page Application Update tests. r=mhowell These tests are equivalent to the About Dialog Application Update tests for the about:preferences page
toolkit/mozapps/update/tests/browser/browser.ini
toolkit/mozapps/update/tests/browser/browser_aboutDialog_bc_downloaded.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_bc_downloaded_staged.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_cantApply.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_malformedXML.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_noUpdate.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_otherInstance.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_unsupported.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadAuto.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadAuto_staging.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadOptIn.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadOptIn_staging.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_patch_completeBadSize.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_patch_partialBadSize.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_patch_partialBadSize_complete.js
toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_patch_partialBadSize_completeBadSize.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_bc_downloaded.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_bc_downloaded_staged.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_cantApply.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_malformedXML.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_noUpdate.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_otherInstance.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_unsupported.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadAuto.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadAuto_staging.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadOptIn.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadOptIn_staging.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_completeBadSize.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_partialBadSize.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_partialBadSize_complete.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_partialBadSize_completeBadSize.js
toolkit/mozapps/update/tests/browser/browser_aboutPrefs_settings.js
toolkit/mozapps/update/tests/browser/browser_about_bc_downloaded.js
toolkit/mozapps/update/tests/browser/browser_about_bc_downloaded_staged.js
toolkit/mozapps/update/tests/browser/browser_about_fc_check_cantApply.js
toolkit/mozapps/update/tests/browser/browser_about_fc_check_malformedXML.js
toolkit/mozapps/update/tests/browser/browser_about_fc_check_noUpdate.js
toolkit/mozapps/update/tests/browser/browser_about_fc_check_otherInstance.js
toolkit/mozapps/update/tests/browser/browser_about_fc_check_unsupported.js
toolkit/mozapps/update/tests/browser/browser_about_fc_downloadAuto.js
toolkit/mozapps/update/tests/browser/browser_about_fc_downloadAuto_staging.js
toolkit/mozapps/update/tests/browser/browser_about_fc_downloadOptIn.js
toolkit/mozapps/update/tests/browser/browser_about_fc_downloadOptIn_staging.js
toolkit/mozapps/update/tests/browser/browser_about_fc_patch_completeBadSize.js
toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize.js
toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize_complete.js
toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize_completeBadSize.js
toolkit/mozapps/update/tests/browser/browser_updateAutoPrefUI.js
toolkit/mozapps/update/tests/browser/head.js
--- a/toolkit/mozapps/update/tests/browser/browser.ini
+++ b/toolkit/mozapps/update/tests/browser/browser.ini
@@ -1,41 +1,74 @@
 [DEFAULT]
 tags = appupdate
 support-files =
   head.js
   downloadPage.html
   testConstants.js
   app_update.sjs
 
-[browser_about_bc_downloaded.js]
-[browser_about_bc_downloaded_staged.js]
+# About Dialog Application Update Tests
+[browser_aboutDialog_bc_downloaded.js]
+[browser_aboutDialog_bc_downloaded_staged.js]
 skip-if = (os == "linux" && verify) || asan
 reason = Bug 1520672 and Bug 1168003
-[browser_about_fc_check_cantApply.js]
+[browser_aboutDialog_fc_check_cantApply.js]
 skip-if = os != 'win'
 reason = test must be able to prevent file deletion.
-[browser_about_fc_check_malformedXML.js]
-[browser_about_fc_check_noUpdate.js]
-[browser_about_fc_check_otherInstance.js]
+[browser_aboutDialog_fc_check_malformedXML.js]
+[browser_aboutDialog_fc_check_noUpdate.js]
+[browser_aboutDialog_fc_check_otherInstance.js]
 skip-if = os != 'win'
 reason = Windows only feature.
-[browser_about_fc_check_unsupported.js]
-[browser_about_fc_downloadAuto.js]
-[browser_about_fc_downloadAuto_staging.js]
+[browser_aboutDialog_fc_check_unsupported.js]
+[browser_aboutDialog_fc_downloadAuto.js]
+[browser_aboutDialog_fc_downloadAuto_staging.js]
+skip-if = (os == "linux" && verify) || asan
+reason = Bug 1520672 and Bug 1168003
+[browser_aboutDialog_fc_downloadOptIn.js]
+[browser_aboutDialog_fc_downloadOptIn_staging.js]
+skip-if = (os == "linux" && verify) || asan
+reason = Bug 1520672 and Bug 1168003
+[browser_aboutDialog_fc_patch_completeBadSize.js]
+[browser_aboutDialog_fc_patch_partialBadSize.js]
+[browser_aboutDialog_fc_patch_partialBadSize_complete.js]
+[browser_aboutDialog_fc_patch_partialBadSize_completeBadSize.js]
+
+# about:preferences Application Update Tests
+[browser_aboutPrefs_bc_downloaded.js]
+[browser_aboutPrefs_bc_downloaded_staged.js]
 skip-if = (os == "linux" && verify) || asan
 reason = Bug 1520672 and Bug 1168003
-[browser_about_fc_downloadOptIn.js]
-[browser_about_fc_downloadOptIn_staging.js]
+[browser_aboutPrefs_fc_check_cantApply.js]
+skip-if = os != 'win'
+reason = test must be able to prevent file deletion.
+[browser_aboutPrefs_fc_check_malformedXML.js]
+[browser_aboutPrefs_fc_check_noUpdate.js]
+[browser_aboutPrefs_fc_check_otherInstance.js]
+skip-if = os != 'win'
+reason = Windows only feature.
+[browser_aboutPrefs_fc_check_unsupported.js]
+[browser_aboutPrefs_fc_downloadAuto.js]
+[browser_aboutPrefs_fc_downloadAuto_staging.js]
 skip-if = (os == "linux" && verify) || asan
 reason = Bug 1520672 and Bug 1168003
-[browser_about_fc_patch_completeBadSize.js]
-[browser_about_fc_patch_partialBadSize.js]
-[browser_about_fc_patch_partialBadSize_complete.js]
-[browser_about_fc_patch_partialBadSize_completeBadSize.js]
+[browser_aboutPrefs_fc_downloadOptIn.js]
+[browser_aboutPrefs_fc_downloadOptIn_staging.js]
+skip-if = (os == "linux" && verify) || asan
+reason = Bug 1520672 and Bug 1168003
+[browser_aboutPrefs_fc_patch_completeBadSize.js]
+[browser_aboutPrefs_fc_patch_partialBadSize.js]
+[browser_aboutPrefs_fc_patch_partialBadSize_complete.js]
+[browser_aboutPrefs_fc_patch_partialBadSize_completeBadSize.js]
+[browser_aboutPrefs_settings.js]
+skip-if = os != 'win'
+reason = Tests that update config is properly written to file, which is a Windows-only feature
+
+# Doorhanger Application Update Tests
 [browser_doorhanger_bc_check_cantApply.js]
 skip-if = os != 'win'
 reason = test must be able to prevent file deletion.
 [browser_doorhanger_bc_check_malformedXML.js]
 [browser_doorhanger_bc_downloaded.js]
 [browser_doorhanger_bc_downloaded_staged.js]
 skip-if = (os == "linux" && verify) || asan
 reason = Bug 1520672 and Bug 1168003
@@ -52,12 +85,9 @@ reason = Bug 1520672 and Bug 1168003
 [browser_doorhanger_bc_patch_partialBadSize_completeBadSize.js]
 [browser_doorhanger_sp_patch_completeApplyFailure.js]
 [browser_doorhanger_sp_patch_partialApplyFailure.js]
 [browser_doorhanger_sp_patch_partialApplyFailure_complete.js]
 [browser_doorhanger_sp_patch_partialApplyFailure_complete_staging.js]
 skip-if = (os == "linux" && verify) || asan
 reason = Bug 1520672 and Bug 1168003
 [browser_doorhanger_sp_patch_partialApplyFailure_completeBadSize.js]
-[browser_updateAutoPrefUI.js]
-skip-if = os != 'win'
-reason = Tests that update config is properly written to file, which is a Windows-only feature
 [browser_TelemetryUpdatePing.js]
rename from toolkit/mozapps/update/tests/browser/browser_about_bc_downloaded.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_bc_downloaded.js
rename from toolkit/mozapps/update/tests/browser/browser_about_bc_downloaded_staged.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_bc_downloaded_staged.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_check_cantApply.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_cantApply.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_check_malformedXML.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_malformedXML.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_check_noUpdate.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_noUpdate.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_check_otherInstance.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_otherInstance.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_check_unsupported.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_unsupported.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_downloadAuto.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadAuto.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_downloadAuto_staging.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadAuto_staging.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_downloadOptIn.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadOptIn.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_downloadOptIn_staging.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadOptIn_staging.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_patch_completeBadSize.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_patch_completeBadSize.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_patch_partialBadSize.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize_complete.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_patch_partialBadSize_complete.js
rename from toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize_completeBadSize.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_patch_partialBadSize_completeBadSize.js
copy from toolkit/mozapps/update/tests/browser/browser_about_bc_downloaded.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_bc_downloaded.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_bc_downloaded.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_bc_downloaded.js
@@ -1,17 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog background check for updates
+// Test for about:preferences background check for updates
 // with the update downloaded.
-add_task(async function aboutDialog_backgroundCheck_downloaded() {
+add_task(async function aboutPrefs_backgroundCheck_downloaded() {
   let updateParams = "";
-  await runAboutDialogUpdateTest(updateParams, true, [
+  await runAboutPrefsUpdateTest(updateParams, true, [
     {
       panelId: "apply",
       checkActiveUpdate: {state: STATE_PENDING},
       continueFile: null,
     },
   ]);
 });
copy from toolkit/mozapps/update/tests/browser/browser_about_bc_downloaded_staged.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_bc_downloaded_staged.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_bc_downloaded_staged.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_bc_downloaded_staged.js
@@ -1,25 +1,25 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog background check for updates
+// Test for about:preferences background check for updates
 // with the update downloaded and staged.
-add_task(async function aboutDialog_backgroundCheck_downloaded_staged() {
+add_task(async function aboutPrefs_backgroundCheck_downloaded_staged() {
   await SpecialPowers.pushPrefEnv({
     set: [
       [PREF_APP_UPDATE_STAGING_ENABLED, true],
     ],
   });
 
   // Since the partial should be successful specify an invalid size for the
   // complete update.
   let updateParams = "&invalidCompleteSize=1";
-  await runAboutDialogUpdateTest(updateParams, true, [
+  await runAboutPrefsUpdateTest(updateParams, true, [
     {
       panelId: "apply",
       checkActiveUpdate: {state: STATE_APPLIED},
       continueFile: null,
     },
   ]);
 });
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_check_cantApply.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_cantApply.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_check_cantApply.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_cantApply.js
@@ -1,20 +1,20 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // without the ability to apply updates.
-add_task(async function aboutDialog_foregroundCheck_cantApply() {
+add_task(async function aboutPrefs_foregroundCheck_cantApply() {
   lockWriteTestFile();
 
   let updateParams = "";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "manualUpdate",
       checkActiveUpdate: null,
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_check_malformedXML.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_malformedXML.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_check_malformedXML.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_malformedXML.js
@@ -1,18 +1,18 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with a malformed update XML file.
-add_task(async function aboutDialog_foregroundCheck_malformedXML() {
+add_task(async function aboutPrefs_foregroundCheck_malformedXML() {
   let updateParams = "&xmlMalformed=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "noUpdatesFound",
       checkActiveUpdate: null,
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_check_noUpdate.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_noUpdate.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_check_noUpdate.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_noUpdate.js
@@ -1,18 +1,18 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with no update available.
-add_task(async function aboutDialog_foregroundCheck_noUpdate() {
+add_task(async function aboutPrefs_foregroundCheck_noUpdate() {
   let updateParams = "&noUpdates=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "noUpdatesFound",
       checkActiveUpdate: null,
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_check_otherInstance.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_otherInstance.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_check_otherInstance.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_otherInstance.js
@@ -1,19 +1,19 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with another application instance handling updates.
-add_task(async function aboutDialog_foregroundCheck_otherInstance() {
+add_task(async function aboutPrefs_foregroundCheck_otherInstance() {
   setOtherInstanceHandlingUpdates();
 
   let updateParams = "";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "otherInstanceHandlingUpdates",
       checkActiveUpdate: null,
       continueFile: null,
     },
   ]);
 });
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_check_unsupported.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_unsupported.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_check_unsupported.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_check_unsupported.js
@@ -1,18 +1,18 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with an unsupported update.
-add_task(async function aboutDialog_foregroundCheck_unsupported() {
+add_task(async function aboutPrefs_foregroundCheck_unsupported() {
   let updateParams = "&unsupported=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "unsupportedSystem",
       checkActiveUpdate: null,
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_downloadAuto.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadAuto.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_downloadAuto.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadAuto.js
@@ -1,20 +1,20 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with an automatic download.
-add_task(async function aboutDialog_foregroundCheck_downloadAuto() {
+add_task(async function aboutPrefs_foregroundCheck_downloadAuto() {
   // Since the partial should be successful specify an invalid size for the
   // complete update.
   let updateParams = "&invalidCompleteSize=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "downloading",
       checkActiveUpdate: {state: STATE_DOWNLOADING},
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_downloadAuto_staging.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadAuto_staging.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_downloadAuto_staging.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadAuto_staging.js
@@ -1,26 +1,26 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with an automatic download and update staging.
-add_task(async function aboutDialog_foregroundCheck_downloadAuto_staging() {
+add_task(async function aboutPrefs_foregroundCheck_downloadAuto_staging() {
   await SpecialPowers.pushPrefEnv({
     set: [
       [PREF_APP_UPDATE_STAGING_ENABLED, true],
     ],
   });
 
   // Since the partial should be successful specify an invalid size for the
   // complete update.
   let updateParams = "&invalidCompleteSize=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "downloading",
       checkActiveUpdate: {state: STATE_DOWNLOADING},
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_downloadOptIn.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadOptIn.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_downloadOptIn.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadOptIn.js
@@ -1,22 +1,22 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with a manual download.
-add_task(async function aboutDialog_foregroundCheck_downloadOptIn() {
+add_task(async function aboutPrefs_foregroundCheck_downloadOptIn() {
   await UpdateUtils.setAppUpdateAutoEnabled(false);
 
   // Since the partial should be successful specify an invalid size for the
   // complete update.
   let updateParams = "&invalidCompleteSize=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "downloadAndInstall",
       checkActiveUpdate: null,
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_downloadOptIn_staging.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadOptIn_staging.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_downloadOptIn_staging.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_downloadOptIn_staging.js
@@ -1,27 +1,27 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with a manual download and update staging.
-add_task(async function aboutDialog_foregroundCheck_downloadOptIn_staging() {
+add_task(async function aboutPrefs_foregroundCheck_downloadOptIn_staging() {
   await SpecialPowers.pushPrefEnv({
     set: [
       [PREF_APP_UPDATE_STAGING_ENABLED, true],
     ],
   });
   await UpdateUtils.setAppUpdateAutoEnabled(false);
 
   // Since the partial should be successful specify an invalid size for the
   // complete update.
   let updateParams = "&invalidCompleteSize=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "downloadAndInstall",
       checkActiveUpdate: null,
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_patch_completeBadSize.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_completeBadSize.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_patch_completeBadSize.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_completeBadSize.js
@@ -1,18 +1,18 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with a complete bad size patch.
-add_task(async function aboutDialog_foregroundCheck_completeBadSize() {
+add_task(async function aboutPrefs_foregroundCheck_completeBadSize() {
   let updateParams = "&completePatchOnly=1&invalidCompleteSize=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "downloading",
       checkActiveUpdate: {state: STATE_DOWNLOADING},
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_partialBadSize.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_partialBadSize.js
@@ -1,18 +1,18 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with a partial bad size patch.
-add_task(async function aboutDialog_foregroundCheck_partialBadSize() {
+add_task(async function aboutPrefs_foregroundCheck_partialBadSize() {
   let updateParams = "&partialPatchOnly=1&invalidPartialSize=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "downloading",
       checkActiveUpdate: {state: STATE_DOWNLOADING},
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize_complete.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_partialBadSize_complete.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize_complete.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_partialBadSize_complete.js
@@ -1,18 +1,18 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with a partial bad size patch and a complete patch.
-add_task(async function aboutDialog_foregroundCheck_partialBadSize_complete() {
+add_task(async function aboutPrefs_foregroundCheck_partialBadSize_complete() {
   let updateParams = "&invalidPartialSize=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "downloading",
       checkActiveUpdate: {state: STATE_DOWNLOADING},
copy from toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize_completeBadSize.js
copy to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_partialBadSize_completeBadSize.js
--- a/toolkit/mozapps/update/tests/browser/browser_about_fc_patch_partialBadSize_completeBadSize.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutPrefs_fc_patch_partialBadSize_completeBadSize.js
@@ -1,18 +1,18 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
-// Test for About Dialog foreground check for updates
+// Test for about:preferences foreground check for updates
 // with a partial bad size patch and a complete bad size patch.
-add_task(async function aboutDialog_foregroundCheck_partialBadSize_completeBadSize() {
+add_task(async function aboutPrefs_foregroundCheck_partialBadSize_completeBadSize() {
   let updateParams = "&invalidPartialSize=1&invalidCompleteSize=1";
-  await runAboutDialogUpdateTest(updateParams, false, [
+  await runAboutPrefsUpdateTest(updateParams, false, [
     {
       panelId: "checkingForUpdates",
       checkActiveUpdate: null,
       continueFile: CONTINUE_CHECK,
     },
     {
       panelId: "downloading",
       checkActiveUpdate: {state: STATE_DOWNLOADING},
rename from toolkit/mozapps/update/tests/browser/browser_updateAutoPrefUI.js
rename to toolkit/mozapps/update/tests/browser/browser_aboutPrefs_settings.js
--- a/toolkit/mozapps/update/tests/browser/head.js
+++ b/toolkit/mozapps/update/tests/browser/head.js
@@ -558,45 +558,35 @@ function waitForAboutDialog() {
  *         If true a background check will be performed before opening the About
  *         Dialog.
  * @param  steps
  *         An array of test steps to perform. A step will either be an object
  *         containing expected conditions and actions or a function to call.
  * @return A promise which will resolve once all of the steps have been run.
  */
 function runAboutDialogUpdateTest(updateParams, backgroundUpdate, steps) {
+  // Some elements append a trailing /. After the chrome tests are removed this
+  // code can be changed so URL_HOST already has a trailing /.
+  let detailsURL = URL_HOST + "/";
   let aboutDialog;
   function processAboutDialogStep(step) {
     if (typeof(step) == "function") {
       return step();
     }
 
-    // Helper function to get the selected panel.
-    function getSelectedPanel() {
-      return aboutDialog.document.getElementById("updateDeck").selectedPanel;
-    }
-
-    // Helper function to get the selected panel's button.
-    function getSelectedPanelButton() {
-      return getSelectedPanel().querySelector("button");
-    }
-
-    // Helper function to get the selected panel's label with a class of
-    // text-link.
-    function getSelectedLabelLink() {
-      return getSelectedPanel().querySelector("label.text-link");
-    }
-
     const {panelId, checkActiveUpdate, continueFile} = step;
     return (async function() {
+      let updateDeck = aboutDialog.document.getElementById("updateDeck");
       await BrowserTestUtils.waitForCondition(() =>
-        (getSelectedPanel() && getSelectedPanel().id == panelId),
-        "Waiting for expected panel ID - expected \"" + panelId + "\"");
+        (updateDeck.selectedPanel && updateDeck.selectedPanel.id == panelId),
+        "Waiting for expected panel ID - got: \"" +
+        updateDeck.selectedPanel.id + "\", expected \"" + panelId + "\"");
+      let selectedPanel = updateDeck.selectedPanel;
+      is(selectedPanel.id, panelId, "The panel ID should equal " + panelId);
 
-      // Skip when checkActiveUpdate evaluates to false.
       if (checkActiveUpdate) {
         ok(!!gUpdateManager.activeUpdate, "There should be an active update");
         is(gUpdateManager.activeUpdate.state, checkActiveUpdate.state,
            "The active update state should equal " + checkActiveUpdate.state);
       } else {
         ok(!gUpdateManager.activeUpdate,
            "There should not be an active update");
       }
@@ -605,24 +595,24 @@ function runAboutDialogUpdateTest(update
         await continueFileHandler(continueFile);
       }
 
       let linkPanels = ["downloadFailed", "manualUpdate", "unsupportedSystem"];
       if (linkPanels.includes(panelId)) {
         // The unsupportedSystem panel uses the update's detailsURL and the
         // downloadFailed and manualUpdate panels use the app.update.url.manual
         // preference.
-        let labelLink = getSelectedLabelLink();
-        is(labelLink.href, URL_HOST,
+        let link = selectedPanel.querySelector("label.text-link");
+        is(link.href, detailsURL,
            "The panel's link href should equal the expected value");
       }
 
       let buttonPanels = ["downloadAndInstall", "apply"];
       if (buttonPanels.includes(panelId)) {
-        let buttonEl = getSelectedPanelButton();
+        let buttonEl = selectedPanel.querySelector("button");
         await BrowserTestUtils.waitForCondition(() =>
           (aboutDialog.document.activeElement == buttonEl),
           "The button should receive focus");
         ok(!buttonEl.disabled, "The button should be enabled");
         // Don't click the button on the apply panel since this will restart the
         // application.
         if (panelId != "apply") {
           buttonEl.click();
@@ -631,48 +621,185 @@ function runAboutDialogUpdateTest(update
     })();
   }
 
   return (async function() {
     await SpecialPowers.pushPrefEnv({
       set: [
         [PREF_APP_UPDATE_SERVICE_ENABLED, false],
         [PREF_APP_UPDATE_DISABLEDFORTESTING, false],
-        [PREF_APP_UPDATE_URL_MANUAL, URL_HOST],
+        [PREF_APP_UPDATE_URL_MANUAL, detailsURL],
       ],
     });
     registerCleanupFunction(() => {
       gEnv.set("MOZ_TEST_SLOW_SKIP_UPDATE_STAGE", "");
       UpdateListener.reset();
       cleanUpUpdates();
     });
 
     gEnv.set("MOZ_TEST_SLOW_SKIP_UPDATE_STAGE", "1");
     setUpdateTimerPrefs();
     removeUpdateDirsAndFiles();
 
     await setupTestUpdater();
+    registerCleanupFunction(async () => {
+      await finishTestRestoreUpdaterBackup();
+    });
 
-    let url = URL_HTTP_UPDATE_SJS + "?detailsURL=" + URL_HOST +
-              updateParams + getVersionParams();
+    let updateURL = URL_HTTP_UPDATE_SJS + "?detailsURL=" + detailsURL +
+                    updateParams + getVersionParams();
     if (backgroundUpdate) {
-      setUpdateURL(url);
+      setUpdateURL(updateURL);
       if (Services.prefs.getBoolPref(PREF_APP_UPDATE_STAGING_ENABLED)) {
         // Don't wait on the deletion of the continueStaging file
         continueFileHandler(CONTINUE_STAGING);
       }
       gAUS.checkForBackgroundUpdates();
       await waitForEvent("update-downloaded");
     } else {
-      url += "&slowUpdateCheck=1&useSlowDownloadMar=1";
-      setUpdateURL(url);
+      updateURL += "&slowUpdateCheck=1&useSlowDownloadMar=1";
+      setUpdateURL(updateURL);
     }
 
     aboutDialog = await waitForAboutDialog();
+    registerCleanupFunction(() => {
+      aboutDialog.close();
+    });
 
     for (let step of steps) {
       await processAboutDialogStep(step);
     }
-
-    aboutDialog.close();
-    await finishTestRestoreUpdaterBackup();
   })();
 }
+
+/**
+ * Runs an about:preferences update test. This will set various common prefs for
+ * updating and runs the provided list of steps.
+ *
+ * @param  updateParams
+ *         Params which will be sent to app_update.sjs.
+ * @param  backgroundUpdate
+ *         If true a background check will be performed before opening the About
+ *         Dialog.
+ * @param  steps
+ *         An array of test steps to perform. A step will either be an object
+ *         containing expected conditions and actions or a function to call.
+ * @return A promise which will resolve once all of the steps have been run.
+ */
+function runAboutPrefsUpdateTest(updateParams, backgroundUpdate, steps) {
+  // Some elements append a trailing /. After the chrome tests are removed this
+  // code can be changed so URL_HOST already has a trailing /.
+  let detailsURL = URL_HOST + "/";
+  let tab;
+  function processAboutPrefsStep(step) {
+    if (typeof(step) == "function") {
+      return step();
+    }
+
+    const {panelId, checkActiveUpdate, continueFile} = step;
+    return (async function() {
+      await ContentTask.spawn(tab.linkedBrowser, {panelId}, async ({panelId}) => {
+        let updateDeck = content.document.getElementById("updateDeck");
+        await ContentTaskUtils.waitForCondition(() =>
+          (updateDeck.selectedPanel && updateDeck.selectedPanel.id == panelId),
+          "Waiting for expected panel ID - got: \"" +
+          updateDeck.selectedPanel.id + "\", expected \"" + panelId + "\"");
+        is(updateDeck.selectedPanel.id, panelId,
+           "The panel ID should equal " + panelId);
+      });
+
+      if (checkActiveUpdate) {
+        ok(!!gUpdateManager.activeUpdate, "There should be an active update");
+        is(gUpdateManager.activeUpdate.state, checkActiveUpdate.state,
+           "The active update state should equal " + checkActiveUpdate.state);
+      } else {
+        ok(!gUpdateManager.activeUpdate,
+           "There should not be an active update");
+      }
+
+      if (continueFile) {
+        await continueFileHandler(continueFile);
+      }
+
+      await ContentTask.spawn(tab.linkedBrowser, {panelId, detailsURL}, async ({panelId, detailsURL}) => {
+        let linkPanels = ["downloadFailed", "manualUpdate", "unsupportedSystem"];
+        if (linkPanels.includes(panelId)) {
+          let selectedPanel =
+            content.document.getElementById("updateDeck").selectedPanel;
+          // The unsupportedSystem panel uses the update's detailsURL and the
+          // downloadFailed and manualUpdate panels use the app.update.url.manual
+          // preference.
+          let selector = "label.text-link";
+          // The downloadFailed panel in about:preferences uses an anchor
+          // instead of a label for the link.
+          if (selectedPanel.id == "downloadFailed") {
+            selector = "a.text-link";
+          }
+          let link = selectedPanel.querySelector(selector);
+          is(link.href, detailsURL,
+             "The panel's link href should equal the expected value");
+        }
+
+        let buttonPanels = ["downloadAndInstall", "apply"];
+        if (buttonPanels.includes(panelId)) {
+          let selectedPanel = content.document.getElementById("updateDeck").selectedPanel;
+          let buttonEl = selectedPanel.querySelector("button");
+          // Note: The about:preferences doesn't focus the button like the
+          // About Dialog does.
+          ok(!buttonEl.disabled, "The button should be enabled");
+          // Don't click the button on the apply panel since this will restart the
+          // application.
+          if (selectedPanel.id != "apply") {
+            buttonEl.click();
+          }
+        }
+      });
+    })();
+  }
+
+  return (async function() {
+    await SpecialPowers.pushPrefEnv({
+      set: [
+        [PREF_APP_UPDATE_SERVICE_ENABLED, false],
+        [PREF_APP_UPDATE_DISABLEDFORTESTING, false],
+        [PREF_APP_UPDATE_URL_MANUAL, detailsURL],
+      ],
+    });
+    registerCleanupFunction(() => {
+      gEnv.set("MOZ_TEST_SLOW_SKIP_UPDATE_STAGE", "");
+      UpdateListener.reset();
+      cleanUpUpdates();
+    });
+
+    gEnv.set("MOZ_TEST_SLOW_SKIP_UPDATE_STAGE", "1");
+    setUpdateTimerPrefs();
+    removeUpdateDirsAndFiles();
+
+    await setupTestUpdater();
+    registerCleanupFunction(async () => {
+      await finishTestRestoreUpdaterBackup();
+    });
+
+    let updateURL = URL_HTTP_UPDATE_SJS + "?detailsURL=" + detailsURL +
+                    updateParams + getVersionParams();
+    if (backgroundUpdate) {
+      setUpdateURL(updateURL);
+      if (Services.prefs.getBoolPref(PREF_APP_UPDATE_STAGING_ENABLED)) {
+        // Don't wait on the deletion of the continueStaging file
+        continueFileHandler(CONTINUE_STAGING);
+      }
+      gAUS.checkForBackgroundUpdates();
+      await waitForEvent("update-downloaded");
+    } else {
+      updateURL += "&slowUpdateCheck=1&useSlowDownloadMar=1";
+      setUpdateURL(updateURL);
+    }
+
+    tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:preferences");
+    registerCleanupFunction(async () => {
+      await BrowserTestUtils.removeTab(tab);
+    });
+
+    for (let step of steps) {
+      await processAboutPrefsStep(step);
+    }
+  })();
+}