Bug 1262880
authorRobert Strong <robert.bugzilla@gmail.com>
Tue, 26 Apr 2016 22:59:09 -0700
changeset 491506 13d2be5322d581100130fcd1ff4bbb9ab923d983
parent 491505 6f30df5a7fc0994f137cf10a990dafd4e5cb5320
child 491507 85c1a69876b82ce49d16518504309f2cbea04ce1
push id47343
push userbmo:dothayer@mozilla.com
push dateWed, 01 Mar 2017 22:58:58 +0000
bugs1262880
milestone49.0a1
Bug 1262880
toolkit/locales/en-US/chrome/mozapps/update/updates.dtd
toolkit/locales/en-US/chrome/mozapps/update/updates.properties
toolkit/mozapps/update/UpdateTelemetry.jsm
toolkit/mozapps/update/content/updates.js
toolkit/mozapps/update/content/updates.xul
toolkit/mozapps/update/nsUpdateService.js
toolkit/mozapps/update/tests/chrome/chrome.ini
toolkit/mozapps/update/tests/chrome/test_0013_check_incompat_basic.xul
toolkit/mozapps/update/tests/chrome/test_0014_check_incompat_basic_license.xul
toolkit/mozapps/update/tests/chrome/test_0015_check_incompat_basic_addons.xul
toolkit/mozapps/update/tests/chrome/test_0016_check_incompat_basic_license_addons.xul
toolkit/mozapps/update/tests/chrome/test_0023_check_incompat_billboard.xul
toolkit/mozapps/update/tests/chrome/test_0024_check_incompat_billboard_license.xul
toolkit/mozapps/update/tests/chrome/test_0025_check_incompat_billboard_addons.xul
toolkit/mozapps/update/tests/chrome/test_0026_check_incompat_billboard_license_addons.xul
toolkit/mozapps/update/tests/chrome/test_0033_available_incompat_basic.xul
toolkit/mozapps/update/tests/chrome/test_0034_available_incompat_basic_license.xul
toolkit/mozapps/update/tests/chrome/test_0035_available_incompat_basic_addons.xul
toolkit/mozapps/update/tests/chrome/test_0036_available_incompat_basic_license_addons.xul
toolkit/mozapps/update/tests/chrome/test_0043_available_incompat_billboard.xul
toolkit/mozapps/update/tests/chrome/test_0044_available_incompat_billboard_license.xul
toolkit/mozapps/update/tests/chrome/test_0045_available_incompat_billboard_addons.xul
toolkit/mozapps/update/tests/chrome/test_0046_available_incompat_billboard_license_addons.xul
toolkit/mozapps/update/tests/chrome/test_0104_background_restartNotification_NoIncompatAddons.xul
toolkit/mozapps/update/tests/chrome/test_0105_background_restartNotification_VersionCompatAddons.xul
toolkit/mozapps/update/tests/chrome/test_9999_cleanup.xul
toolkit/mozapps/update/tests/chrome/update.sjs
toolkit/mozapps/update/tests/chrome/utils.js
toolkit/mozapps/update/tests/data/shared.js
--- a/toolkit/locales/en-US/chrome/mozapps/update/updates.dtd
+++ b/toolkit/locales/en-US/chrome/mozapps/update/updates.dtd
@@ -26,37 +26,32 @@
 <!ENTITY  manualUpdateGetMsg.label        "You can always get the latest version of &brandShortName; at:">
 
 <!ENTITY  unsupported.title               "System Unsupported">
 <!ENTITY  unsupported.label               "Your &brandShortName; is out of date, but the latest version is not
                                            supported on your system. Please upgrade your system, then try again.
                                            You will not see this notice again, but you can">
 <!ENTITY  unsupportedLink.label           "learn more.">
 
-<!ENTITY  incompatibleCheck.title         "Checking Add-on Compatibility">
-<!ENTITY  incompatibleCheck.label         "Looking for newer versions of your add-ons…">
-
 <!ENTITY  clickHere.label                 "View more information about this update">
 
 <!ENTITY  evangelism.desc                 "It is strongly recommended that you apply this 
                                            update for &brandShortName; as soon as possible.">
 
 <!ENTITY  license.instructions            "If you agree to the terms of this agreement, click I Agree 
                                            below to continue installing this update.">
 
 <!ENTITY  license.titleText               "Software License Agreement">
 <!ENTITY  license.introText               "Terms and conditions for using this software.">
 <!ENTITY  license.instructionText         "Please read the following license agreement. Use the scroll bar to view the rest of this agreement.">
 <!ENTITY  license.accept                  "I accept the terms of the License Agreement">
 <!ENTITY  license.accept.accesskey        "c">
 <!ENTITY  license.decline                 "I do NOT accept the terms of the License Agreement">
 <!ENTITY  license.decline.accesskey       "T">
 
-<!ENTITY  incompatibleList.title          "Incompatible Add-ons Found">
-
 <!ENTITY  downloadPage.title              "Downloading &brandShortName;">
 <!ENTITY  downloading.intro               "Downloading the update…">
 <!ENTITY  connecting.label                "Connecting to the update server…">
 <!ENTITY  verificationFailedText.label    "&brandShortName; was unable to verify the integrity of the 
                                            incremental update it downloaded, so it is now downloading
                                            the complete update package.">
 
 <!ENTITY  viewDetails.tooltip             "View details for this update">
--- a/toolkit/locales/en-US/chrome/mozapps/update/updates.properties
+++ b/toolkit/locales/en-US/chrome/mozapps/update/updates.properties
@@ -14,28 +14,19 @@ updateName=%S %S
 licenseContentDownloading=Getting license for %S %S…
 updateMoreInfoContentDownloading=Getting more details about %S %S…
 
 # LOCALIZATION NOTE: When present
 # %1$S is the brandShortName. Ex: MyApplication
 # %2$S is the update version - provided by the update xml. Ex: version 10.0.5
 # %3$S is the build identifier - provided by the update xml. Ex: 20081022033543
 updateNightlyName=%1$S %2$S %3$S nightly
-incompatAddons_major=Some of your add-ons won't work with %1$S %2$S, and will be disabled. As soon as they are made compatible, %1$S will update and re-enable these add-ons:
-incompatAddons_minor=Some of your add-ons won't work with this update, and will be disabled. As soon as they are made compatible, %1$S will update and re-enable these add-ons:
 intro_major=Do you want to upgrade to %1$S %2$S now?
 intro_minor=A security and stability update for %1$S is available:
 
-# LOCALIZATION NOTE:
-# %1$S is the add-on name
-# Example: My Addon
-# %2$S is the add-on version.
-# Example: 2.1.5
-addonLabel=%1$S %2$S
-
 updateType_major=New Version
 updateType_minor=Security Update
 
 # LOCALIZATION NOTE: When present %S is brandShortName
 verificationError=%S could not confirm the integrity of the update package.
 licenseContentNotFound=The license file for this version could not be found. Please visit the %S homepage for more information.
 updateMoreInfoContentNotFound=Additional details about this version could not be found. Please visit the %S homepage for more information.
 resumePausedAfterCloseTitle=Software Update
--- a/toolkit/mozapps/update/UpdateTelemetry.jsm
+++ b/toolkit/mozapps/update/UpdateTelemetry.jsm
@@ -31,32 +31,23 @@ this.AUSTLMY = {
   NOTIFY: "NOTIFY",
 
   /**
    * Values for the UPDATE_CHECK_CODE_NOTIFY and UPDATE_CHECK_CODE_EXTERNAL
    * Telemetry histograms.
    */
   // No update found (no notification)
   CHK_NO_UPDATE_FOUND: 0,
-  // No incompatible add-ons found during incompatible check (background download)
-  CHK_ADDON_NO_INCOMPAT: 1,
+  // Update will be downloaded in the background (background download)
+  CHK_DOWNLOAD_UPDATE: 1,
   // Showing prompt due to the update.xml specifying showPrompt
   // (update notification)
   CHK_SHOWPROMPT_SNIPPET: 2,
   // Showing prompt due to preference (update notification)
   CHK_SHOWPROMPT_PREF: 3,
-  // Incompatible add-on check disabled by preference (background download)
-  CHK_ADDON_PREF_DISABLED: 4,
-  // Incompatible add-on check not performed due to same app version as the
-  // update's app version (background download)
-  CHK_ADDON_SAME_APP_VER: 5,
-  // Incompatible add-ons found and all of them have updates (background download)
-  CHK_ADDON_UPDATES_FOR_INCOMPAT: 6,
-  // Incompatible add-ons found (update notification)
-  CHK_ADDON_HAVE_INCOMPAT: 7,
   // Already has an active update in progress (no notification)
   CHK_HAS_ACTIVEUPDATE: 8,
   // A background download is already in progress (no notification)
   CHK_IS_DOWNLOADING: 9,
   // An update is already staged (no notification)
   CHK_IS_STAGED: 10,
   // An update is already downloaded (no notification)
   CHK_IS_DOWNLOADED: 11,
@@ -337,21 +328,19 @@ this.AUSTLMY = {
   pingWizLastPageCode: function UT_pingWizLastPageCode(aPageID) {
     let pageMap = { invalid: 0,
                     dummy: 1,
                     checking: 2,
                     pluginupdatesfound: 3,
                     noupdatesfound: 4,
                     manualUpdate: 5,
                     unsupported: 6,
-                    incompatibleCheck: 7,
                     updatesfoundbasic: 8,
                     updatesfoundbillboard: 9,
                     license: 10,
-                    incompatibleList: 11,
                     downloading: 12,
                     errors: 13,
                     errorextra: 14,
                     errorpatching: 15,
                     finished: 16,
                     finishedBackground: 17,
                     installed: 18 };
     try {
--- a/toolkit/mozapps/update/content/updates.js
+++ b/toolkit/mozapps/update/content/updates.js
@@ -5,17 +5,16 @@
 
 'use strict';
 
 // Firefox's macBrowserOverlay.xul includes scripts that define Cc, Ci, and Cr
 // so we have to use different names.
 const {classes: CoC, interfaces: CoI, results: CoR, utils: CoU} = Components;
 
 CoU.import("resource://gre/modules/DownloadUtils.jsm", this);
-CoU.import("resource://gre/modules/AddonManager.jsm", this);
 CoU.import("resource://gre/modules/Services.jsm", this);
 CoU.import("resource://gre/modules/UpdateTelemetry.jsm", this);
 
 const XMLNS_XUL = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
 
 const PREF_APP_UPDATE_BACKGROUNDERRORS    = "app.update.backgroundErrors";
 const PREF_APP_UPDATE_BILLBOARD_TEST_URL  = "app.update.billboard.test_url";
 const PREF_APP_UPDATE_CERT_ERRORS         = "app.update.cert.errors";
@@ -23,17 +22,16 @@ const PREF_APP_UPDATE_ELEVATE_NEVER     
 const PREF_APP_UPDATE_ENABLED             = "app.update.enabled";
 const PREF_APP_UPDATE_LOG                 = "app.update.log";
 const PREF_APP_UPDATE_NOTIFIEDUNSUPPORTED = "app.update.notifiedUnsupported";
 const PREF_APP_UPDATE_TEST_LOOP           = "app.update.test.loop";
 const PREF_APP_UPDATE_URL_MANUAL          = "app.update.url.manual";
 
 const PREFBRANCH_APP_UPDATE_NEVER         = "app.update.never.";
 
-const PREF_EM_HOTFIX_ID                   = "extensions.hotfix.id";
 const PREF_PLUGINS_UPDATE_URL             = "plugins.update.url";
 
 const UPDATE_TEST_LOOP_INTERVAL = 2000;
 
 const URI_UPDATES_PROPERTIES  = "chrome://mozapps/locale/update/updates.properties";
 
 const STATE_DOWNLOADING       = "downloading";
 const STATE_PENDING           = "pending";
@@ -116,21 +114,16 @@ function getPref(func, preference, defau
 var gUpdates = {
   /**
    * The nsIUpdate object being used by this window (either for downloading,
    * notification or both).
    */
   update: null,
 
   /**
-   * List of incompatible add-ons
-   */
-  addons: [],
-
-  /**
    * The updates.properties <stringbundle> element.
    */
   strings: null,
 
   /**
    * The Application brandShortName (e.g. "Firefox")
    */
   brandName: null,
@@ -192,20 +185,19 @@ var gUpdates = {
    *          true if the wizard can be advanced (e.g. the next / finish button
    *          should be enabled), false otherwise.
    * @param   showCancel
    *          true if the wizard's cancel button should be shown, false
    *          otherwise. If not specified this will default to false.
    *
    * Note:
    * Per Bug 324121 the wizard should not look like a wizard and to accomplish
-   * this the back button is never displayed and the cancel button is only
-   * displayed for the checking and the incompatibleCheck pages. This causes the
-   * wizard buttons to be arranged as follows on Windows with the next and
-   * finish buttons never being displayed at the same time.
+   * this the back button is never displayed. This causes the wizard buttons to
+   * be arranged as follows on Windows with the next and finish buttons never
+   * being displayed at the same time.
    * +--------------------------------------------------------------+
    * | [ extra1 ] [ extra2 ]                     [ next or finish ] |
    * +--------------------------------------------------------------+
    */
   setButtons: function(extra1ButtonString, extra2ButtonString,
                        nextFinishButtonString, canAdvance, showCancel) {
     this.wiz.canAdvance = canAdvance;
 
@@ -305,19 +297,17 @@ var gUpdates = {
   /**
    * The checking process that spawned this update UI. There are two types:
    * SRCEVT_FOREGROUND:
    *   Some user-generated event caused this UI to appear, e.g. the Help
    *   menu item or the button in preferences. When in this mode, the UI
    *   should remain active for the duration of the download.
    * SRCEVT_BACKGROUND:
    *   A background update check caused this UI to appear, probably because
-   *   incompatibilities in Extensions or other addons were discovered and
-   *   the user's consent to continue was required. When in this mode, the
-   *   UI will disappear after the user's consent is obtained.
+   *   the user has the app.update.auto preference set to false.
    */
   sourceEvent: SRCEVT_FOREGROUND,
 
   /**
    * Helper function for onLoad
    * Saves default button label & accesskey for use by _setButton
    */
   _cacheButtonStrings: function (buttonName) {
@@ -380,21 +370,20 @@ var gUpdates = {
    * showUpdateAvailable  nsIUpdate obj --            background  --        see Note below
    * showUpdateDownloaded nsIUpdate obj pending       background  --        finishedBackground
    * showUpdateInstalled  "installed"   --            --          --        installed
    * showUpdateError      nsIUpdate obj failed        either      partial   errorpatching
    * showUpdateError      nsIUpdate obj failed        either      complete  errors
    * checkForUpdates      null          --            foreground  --        checking
    * checkForUpdates      null          downloading   foreground  --        downloading
    *
-   * Note: the page returned (e.g. Result) for showUpdateAvailable is as follows:
-   * New enabled incompatible add-ons   : incompatibleCheck page
-   * No new enabled incompatible add-ons: either updatesfoundbasic or
-   *                                      updatesfoundbillboard as determined by
-   *                                      updatesFoundPageId
+   * Note: the page returned (e.g. Result) for showUpdateAvailable is either
+   *       updatesfoundbasic or updatesfoundbillboard which is determined by the
+   *       value of updatesFoundPageId.
+   *
    * @param   aCallback
    *          A callback to pass the <wizardpage> object to be displayed first to.
    */
   getStartPageID: function(aCallback) {
     if ("arguments" in window && window.arguments[0]) {
       var arg0 = window.arguments[0];
       if (arg0 instanceof CoI.nsIUpdate) {
         // If the first argument is a nsIUpdate object, we are notifying the
@@ -464,26 +453,17 @@ var gUpdates = {
           aCallback("manualUpdate");
           return;
         }
 
         if (this.update.licenseURL) {
           this.wiz.getPageById(this.updatesFoundPageId).setAttribute("next", "license");
         }
 
-        var self = this;
-        this.getShouldCheckAddonCompatibility(function(shouldCheck) {
-          if (shouldCheck) {
-            var incompatCheckPage = document.getElementById("incompatibleCheck");
-            incompatCheckPage.setAttribute("next", self.updatesFoundPageId);
-            aCallback(incompatCheckPage.id);
-          } else {
-            aCallback(self.updatesFoundPageId);
-          }
-        });
+        aCallback(this.updatesFoundPageId);
         return;
       }
       else if (arg0 == "installed") {
         aCallback("installed");
         return;
       }
     }
     else {
@@ -511,77 +491,16 @@ var gUpdates = {
                       type                : "major" };
       aCallback(updatesFoundBillboardPage.id);
     }
     else {
       aCallback("checking");
     }
   },
 
-  getShouldCheckAddonCompatibility: function(aCallback) {
-    // this early return should never happen
-    if (!this.update) {
-      aCallback(false);
-      return;
-    }
-
-    if (!this.update.appVersion ||
-        Services.vc.compare(this.update.appVersion, Services.appinfo.version) == 0) {
-      aCallback(false);
-      return;
-    }
-
-    try {
-      var hotfixID = Services.prefs.getCharPref(PREF_EM_HOTFIX_ID);
-    }
-    catch (e) { }
-
-    var self = this;
-    AddonManager.getAllAddons(function(addons) {
-      self.addons = [];
-      addons.forEach(function(addon) {
-        // Protect against code that overrides the add-ons manager and doesn't
-        // implement the isCompatibleWith or the findUpdates method.
-        if (!("isCompatibleWith" in addon) || !("findUpdates" in addon)) {
-          let errMsg = "Add-on doesn't implement either the isCompatibleWith " +
-                       "or the findUpdates method!";
-          if (addon.id)
-            errMsg += " Add-on ID: " + addon.id;
-          CoU.reportError(errMsg);
-          return;
-        }
-
-        // If an add-on isn't appDisabled and isn't userDisabled then it is
-        // either active now or the user expects it to be active after the
-        // restart. If that is the case and the add-on is not installed by the
-        // application and is not compatible with the new application version
-        // then the user should be warned that the add-on will become
-        // incompatible. If an addon's type equals plugin it is skipped since
-        // checking plugins compatibility information isn't supported and
-        // getting the scope property of a plugin breaks in some environments
-        // (see bug 566787). The hotfix add-on is also ignored as it shouldn't
-        // block the user from upgrading.
-        try {
-          if (addon.type != "plugin" && addon.id != hotfixID &&
-              !addon.appDisabled && !addon.userDisabled &&
-              addon.scope != AddonManager.SCOPE_APPLICATION &&
-              addon.isCompatible &&
-              !addon.isCompatibleWith(self.update.appVersion,
-                                      self.update.platformVersion))
-            self.addons.push(addon);
-        }
-        catch (e) {
-          CoU.reportError(e);
-        }
-      });
-
-      aCallback(self.addons.length != 0);
-    });
-  },
-
   /**
    * Returns the string page ID for the appropriate updates found page based
    * on the update's metadata.
    */
   get updatesFoundPageId() {
     if (gUpdatesFoundPageId)
       return gUpdatesFoundPageId;
     return gUpdatesFoundPageId = this.update.billboardURL ? "updatesfoundbillboard"
@@ -680,26 +599,17 @@ var gCheckingPage = {
         }
 
         if (gUpdates.update.licenseURL) {
           // gUpdates.updatesFoundPageId returns the pageid and not the
           // element's id so use the wizard's getPageById method.
           gUpdates.wiz.getPageById(gUpdates.updatesFoundPageId).setAttribute("next", "license");
         }
 
-        gUpdates.getShouldCheckAddonCompatibility(function(shouldCheck) {
-          if (shouldCheck) {
-            var incompatCheckPage = document.getElementById("incompatibleCheck");
-            incompatCheckPage.setAttribute("next", gUpdates.updatesFoundPageId);
-            gUpdates.wiz.goTo("incompatibleCheck");
-          }
-          else {
-            gUpdates.wiz.goTo(gUpdates.updatesFoundPageId);
-          }
-        });
+        gUpdates.wiz.goTo(gUpdates.updatesFoundPageId);
         return;
       }
 
       LOG("gCheckingPage", "onCheckComplete - no update found");
       gUpdates.wiz.goTo("noupdatesfound");
     },
 
     /**
@@ -801,112 +711,16 @@ var gNoUpdatesPage = {
     else
       document.getElementById("noUpdatesAutoDisabled").hidden = false;
 
     gUpdates.setButtons(null, null, "okButton", true);
     gUpdates.wiz.getButton("finish").focus();
   }
 };
 
-
-/**
- * The page that checks if there are any incompatible add-ons.
- */
-var gIncompatibleCheckPage = {
-  /**
-   * Count of incompatible add-ons to check for updates
-   */
-  _totalCount: 0,
-
-  /**
-   * Count of incompatible add-ons that have beend checked for updates
-   */
-  _completedCount: 0,
-
-  /**
-   * The progress bar for this page
-   */
-  _pBar: null,
-
-  /**
-   * Initialize
-   */
-  onPageShow: function() {
-    LOG("gIncompatibleCheckPage", "onPageShow - checking for updates to " +
-        "incompatible add-ons");
-
-    gUpdates.setButtons(null, null, null, false, true);
-    gUpdates.wiz.getButton("cancel").focus();
-    this._pBar = document.getElementById("incompatibleCheckProgress");
-    this._totalCount = gUpdates.addons.length;
-
-    this._pBar.mode = "normal";
-    gUpdates.addons.forEach(function(addon) {
-      addon.findUpdates(this, AddonManager.UPDATE_WHEN_NEW_APP_DETECTED,
-                        gUpdates.update.appVersion,
-                        gUpdates.update.platformVersion);
-    }, this);
-  },
-
-  // Addon UpdateListener
-  onCompatibilityUpdateAvailable: function(addon) {
-    // Remove the add-on from the list of add-ons that will become incompatible
-    // with the new version of the application.
-    for (var i = 0; i < gUpdates.addons.length; ++i) {
-      if (gUpdates.addons[i].id == addon.id) {
-        LOG("gIncompatibleCheckPage", "onCompatibilityUpdateAvailable - " +
-            "found update for add-on ID: " + addon.id);
-        gUpdates.addons.splice(i, 1);
-        break;
-      }
-    }
-  },
-
-  onUpdateAvailable: function(addon, install) {
-    // If the new version of this add-on is blocklisted for the new application
-    // then it isn't a valid update and the user should still be warned that
-    // the add-on will become incompatible.
-    let bs = CoC["@mozilla.org/extensions/blocklist;1"].
-             getService(CoI.nsIBlocklistService);
-    if (bs.isAddonBlocklisted(addon,
-                              gUpdates.update.appVersion,
-                              gUpdates.update.platformVersion))
-      return;
-
-    // Compatibility or new version updates mean the same thing here.
-    this.onCompatibilityUpdateAvailable(addon);
-  },
-
-  onUpdateFinished: function(addon) {
-    ++this._completedCount;
-    this._pBar.value = Math.ceil((this._completedCount / this._totalCount) * 100);
-
-    if (this._completedCount < this._totalCount)
-      return;
-
-    if (gUpdates.addons.length == 0) {
-      LOG("gIncompatibleCheckPage", "onUpdateFinished - updates were found " +
-          "for all incompatible add-ons");
-    }
-    else {
-      LOG("gIncompatibleCheckPage", "onUpdateFinished - there are still " +
-          "incompatible add-ons");
-      if (gUpdates.update.licenseURL) {
-        document.getElementById("license").setAttribute("next", "incompatibleList");
-      }
-      else {
-        // gUpdates.updatesFoundPageId returns the pageid and not the element's
-        // id so use the wizard's getPageById method.
-        gUpdates.wiz.getPageById(gUpdates.updatesFoundPageId).setAttribute("next", "incompatibleList");
-      }
-    }
-    gUpdates.wiz.goTo(gUpdates.updatesFoundPageId);
-  }
-};
-
 /**
  * The "Unable to Update" page. Provides the user information about why they
  * were unable to update and a manual download url.
  */
 var gManualUpdatePage = {
   onPageShow: function() {
     var manualURL = Services.urlFormatter.formatURLPref(PREF_APP_UPDATE_URL_MANUAL);
     var manualUpdateLinkLabel = document.getElementById("manualUpdateLinkLabel");
@@ -1201,55 +1015,16 @@ var gLicensePage = {
     catch (e) {
       LOG("gLicensePage", "onWizardCancel - " +
           "licenseContent.stopDownloading() failed: " + e);
     }
   }
 };
 
 /**
- * The page which shows add-ons that are incompatible and do not have updated
- * compatibility information or a version update available to make them
- * compatible.
- */
-var gIncompatibleListPage = {
-  /**
-   * Initialize
-   */
-  onPageShow: function() {
-    gUpdates.setButtons("backButton", null, "okButton", true);
-    var listbox = document.getElementById("incompatibleListbox");
-    if (listbox.children.length > 0)
-      return;
-
-    var intro = gUpdates.getAUSString("incompatAddons_" + gUpdates.update.type,
-                                      [gUpdates.brandName,
-                                       gUpdates.update.displayVersion]);
-    document.getElementById("incompatibleListDesc").textContent = intro;
-
-    var addons = gUpdates.addons;
-    for (var i = 0; i < addons.length; ++i) {
-      var listitem = document.createElement("listitem");
-      var addonLabel = gUpdates.getAUSString("addonLabel", [addons[i].name,
-                                                            addons[i].version]);
-      listitem.setAttribute("label", addonLabel);
-      listbox.appendChild(listitem);
-    }
-  },
-
-  /**
-   * The non-standard "Back" button.
-   */
-  onExtra1: function() {
-    gUpdates.wiz.goTo(gUpdates.update.licenseURL ? "license"
-                                                 : gUpdates.updatesFoundPageId);
-  }
-};
-
-/**
  * The "Update is Downloading" page - provides feedback for the download
  * process plus a pause/resume UI
  */
 var gDownloadingPage = {
   /**
    * DOM Elements
    */
   _downloadStatus: null,
--- a/toolkit/mozapps/update/content/updates.xul
+++ b/toolkit/mozapps/update/content/updates.xul
@@ -90,27 +90,16 @@
       <description flex="1">&unsupported.label;
         <label id="unsupportedLinkLabel" class="text-link inline-link" onclick="openUpdateURL(event);">
           &unsupportedLink.label;
         </label>
       </description>
     </vbox>
   </wizardpage>
 
-  <wizardpage id="incompatibleCheck" pageid="incompatibleCheck"
-              next="updatesfoundbasic" object="gIncompatibleCheckPage"
-              onpageshow="gIncompatibleCheckPage.onPageShow();">
-    <updateheader label="&incompatibleCheck.title;"/>
-    <vbox class="update-content" flex="1">
-      <label>&incompatibleCheck.label;</label>
-      <separator class="thin"/>
-      <progressmeter id="incompatibleCheckProgress" mode="undetermined"/>
-    </vbox>
-  </wizardpage>
-
   <wizardpage id="updatesfoundbasic" pageid="updatesfoundbasic"
               object="gUpdatesFoundBasicPage" next="downloading"
               onpageshow="gUpdatesFoundBasicPage.onPageShow();"
               onextra1="gUpdatesFoundBasicPage.onExtra1();"
               onextra2="gUpdatesFoundBasicPage.onExtra2();">
     <updateheader id="updatesFoundBasicHeader" label=""/>
     <vbox class="update-content" flex="1">
       <label id="updatesFoundInto"/>
@@ -156,27 +145,16 @@
                accesskey="&license.accept.accesskey;"/>
         <radio id="decline" label="&license.decline;"
                accesskey="&license.decline.accesskey;"
                selected="true"/>
       </radiogroup>
     </vbox>
   </wizardpage>
 
-  <wizardpage id="incompatibleList" pageid="incompatibleList"
-              next="downloading" object="gIncompatibleListPage"
-              onpageshow="gIncompatibleListPage.onPageShow();"
-              onextra1="gIncompatibleListPage.onExtra1();">
-    <updateheader label="&incompatibleList.title;"/>
-    <vbox class="update-content" flex="1">
-      <label id="incompatibleListDesc"/>
-      <listbox id="incompatibleListbox" flex="1"/>
-    </vbox>
-  </wizardpage>
-
   <wizardpage id="downloading" pageid="downloading"
               object="gDownloadingPage" onextra1="gDownloadingPage.onHide();"
               onpageshow="gDownloadingPage.onPageShow();">
     <updateheader label="&downloadPage.title;"/>
     <vbox class="update-content" flex="1">
       <hbox id="downloadStatusProgress">
         <progressmeter id="downloadProgress" mode="undetermined" flex="1"/>
         <button id="pauseButton" oncommand="gDownloadingPage.onPause();"
--- a/toolkit/mozapps/update/nsUpdateService.js
+++ b/toolkit/mozapps/update/nsUpdateService.js
@@ -5,17 +5,16 @@
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 'use strict';
 
 const { classes: Cc, interfaces: Ci, results: Cr, utils: Cu } = Components;
 
 Cu.import("resource://gre/modules/XPCOMUtils.jsm", this);
 Cu.import("resource://gre/modules/FileUtils.jsm", this);
-Cu.import("resource://gre/modules/AddonManager.jsm", this);
 Cu.import("resource://gre/modules/Services.jsm", this);
 Cu.import("resource://gre/modules/ctypes.jsm", this);
 Cu.import("resource://gre/modules/UpdateTelemetry.jsm", this);
 Cu.import("resource://gre/modules/AppConstants.jsm", this);
 
 const UPDATESERVICE_CID = Components.ID("{B3C290A6-3943-4B89-8BBE-C01EB7B3B311}");
 const UPDATESERVICE_CONTRACTID = "@mozilla.org/updates/update-service;1";
 
@@ -30,39 +29,35 @@ const PREF_APP_UPDATE_CERTS_BRANCH      
 const PREF_APP_UPDATE_CERT_CHECKATTRS      = "app.update.cert.checkAttributes";
 const PREF_APP_UPDATE_CERT_ERRORS          = "app.update.cert.errors";
 const PREF_APP_UPDATE_CERT_MAXERRORS       = "app.update.cert.maxErrors";
 const PREF_APP_UPDATE_CERT_REQUIREBUILTIN  = "app.update.cert.requireBuiltIn";
 const PREF_APP_UPDATE_ELEVATE_NEVER        = "app.update.elevate.never";
 const PREF_APP_UPDATE_ELEVATE_VERSION      = "app.update.elevate.version";
 const PREF_APP_UPDATE_ENABLED              = "app.update.enabled";
 const PREF_APP_UPDATE_IDLETIME             = "app.update.idletime";
-const PREF_APP_UPDATE_INCOMPATIBLE_MODE    = "app.update.incompatible.mode";
 const PREF_APP_UPDATE_INTERVAL             = "app.update.interval";
 const PREF_APP_UPDATE_LOG                  = "app.update.log";
 const PREF_APP_UPDATE_MAX_OSX_CANCELATIONS = "app.update.cancelations.osx.max";
-const PREF_APP_UPDATE_MODE                 = "app.update.mode";
 const PREF_APP_UPDATE_NEVER_BRANCH         = "app.update.never.";
 const PREF_APP_UPDATE_NOTIFIEDUNSUPPORTED  = "app.update.notifiedUnsupported";
 const PREF_APP_UPDATE_POSTUPDATE           = "app.update.postupdate";
 const PREF_APP_UPDATE_PROMPTWAITTIME       = "app.update.promptWaitTime";
 const PREF_APP_UPDATE_SHOW_INSTALLED_UI    = "app.update.showInstalledUI";
 const PREF_APP_UPDATE_SILENT               = "app.update.silent";
 const PREF_APP_UPDATE_STAGING_ENABLED      = "app.update.staging.enabled";
 const PREF_APP_UPDATE_URL                  = "app.update.url";
 const PREF_APP_UPDATE_URL_DETAILS          = "app.update.url.details";
 const PREF_APP_UPDATE_URL_OVERRIDE         = "app.update.url.override";
 const PREF_APP_UPDATE_SERVICE_ENABLED      = "app.update.service.enabled";
 const PREF_APP_UPDATE_SERVICE_ERRORS       = "app.update.service.errors";
 const PREF_APP_UPDATE_SERVICE_MAX_ERRORS   = "app.update.service.maxErrors";
 const PREF_APP_UPDATE_SOCKET_ERRORS        = "app.update.socket.maxErrors";
 const PREF_APP_UPDATE_RETRY_TIMEOUT        = "app.update.socket.retryTimeout";
 
-const PREF_EM_HOTFIX_ID                    = "extensions.hotfix.id";
-
 const URI_UPDATE_PROMPT_DIALOG  = "chrome://mozapps/content/update/updates.xul";
 const URI_UPDATE_HISTORY_DIALOG = "chrome://mozapps/content/update/history.xul";
 const URI_BRAND_PROPERTIES      = "chrome://branding/locale/brand.properties";
 const URI_UPDATES_PROPERTIES    = "chrome://mozapps/locale/update/updates.properties";
 const URI_UPDATE_NS             = "http://www.mozilla.org/2005/app-update";
 
 const KEY_GRED            = "GreD";
 const KEY_UPDROOT         = "UpdRootD";
@@ -1937,21 +1932,16 @@ function UpdateService() {
 UpdateService.prototype = {
   /**
    * The downloader we are using to download updates. There is only ever one of
    * these.
    */
   _downloader: null,
 
   /**
-   * Incompatible add-on count.
-   */
-  _incompatAddonsCount: 0,
-
-  /**
    * Whether or not the service registered the "online" observer.
    */
   _registeredOnlineObserver: false,
 
   /**
    * The current number of consecutive socket errors
    */
   _consecutiveSocketErrors: 0,
@@ -2626,22 +2616,16 @@ UpdateService.prototype = {
     } else if (!update) {
       AUSTLMY.pingCheckCode(this._pingSuffix, lastCheckCode);
     }
 
     return update;
   },
 
   /**
-   * Reference to the currently selected update for when add-on compatibility
-   * is checked.
-   */
-  _update: null,
-
-  /**
    * Determine which of the specified updates should be installed and begin the
    * download/installation process or notify the user about the update.
    * @param   updates
    *          An array of available updates
    */
   _selectAndInstallUpdate: function AUS__selectAndInstallUpdate(updates) {
     // Return early if there's an active update. The user is already aware and
     // is downloading or performed some user action to prevent notification.
@@ -2694,32 +2678,22 @@ UpdateService.prototype = {
      * From this point on there are two possible outcomes:
      * 1. download and install the update automatically
      * 2. notify the user about the availability of an update
      *
      * Notes:
      * a) if the app.update.auto preference is false then automatic download and
      *    install is disabled and the user will be notified.
      * b) if the update has a showPrompt attribute the user will be notified.
-     * c) Mode is determined by the value of the app.update.mode preference.
-     *
-     * If the update when it is first read has an appVersion attribute the
-     * following behavior implemented in bug 530872 will occur:
-     * Mode   Incompatible Add-ons   Outcome
-     * 0      N/A                    Auto Install
-     * 1      Yes                    Notify
-     * 1      No                     Auto Install
      *
      * If the update when it is first read does not have an appVersion attribute
      * the following deprecated behavior will occur:
-     * Update Type   Mode   Incompatible Add-ons   Outcome
-     * Major         all    N/A                    Notify
-     * Minor         0      N/A                    Auto Install
-     * Minor         1      Yes                    Notify
-     * Minor         1      No                     Auto Install
+     * Update Type   Outcome
+     * Major         Notify
+     * Minor         Auto Install
      */
     if (update.showPrompt) {
       LOG("UpdateService:_selectAndInstallUpdate - prompting because the " +
           "update snippet specified showPrompt");
       AUSTLMY.pingCheckCode(this._pingSuffix, AUSTLMY.CHK_SHOWPROMPT_SNIPPET);
       this._showPrompt(update);
       return;
     }
@@ -2727,198 +2701,30 @@ UpdateService.prototype = {
     if (!getPref("getBoolPref", PREF_APP_UPDATE_AUTO, true)) {
       LOG("UpdateService:_selectAndInstallUpdate - prompting because silent " +
           "install is disabled");
       AUSTLMY.pingCheckCode(this._pingSuffix, AUSTLMY.CHK_SHOWPROMPT_PREF);
       this._showPrompt(update);
       return;
     }
 
-    if (getPref("getIntPref", PREF_APP_UPDATE_MODE, 1) == 0) {
-      // Do not prompt regardless of add-on incompatibilities
-      LOG("UpdateService:_selectAndInstallUpdate - add-on compatibility " +
-          "check disabled by preference, just download the update");
-      let status = this.downloadUpdate(update, true);
-      if (status == STATE_NONE) {
-        cleanupActiveUpdate();
-      }
-      AUSTLMY.pingCheckCode(this._pingSuffix, AUSTLMY.CHK_ADDON_PREF_DISABLED);
-      return;
+    LOG("UpdateService:_selectAndInstallUpdate - download the update");
+    let status = this.downloadUpdate(update, true);
+    if (status == STATE_NONE) {
+      cleanupActiveUpdate();
     }
-
-    // Only check add-on compatibility when the version changes.
-    if (update.appVersion &&
-        Services.vc.compare(update.appVersion, Services.appinfo.version) != 0) {
-      this._update = update;
-      this._checkAddonCompatibility();
-    }
-    else {
-      LOG("UpdateService:_selectAndInstallUpdate - add-on compatibility " +
-          "check not performed due to the update version being the same as " +
-          "the current application version, just download the update");
-      let status = this.downloadUpdate(update, true);
-      if (status == STATE_NONE) {
-        cleanupActiveUpdate();
-      }
-      AUSTLMY.pingCheckCode(this._pingSuffix,AUSTLMY.CHK_ADDON_SAME_APP_VER);
-    }
+    AUSTLMY.pingCheckCode(this._pingSuffix,AUSTLMY.CHK_DOWNLOAD_UPDATE);
   },
 
   _showPrompt: function AUS__showPrompt(update) {
     let prompter = Cc["@mozilla.org/updates/update-prompt;1"].
                    createInstance(Ci.nsIUpdatePrompt);
     prompter.showUpdateAvailable(update);
   },
 
-  _checkAddonCompatibility: function AUS__checkAddonCompatibility() {
-    try {
-      var hotfixID = Services.prefs.getCharPref(PREF_EM_HOTFIX_ID);
-    }
-    catch (e) { }
-
-    // Get all the installed add-ons
-    var self = this;
-    AddonManager.getAllAddons(function(addons) {
-      self._incompatibleAddons = [];
-      addons.forEach(function(addon) {
-        // Protect against code that overrides the add-ons manager and doesn't
-        // implement the isCompatibleWith or the findUpdates method.
-        if (!("isCompatibleWith" in addon) || !("findUpdates" in addon)) {
-          let errMsg = "Add-on doesn't implement either the isCompatibleWith " +
-                       "or the findUpdates method!";
-          if (addon.id) {
-            errMsg += " Add-on ID: " + addon.id;
-          }
-          Cu.reportError(errMsg);
-          return;
-        }
-
-        // If an add-on isn't appDisabled and isn't userDisabled then it is
-        // either active now or the user expects it to be active after the
-        // restart. If that is the case and the add-on is not installed by the
-        // application and is not compatible with the new application version
-        // then the user should be warned that the add-on will become
-        // incompatible. If an addon's type equals plugin it is skipped since
-        // checking plugins compatibility information isn't supported and
-        // getting the scope property of a plugin breaks in some environments
-        // (see bug 566787). The hotfix add-on is also ignored as it shouldn't
-        // block the user from upgrading.
-        try {
-          if (addon.type != "plugin" && addon.id != hotfixID &&
-              !addon.appDisabled && !addon.userDisabled &&
-              addon.scope != AddonManager.SCOPE_APPLICATION &&
-              addon.isCompatible &&
-              !addon.isCompatibleWith(self._update.appVersion,
-                                      self._update.platformVersion)) {
-            self._incompatibleAddons.push(addon);
-          }
-        } catch (e) {
-          Cu.reportError(e);
-        }
-      });
-
-      if (self._incompatibleAddons.length > 0) {
-      /**
-       * PREF_APP_UPDATE_INCOMPATIBLE_MODE
-       * Controls the mode in which we check for updates as follows.
-       *
-       *   PREF_APP_UPDATE_INCOMPATIBLE_MODE != 1
-       *   We check for VersionInfo _and_ NewerVersion updates for the
-       *   incompatible add-ons - i.e. if Foo 1.2 is installed and it is
-       *   incompatible with the update, and we find Foo 2.0 which is but has
-       *   not been installed, then we do NOT prompt because the user can
-       *   download Foo 2.0 when they restart after the update during the add-on
-       *   mismatch checking UI. This is the default, since it suppresses most
-       *   prompt dialogs.
-       *
-       *   PREF_APP_UPDATE_INCOMPATIBLE_MODE == 1
-       *   We check for VersionInfo updates for the incompatible add-ons - i.e.
-       *   if the situation above with Foo 1.2 and available update to 2.0
-       *   applies, we DO show the prompt since a download operation will be
-       *   required after the update. This is not the default and is supplied
-       *   only as a hidden option for those that want it.
-       */
-        self._updateCheckCount = self._incompatibleAddons.length;
-        LOG("UpdateService:_checkAddonCompatibility - checking for " +
-            "incompatible add-ons");
-
-        self._incompatibleAddons.forEach(function(addon) {
-          addon.findUpdates(this, AddonManager.UPDATE_WHEN_NEW_APP_DETECTED,
-                            this._update.appVersion, this._update.platformVersion);
-        }, self);
-      }
-      else {
-        LOG("UpdateService:_checkAddonCompatibility - no incompatible " +
-            "add-ons found, just download the update");
-        var status = self.downloadUpdate(self._update, true);
-        if (status == STATE_NONE)
-          cleanupActiveUpdate();
-        self._update = null;
-        AUSTLMY.pingCheckCode(self._pingSuffix, AUSTLMY.CHK_ADDON_NO_INCOMPAT);
-      }
-    });
-  },
-
-  // AddonUpdateListener
-  onCompatibilityUpdateAvailable: function(addon) {
-    // Remove the add-on from the list of add-ons that will become incompatible
-    // with the new version of the application.
-    for (var i = 0; i < this._incompatibleAddons.length; ++i) {
-      if (this._incompatibleAddons[i].id == addon.id) {
-        LOG("UpdateService:onCompatibilityUpdateAvailable - found update for " +
-            "add-on ID: " + addon.id);
-        this._incompatibleAddons.splice(i, 1);
-      }
-    }
-  },
-
-  onUpdateAvailable: function(addon, install) {
-    if (getPref("getIntPref", PREF_APP_UPDATE_INCOMPATIBLE_MODE, 0) == 1) {
-      return;
-    }
-
-    // If the new version of this add-on is blocklisted for the new application
-    // then it isn't a valid update and the user should still be warned that
-    // the add-on will become incompatible.
-    if (Services.blocklist.isAddonBlocklisted(addon, this._update.appVersion,
-                                              this._update.platformVersion)) {
-      return;
-    }
-
-    // Compatibility or new version updates mean the same thing here.
-    this.onCompatibilityUpdateAvailable(addon);
-  },
-
-  onUpdateFinished: function(addon) {
-    if (--this._updateCheckCount > 0) {
-      return;
-    }
-
-    if (this._incompatibleAddons.length > 0 || !getCanApplyUpdates()) {
-      LOG("UpdateService:onUpdateEnded - prompting because there are " +
-          "incompatible add-ons");
-      if (this._incompatibleAddons.length > 0) {
-        AUSTLMY.pingCheckCode(this._pingSuffix,
-                              AUSTLMY.CHK_ADDON_HAVE_INCOMPAT);
-      } else {
-        AUSTLMY.pingCheckCode(this._pingSuffix, AUSTLMY.CHK_UNABLE_TO_APPLY);
-      }
-      this._showPrompt(this._update);
-    } else {
-      LOG("UpdateService:_selectAndInstallUpdate - updates for all " +
-          "incompatible add-ons found, just download the update");
-      var status = this.downloadUpdate(this._update, true);
-      if (status == STATE_NONE)
-        cleanupActiveUpdate();
-      AUSTLMY.pingCheckCode(this._pingSuffix,
-                            AUSTLMY.CHK_ADDON_UPDATES_FOR_INCOMPAT);
-    }
-    this._update = null;
-  },
-
   /**
    * The Checker used for background update checks.
    */
   _backgroundChecker: null,
 
   /**
    * See nsIUpdateService.idl
    */
--- a/toolkit/mozapps/update/tests/chrome/chrome.ini
+++ b/toolkit/mozapps/update/tests/chrome/chrome.ini
@@ -8,41 +8,25 @@ skip-if = (buildapp == 'b2g' || buildapp
 support-files =
   utils.js
   update.sjs
 
 ; mochitest-chrome tests must start with "test_" and are executed in sorted
 ; order and not in the order specified in the manifest.
 [test_0011_check_basic.xul]
 [test_0012_check_basic_license.xul]
-[test_0013_check_incompat_basic.xul]
-[test_0014_check_incompat_basic_license.xul]
-[test_0015_check_incompat_basic_addons.xul]
-[test_0016_check_incompat_basic_license_addons.xul]
 [test_0017_check_staging_basic.xul]
 skip-if = asan
 reason = Bug 1168003
 [test_0021_check_billboard.xul]
 [test_0022_check_billboard_license.xul]
-[test_0023_check_incompat_billboard.xul]
-[test_0024_check_incompat_billboard_license.xul]
-[test_0025_check_incompat_billboard_addons.xul]
-[test_0026_check_incompat_billboard_license_addons.xul]
 [test_0031_available_basic.xul]
 [test_0032_available_basic_license.xul]
-[test_0033_available_incompat_basic.xul]
-[test_0034_available_incompat_basic_license.xul]
-[test_0035_available_incompat_basic_addons.xul]
-[test_0036_available_incompat_basic_license_addons.xul]
 [test_0041_available_billboard.xul]
 [test_0042_available_billboard_license.xul]
-[test_0043_available_incompat_billboard.xul]
-[test_0044_available_incompat_billboard_license.xul]
-[test_0045_available_incompat_billboard_addons.xul]
-[test_0046_available_incompat_billboard_license_addons.xul]
 [test_0051_check_error_xml_malformed.xul]
 [test_0052_check_no_updates.xul]
 [test_0053_check_billboard_license_noAttr.xul]
 [test_0054_check_billboard_license_404.xul]
 [test_0061_check_verifyFailPartial_noComplete.xul]
 [test_0062_check_verifyFailComplete_noPartial.xul]
 [test_0063_check_verifyFailPartialComplete.xul]
 [test_0064_check_verifyFailPartial_successComplete.xul]
@@ -67,18 +51,16 @@ skip-if = os != 'win'
 reason = only Windows has the maintenance service.
 [test_0101_background_restartNotification.xul]
 [test_0102_background_restartNotification_staging.xul]
 skip-if = asan
 reason = Bug 1168003
 [test_0103_background_restartNotification_stagingService.xul]
 skip-if = os != 'win'
 reason = only Windows has the maintenance service.
-[test_0104_background_restartNotification_NoIncompatAddons.xul]
-[test_0105_background_restartNotification_VersionCompatAddons.xul]
 [test_0111_neverButton_basic.xul]
 [test_0112_neverButton_billboard.xul]
 [test_0113_showNeverForVersionRemovedWithPref.xul]
 [test_0121_check_requireBuiltinCert.xul]
 [test_0122_check_allowNonBuiltinCert_validCertAttrs.xul]
 [test_0123_check_allowNonBuiltinCert_noCertAttrsCheck.xul]
 [test_0131_check_invalidCertAttrs_noUpdate.xul]
 [test_0132_check_invalidCertAttrs_hasUpdate.xul]
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0013_check_incompat_basic.xul
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: update check, add-ons check, basic, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_CHECKING
-}, {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-gDisableNoUpdateAddon = true;
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gUP.checkForUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0014_check_incompat_basic_license.xul
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: update check, add-ons check, basic, license, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_CHECKING
-}, {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_LICENSE,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "decline"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-gDisableNoUpdateAddon = true;
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showLicense=1&showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gUP.checkForUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0015_check_incompat_basic_addons.xul
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: update check, add-ons check, basic, add-ons list, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_CHECKING
-}, {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gUP.checkForUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0016_check_incompat_basic_license_addons.xul
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: update check, add-ons check, basic, license, add-ons list, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_CHECKING
-}, {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_LICENSE,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_LICENSE,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "decline"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showLicense=1&showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gUP.checkForUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0023_check_incompat_billboard.xul
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: update check, add-ons check, billboard, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_CHECKING
-}, {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-gDisableNoUpdateAddon = true;
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showBillboard=1&showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gUP.checkForUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0024_check_incompat_billboard_license.xul
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: update check, add-ons check, billboard, license, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_CHECKING
-}, {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_LICENSE,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "decline"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-gDisableNoUpdateAddon = true;
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showBillboard=1&showLicense=1&showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gUP.checkForUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0025_check_incompat_billboard_addons.xul
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: update check, add-ons check, billboard, add-ons list, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_CHECKING
-}, {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showBillboard=1&showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gUP.checkForUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0026_check_incompat_billboard_license_addons.xul
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: update check, add-ons check, billboard, license, add-ons list, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_CHECKING
-}, {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_LICENSE,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_LICENSE,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "decline"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showBillboard=1&showLicense=1&showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gUP.checkForUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0033_available_incompat_basic.xul
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: add-ons check, basic, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-gDisableNoUpdateAddon = true;
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showDetails=1&showPrompt=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gAUS.checkForBackgroundUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0034_available_incompat_basic_license.xul
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: add-ons check, basic, license, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_LICENSE,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "decline"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-gDisableNoUpdateAddon = true;
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showLicense=1&showDetails=1&showPrompt=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gAUS.checkForBackgroundUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0035_available_incompat_basic_addons.xul
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: add-ons check, basic, add-ons list, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showDetails=1&showPrompt=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gAUS.checkForBackgroundUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0036_available_incompat_basic_license_addons.xul
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: add-ons check, basic, license, add-ons list, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_LICENSE,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_LICENSE,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BASIC,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "decline"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showLicense=1&showDetails=1&showPrompt=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gAUS.checkForBackgroundUpdates();
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0043_available_incompat_billboard.xul
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: add-ons check, billboard, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-gDisableNoUpdateAddon = true;
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showBillboard=1&showPrompt=1&showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gAUS.notify(null);
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0044_available_incompat_billboard_license.xul
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: add-ons check, billboard, license, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_LICENSE,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "decline"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-gDisableNoUpdateAddon = true;
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showBillboard=1&showLicense=1" +
-            "&showDetails=1&showPrompt=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gAUS.notify(null);
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0045_available_incompat_billboard_addons.xul
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: add-ons check, billboard, add-ons list, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showBillboard=1&showDetails=1&showPrompt=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gAUS.notify(null);
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0046_available_incompat_billboard_license_addons.xul
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: add-ons check, billboard, license, add-ons list, download, and finished"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_INCOMPAT_CHECK
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loading",
-  extraDelayedFinishFunction: addRemoteContentLoadListener
-}, {
-  pageid: PAGEID_LICENSE,
-  extraStartFunction: waitForRemoteContentLoaded,
-  expectedRemoteContentState: "loaded",
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_LICENSE,
-  buttonClick: "extra1"
-}, {
-  pageid: PAGEID_FOUND_BILLBOARD,
-  extraCheckFunction: checkRemoteContentState,
-  expectedRemoteContentState: "loaded",
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "decline"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 1,
-  extraDelayedFinishFunction: addRadioGroupSelectListenerAndClick,
-  radioClick: "accept"
-}, {
-  pageid: PAGEID_LICENSE,
-  extraCheckFunction: checkRadioGroupSelectedIndex,
-  expectedRadioGroupSelectedIndex: 0,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_INCOMPAT_LIST,
-  extraDelayedCheckFunction: checkIncompatbleList,
-  buttonClick: "next"
-}, {
-  pageid: PAGEID_DOWNLOADING
-}, {
-  pageid: PAGEID_FINISHED,
-  buttonClick: "extra1"
-} ];
-
-function runTest() {
-  debugDump("entering");
-
-  let url = URL_HTTP_UPDATE_XML + "?showBillboard=1&showLicense=1" +
-            "&showDetails=1&showPrompt=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gAUS.notify(null);
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0104_background_restartNotification_NoIncompatAddons.xul
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: background finish with a background download"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_FINISHED_BKGRD,
-  buttonClick: "extra1"
-} ];
-
-gDisableNoUpdateAddon = true;
-gDisableUpdateCompatibilityAddon = true;
-gDisableUpdateVersionAddon = true;
-
-function runTest() {
-  debugDump("entering");
-
-  Services.prefs.setIntPref(PREF_APP_UPDATE_PROMPTWAITTIME, 1);
-
-  let url = URL_HTTP_UPDATE_XML + "?showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gAUS.notify(null);
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0105_background_restartNotification_VersionCompatAddons.xul
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
--->
-
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Update Wizard pages: background finish with a background download"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        onload="runTestDefault();">
-<script type="application/javascript"
-        src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-<script type="application/javascript"
-        src="utils.js"/>
-
-<script type="application/javascript">
-<![CDATA[
-
-const TESTS = [ {
-  pageid: PAGEID_FINISHED_BKGRD,
-  buttonClick: "extra1"
-} ];
-
-gDisableNoUpdateAddon = true;
-gDisableUpdateCompatibilityAddon = true;
-
-function runTest() {
-  debugDump("entering");
-
-  Services.prefs.setIntPref(PREF_APP_UPDATE_PROMPTWAITTIME, 1);
-
-  let url = URL_HTTP_UPDATE_XML + "?showDetails=1" +
-            getVersionParams(getNewerAppVersion(), getNewerPlatformVersion());
-  setUpdateURLOverride(url);
-
-  gAUS.notify(null);
-}
-
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-  <p id="display"></p>
-  <div id="content" style="display: none"></div>
-  <pre id="test"></pre>
-</body>
-</window>
--- a/toolkit/mozapps/update/tests/chrome/test_9999_cleanup.xul
+++ b/toolkit/mozapps/update/tests/chrome/test_9999_cleanup.xul
@@ -62,32 +62,17 @@ function runTest() {
   file = dir.clone();
   file.append(FILE_UPDATE_STATUS);
   ok(!file.exists(), file.path + " should not exist");
 
   file = dir.clone();
   file.append(FILE_UPDATE_ARCHIVE);
   ok(!file.exists(), file.path + " should not exist");
 
-  resetAddons(() => {
-    let addonPrepDir = Services.dirsvc.get(NS_APP_USER_PROFILE_50_DIR,
-                                           Ci.nsILocalFile);
-    addonPrepDir.append(ADDON_PREP_DIR);
-    // Not being able to remove the directory used to create the test add-ons
-    // will not adversely affect subsequent tests so wrap it in a try block and
-    // don't test whether its removal was successful.
-    try {
-      removeDirRecursive(addonPrepDir);
-    }
-    catch (e) {
-      logTestInfo("Unable to remove directory. Path: " + addonPrepDir.path +
-                  ", Exception: " + e);
-    }
-    cleanupRestoreUpdaterBackup();
-  });
+  cleanupRestoreUpdaterBackup();
 }
 
 /**
  * After all tests finish this will repeatedly attempt to restore the real
  * updater if it exists and then call finishTest after the restore is
  * successful.
  */
 function cleanupRestoreUpdaterBackup() {
--- a/toolkit/mozapps/update/tests/chrome/update.sjs
+++ b/toolkit/mozapps/update/tests/chrome/update.sjs
@@ -47,21 +47,16 @@ function handleRequest(aRequest, aRespon
     params = parseQueryString(aRequest.queryString);
   }
 
   let statusCode = params.statusCode ? parseInt(params.statusCode) : 200;
   let statusReason = params.statusReason ? params.statusReason : "OK";
   aResponse.setStatusLine(aRequest.httpVersion, statusCode, statusReason);
   aResponse.setHeader("Cache-Control", "no-cache", false);
   
-  if (params.addonID) {
-    aResponse.write(getUpdateRDF(params));
-    return;
-  }
-
   // When a mar download is started by the update service it can finish
   // downloading before the ui has loaded. By specifying a serviceURL for the
   // update patch that points to this file and has a slowDownloadMar param the
   // mar will be downloaded asynchronously which will allow the ui to load
   // before the download completes.
   if (params.slowDownloadMar) {
     aResponse.processAsync();
     aResponse.setHeader("Content-Type", "binary/octet-stream");
@@ -204,75 +199,16 @@ function parseQueryString(aQueryString) 
     }
     params[decodeURIComponent(match[1])] = decodeURIComponent(match[2]);
   }
 
   return params;
 }
 
 /**
- * Helper function to gets the string representation of the contents of the
- * add-on's update manifest file.
- *
- * @param  aParams
- *         A JS object representing the url parameters from the request's
- *         queryString.
- * @return A string representation of the contents of the add-on's update
- *         manifest file.
- */
-function getUpdateRDF(aParams) {
-  let addonVersion;
-  let maxVersion;
-  let addonID = aParams.addonID;
-  let addonUpdateType = addonID.split("_")[0];
-
-  switch (addonUpdateType) {
-    case "updatecompatibility":
-      // Use "1.0" for the add-on version for the compatibility update case since
-      // the tests create all add-ons with "1.0" for the version.
-      addonVersion = "1.0";
-      maxVersion = aParams.newerPlatformVersion;
-      break;
-    case "updateversion":
-      // Use "2.0" for the add-on version for the version update case since the
-      // tests create all add-ons with "1.0" for the version.
-      addonVersion = "2.0";
-      maxVersion = aParams.newerPlatformVersion;
-      break;
-    default:
-      addonVersion = "1.0";
-      maxVersion = aParams.platformVersion;
-  }
-
-  return "<?xml version=\"1.0\"?>\n" +
-         "<RDF:RDF xmlns:RDF=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" " +
-         "         xmlns:em=\"http://www.mozilla.org/2004/em-rdf#\">\n" +
-         "  <RDF:Description about=\"urn:mozilla:extension:" + addonID + "\">\n" +
-         "    <em:updates>\n" +
-         "      <RDF:Seq>\n" +
-         "        <RDF:li resource=\"urn:mozilla:extension:" + addonID + ":" + addonVersion + "\"/>\n" +
-         "      </RDF:Seq>\n" +
-         "    </em:updates>\n" +
-         "  </RDF:Description>\n" +
-         "  <RDF:Description about=\"urn:mozilla:extension:" + addonID + ":" + addonVersion + "\">\n" +
-         "    <em:version>" + addonVersion + "</em:version>\n" +
-         "    <em:targetApplication>\n" +
-         "      <RDF:Description>\n" +
-         "        <em:id>toolkit@mozilla.org</em:id>\n" +
-         "        <em:minVersion>0</em:minVersion>\n" +
-         "        <em:maxVersion>" + maxVersion + "</em:maxVersion>\n" +
-         "        <em:updateLink>" + URL_HTTP_UPDATE_SJS + "</em:updateLink>\n" +
-         "        <em:updateHash>sha256:0</em:updateHash>\n" + 
-         "      </RDF:Description>\n" +
-         "    </em:targetApplication>\n" +
-         "  </RDF:Description>\n" +
-         "</RDF:RDF>\n";
-}
-
-/**
  * Reads the binary contents of a file and returns it as a string.
  *
  * @param  aFile
  *         The file to read from.
  * @return The contents of the file as a string.
  */
 function readFileBytes(aFile) {
   let fis = Cc["@mozilla.org/network/file-input-stream;1"].
--- a/toolkit/mozapps/update/tests/chrome/utils.js
+++ b/toolkit/mozapps/update/tests/chrome/utils.js
@@ -70,85 +70,39 @@
  *   For comparing the expected selectedIndex attribute value of the wizard's
  *   license page radiogroup selectedIndex attribute in the
  *   checkRadioGroupSelectedIndex function.
  *
  * expectedRemoteContentState (optional)
  *   For comparing the expected remotecontent state attribute value of the
  *   wizard's billboard and license pages in the checkRemoteContentState and
  *   waitForRemoteContentLoaded functions.
- *
- *
- * Test Add-ons
- *
- * All tests include the test add-ons specified in the TEST_ADDONS array and
- * the only thing that can be configured is whether the noupdate test add-on is
- * disabled (see below). The add-on names are in the format of typename_X where
- * X is a number to make the add-on ID unique and typename is one of the values
- * specified below:
- *
- * appdisabled
- *   disabled by the application due to being incompatible with the current
- *   toolkit version.
- *
- * compatible
- *   compatible with the current toolkit version and the update's toolkit
- *   version.
- *
- * noupdate
- *   the add-on is compatible with the current toolkit version and does not have
- *   an update to make it compatible with the update's toolkit version. Tests
- *   that need to have all add-ons compatible for the application update can
- *   disable this add-on by setting the gDisableNoUpdateAddon variable to true.
- *
- * updatecompatibility
- *   the add-on is compatible with the current toolkit version and has a
- *   compatibility update to make it compatible with the update's toolkit
- *   version. Tests that need to have add-ons compatible for the application
- *   update without updating the add-on's compatibility information can disable
- *   this add-on by setting the gDisableUpdateCompatibilityAddon variable to
- *   true.
- *
- * updateversion
- *   the add-on is compatible with the current toolkit version and has a version
- *   update to make it compatible with the update's toolkit version. Tests that
- *   need to have add-ons compatible for the application update without updating
- *   the add-on's to a new version that is compatible can disable this add-on by
- *   setting the gDisableUpdateVersionAddon variable to true.
- *
- * userdisabled
- *   disabled by the user and compatible with the current toolkit version but
- *   not the update's toolkit version. This add-on will be disabled after its
- *   install completes.
  */
 
 'use strict';
 
 const { classes: Cc, interfaces: Ci, manager: Cm, results: Cr,
         utils: Cu } = Components;
 
-Cu.import("resource://gre/modules/AddonManager.jsm", this);
 Cu.import("resource://gre/modules/Services.jsm", this);
 
 const IS_MACOSX = ("nsILocalFileMac" in Ci);
 const IS_WIN = ("@mozilla.org/windows-registry-key;1" in Cc);
 
 // The tests have to use the pageid instead of the pageIndex due to the
 // app update wizard's access method being random.
 const PAGEID_DUMMY            = "dummy";                 // Done
 const PAGEID_CHECKING         = "checking";              // Done
 const PAGEID_PLUGIN_UPDATES   = "pluginupdatesfound";
 const PAGEID_NO_UPDATES_FOUND = "noupdatesfound";        // Done
 const PAGEID_MANUAL_UPDATE    = "manualUpdate";          // Done
 const PAGEID_UNSUPPORTED      = "unsupported";           // Done
-const PAGEID_INCOMPAT_CHECK   = "incompatibleCheck";     // Done
 const PAGEID_FOUND_BASIC      = "updatesfoundbasic";     // Done
 const PAGEID_FOUND_BILLBOARD  = "updatesfoundbillboard"; // Done
 const PAGEID_LICENSE          = "license";               // Done
-const PAGEID_INCOMPAT_LIST    = "incompatibleList";      // Done
 const PAGEID_DOWNLOADING      = "downloading";           // Done
 const PAGEID_ERRORS           = "errors";                // Done
 const PAGEID_ERROR_EXTRA      = "errorextra";            // Done
 const PAGEID_ERROR_PATCHING   = "errorpatching";         // Done
 const PAGEID_FINISHED         = "finished";              // Done
 const PAGEID_FINISHED_BKGRD   = "finishedBackground";    // Done
 const PAGEID_INSTALLED        = "installed";             // Done
 
@@ -160,33 +114,19 @@ const REL_PATH_DATA = "chrome/toolkit/mo
 
 // These two URLs must not contain parameters since tests add their own
 // test specific parameters.
 const URL_HTTP_UPDATE_XML = URL_HOST + URL_PATH_UPDATE_XML;
 const URL_HTTPS_UPDATE_XML = "https://example.com" + URL_PATH_UPDATE_XML;
 
 const URI_UPDATE_PROMPT_DIALOG  = "chrome://mozapps/content/update/updates.xul";
 
-const ADDON_ID_SUFFIX = "@appupdatetest.mozilla.org";
-const ADDON_PREP_DIR = "appupdateprep";
-
 const PREF_APP_UPDATE_INTERVAL = "app.update.interval";
 const PREF_APP_UPDATE_LASTUPDATETIME = "app.update.lastUpdateTime.background-update-timer";
 
-// Preference for storing add-ons that are disabled by the tests to prevent them
-// from interefering with the tests.
-const PREF_DISABLEDADDONS = "app.update.test.disabledAddons";
-const PREF_EM_HOTFIX_ID = "extensions.hotfix.id";
-const TEST_ADDONS = [ "appdisabled_1", "appdisabled_2",
-                      "compatible_1", "compatible_2",
-                      "noupdate_1", "noupdate_2",
-                      "updatecompatibility_1", "updatecompatibility_2",
-                      "updateversion_1", "updateversion_2",
-                      "userdisabled_1", "userdisabled_2", "hotfix" ];
-
 const LOG_FUNCTION = info;
 
 const BIN_SUFFIX = (IS_WIN ? ".exe" : "");
 const FILE_UPDATER_BIN = "updater" + (IS_MACOSX ? ".app" : BIN_SUFFIX);
 const FILE_UPDATER_BIN_BAK = FILE_UPDATER_BIN + ".bak";
 
 var gURLData = URL_HOST + "/" + REL_PATH_DATA + "/";
 
@@ -202,31 +142,27 @@ var gCloseWindowTimeoutCounter = 0;
 
 // The following vars are for restoring previous preference values (if present)
 // when the test finishes.
 var gAppUpdateEnabled;            // app.update.enabled
 var gAppUpdateServiceEnabled;     // app.update.service.enabled
 var gAppUpdateStagingEnabled;     // app.update.staging.enabled
 var gAppUpdateURLDefault;         // app.update.url (default prefbranch)
 var gAppUpdateURL;                // app.update.url.override
-var gExtUpdateURL;                // extensions.update.url
 
 var gTestCounter = -1;
 var gWin;
 var gDocElem;
 var gPrefToCheck;
-var gDisableNoUpdateAddon = false;
-var gDisableUpdateCompatibilityAddon = false;
-var gDisableUpdateVersionAddon = false;
 var gUseTestUpdater = false;
 
 // Set to true to log additional information for debugging. To log additional
 // information for an individual test set DEBUG_AUS_TEST to true in the test's
 // onload function.
-var DEBUG_AUS_TEST = false;
+var DEBUG_AUS_TEST = true;
 
 const DATA_URI_SPEC = "chrome://mochitests/content/chrome/toolkit/mozapps/update/tests/data/";
 Services.scriptloader.loadSubScript(DATA_URI_SPEC + "shared.js", this);
 
 /**
  * The current test in TESTS array.
  */
 this.__defineGetter__("gTest", function() {
@@ -271,23 +207,16 @@ this.__defineGetter__("gRemoteContentSta
 /**
  * The radiogroup for the license page.
  */
 this.__defineGetter__("gAcceptDeclineLicense", function() {
   return gWin.document.getElementById("acceptDeclineLicense");
 });
 
 /**
- * The listbox for the incompatibleList page.
- */
-this.__defineGetter__("gIncompatibleListbox", function() {
-  return gWin.document.getElementById("incompatibleListbox");
-});
-
-/**
  * Default test run function that can be used by most tests. This function uses
  * protective measures to prevent the test from failing provided by
  * |runTestDefaultWaitForWindowClosed| helper functions to prevent failure due
  * to a previous test failure.
  */
 function runTestDefault() {
   debugDump("entering");
 
@@ -329,17 +258,18 @@ function runTestDefaultWaitForWindowClos
 
     gCloseWindowTimeoutCounter = 0;
 
     setupFiles();
     setupPrefs();
     gEnv.set("MOZ_TEST_SKIP_UPDATE_STAGE", "1");
     removeUpdateDirsAndFiles();
     reloadUpdateManagerData();
-    setupAddons(setupTestUpdater);
+    setupTimer(gTestTimeout);
+    SimpleTest.executeSoon(setupTestUpdater);
   }
 }
 
 /**
  * Default test finish function that can be used by most tests. This function
  * uses protective measures to prevent the next test from failing provided by
  * |finishTestDefaultWaitForWindowClosed| helper functions to prevent failure
  * due to an update window being left open.
@@ -618,17 +548,16 @@ function checkButtonStates() {
 function getExpectedButtonStates() {
   // Allow individual tests to override the expected button states.
   if (gTest.buttonStates) {
     return gTest.buttonStates;
   }
 
   switch (gTest.pageid) {
     case PAGEID_CHECKING:
-    case PAGEID_INCOMPAT_CHECK:
       return { cancel: { disabled: false, hidden: false } };
     case PAGEID_FOUND_BASIC:
     case PAGEID_FOUND_BILLBOARD:
       if (gTest.neverButton) {
         return { extra1: { disabled: false, hidden: false },
                  extra2: { disabled: false, hidden: false },
                  next  : { disabled: false, hidden: false } }
       }
@@ -637,19 +566,16 @@ function getExpectedButtonStates() {
     case PAGEID_LICENSE:
       if (gRemoteContentState != "loaded" ||
           gAcceptDeclineLicense.selectedIndex != 0) {
         return { extra1: { disabled: false, hidden: false },
                  next  : { disabled: true, hidden: false } };
       }
       return { extra1: { disabled: false, hidden: false },
                next  : { disabled: false, hidden: false } };
-    case PAGEID_INCOMPAT_LIST:
-      return { extra1: { disabled: false, hidden: false },
-               next  : { disabled: false, hidden: false } };
     case PAGEID_DOWNLOADING:
       return { extra1: { disabled: false, hidden: false } };
     case PAGEID_NO_UPDATES_FOUND:
     case PAGEID_MANUAL_UPDATE:
     case PAGEID_UNSUPPORTED:
     case PAGEID_ERRORS:
     case PAGEID_ERROR_EXTRA:
     case PAGEID_INSTALLED:
@@ -766,29 +692,16 @@ function radioGroupSelectListener(aEvent
  */
 function checkRadioGroupSelectedIndex() {
   is(gAcceptDeclineLicense.selectedIndex, gTest.expectedRadioGroupSelectedIndex,
      "Checking license radiogroup selectedIndex equals " +
      gTest.expectedRadioGroupSelectedIndex);
 }
 
 /**
- * Checks that only incompatible add-ons (e.g. noupdate_X add-ons) that don't
- * have an update are listed in the add-ons incompatible list.
- */
-function checkIncompatbleList() {
-  for (let i = 0; i < gIncompatibleListbox.itemCount; i++) {
-    let label = gIncompatibleListbox.getItemAtIndex(i).label;
-    // Use indexOf since locales can change the text displayed
-    ok(label.indexOf("noupdate") != -1, "Checking that only incompatible " +
-       "add-ons that don't have an update are listed in the incompatible list");
-  }
-}
-
-/**
  * Compares the return value of prefHasUserValue for the preference specified in
  * gPrefToCheck with the value passed in the aPrefHasValue parameter or the
  * value specified in the current test's prefHasUserValue property if
  * aPrefHasValue is undefined.
  *
  * @param  aPrefHasValue (optional)
  *         The expected value returned from prefHasUserValue for the preference
  *         specified in gPrefToCheck. If aPrefHasValue is undefined the value
@@ -1047,29 +960,19 @@ function setupPrefs() {
   }
   Services.prefs.setBoolPref(PREF_APP_UPDATE_SERVICE_ENABLED, false);
 
   if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_STAGING_ENABLED)) {
     gAppUpdateStagingEnabled = Services.prefs.getBoolPref(PREF_APP_UPDATE_STAGING_ENABLED);
   }
   Services.prefs.setBoolPref(PREF_APP_UPDATE_STAGING_ENABLED, false);
 
-  if (Services.prefs.prefHasUserValue(PREF_EXTENSIONS_UPDATE_URL)) {
-    gExtUpdateURL = Services.prefs.getCharPref(PREF_EXTENSIONS_UPDATE_URL);
-  }
-  let extUpdateUrl = URL_HTTP_UPDATE_XML + "?addonID=%ITEM_ID%" +
-                     "&platformVersion=" + Services.appinfo.platformVersion +
-                     "&newerPlatformVersion=" + getNewerPlatformVersion();
-  Services.prefs.setCharPref(PREF_EXTENSIONS_UPDATE_URL, extUpdateUrl);
-
   Services.prefs.setIntPref(PREF_APP_UPDATE_IDLETIME, 0);
   Services.prefs.setIntPref(PREF_APP_UPDATE_PROMPTWAITTIME, 0);
   Services.prefs.setBoolPref(PREF_APP_UPDATE_SILENT, false);
-  Services.prefs.setBoolPref(PREF_EXTENSIONS_STRICT_COMPAT, true);
-  Services.prefs.setCharPref(PREF_EM_HOTFIX_ID, "hotfix" + ADDON_ID_SUFFIX);
 }
 
 /**
  * Restores files that were backed up for the tests and general file cleanup.
  */
 function resetFiles() {
   // Restore the backed up updater-settings.ini if it exists.
   let baseAppDir = getAppBaseDir();
@@ -1128,22 +1031,16 @@ function resetPrefs() {
   }
 
   if (gAppUpdateStagingEnabled !== undefined) {
     Services.prefs.setBoolPref(PREF_APP_UPDATE_STAGING_ENABLED, gAppUpdateStagingEnabled);
   } else if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_STAGING_ENABLED)) {
     Services.prefs.clearUserPref(PREF_APP_UPDATE_STAGING_ENABLED);
   }
 
-  if (gExtUpdateURL !== undefined) {
-    Services.prefs.setCharPref(PREF_EXTENSIONS_UPDATE_URL, gExtUpdateURL);
-  } else if (Services.prefs.prefHasUserValue(PREF_EXTENSIONS_UPDATE_URL)) {
-    Services.prefs.clearUserPref(PREF_EXTENSIONS_UPDATE_URL);
-  }
-
   if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_IDLETIME)) {
     Services.prefs.clearUserPref(PREF_APP_UPDATE_IDLETIME);
   }
 
   if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_PROMPTWAITTIME)) {
     Services.prefs.clearUserPref(PREF_APP_UPDATE_PROMPTWAITTIME);
   }
 
@@ -1204,289 +1101,31 @@ function resetPrefs() {
     Services.prefs.deleteBranch(PREF_APP_UPDATE_NEVER_BRANCH);
   }
   catch(e) {
   }
 
   if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_SILENT)) {
     Services.prefs.clearUserPref(PREF_APP_UPDATE_SILENT);
   }
-
-  if (Services.prefs.prefHasUserValue(PREF_EXTENSIONS_STRICT_COMPAT)) {
-		Services.prefs.clearUserPref(PREF_EXTENSIONS_STRICT_COMPAT);
-  }
-
-  if (Services.prefs.prefHasUserValue(PREF_EM_HOTFIX_ID)) {
-    Services.prefs.clearUserPref(PREF_EM_HOTFIX_ID);
-  }
 }
 
 function setupTimer(aTestTimeout) {
   gTestTimeout = aTestTimeout;
   if (gTimeoutTimer) {
     gTimeoutTimer.cancel();
     gTimeoutTimer = null;
   }
   gTimeoutTimer = Cc["@mozilla.org/timer;1"].
                   createInstance(Ci.nsITimer);
   gTimeoutTimer.initWithCallback(finishTestTimeout, gTestTimeout,
                                  Ci.nsITimer.TYPE_ONE_SHOT);
 }
 
 /**
- * Disables pre-existing add-ons so they don't interfere with the tests,
- * installs the test add-ons, sets the noupdate test add-ons' userDisabled value
- * for the test, and calls the callback specified in the aCallback parameter. If
- * the app.update.test.disabledAddons has a user value then setting the noupdate
- * test add-ons' userDisabled value for the test is the only thing that is done.
- *
- * @param  aCallback
- *         A callback to call after all operations have completed.
- */
-function setupAddons(aCallback) {
-  debugDump("entering");
-
-  // Sets the appropriate userDisabled value for the noupdate test add-ons based
-  // on the value of gDisableNoUpdateAddon and calls the callback specified in
-  // setupAddons aCallback parameter.
-  function setNoUpdateAddonsDisabledState() {
-    AddonManager.getAllAddons(function(aAddons) {
-      aAddons.forEach(function(aAddon) {
-        if (aAddon.name.startsWith("appdisabled")) {
-          if (!aAddon.userDisabled) {
-            aAddon.userDisabled = true;
-          }
-        }
-
-        if (aAddon.name.startsWith("noupdate")) {
-          if (aAddon.userDisabled != gDisableNoUpdateAddon) {
-            aAddon.userDisabled = gDisableNoUpdateAddon;
-          }
-        }
-
-        if (aAddon.name.startsWith("updatecompatibility")) {
-          if (aAddon.userDisabled != gDisableUpdateCompatibilityAddon) {
-            aAddon.userDisabled = gDisableUpdateCompatibilityAddon;
-          }
-        }
-
-        if (aAddon.name.startsWith("updateversion")) {
-          if (aAddon.userDisabled != gDisableUpdateVersionAddon) {
-            aAddon.userDisabled = gDisableUpdateVersionAddon;
-          }
-        }
-      });
-      // Start the timout timer before the update window is displayed so it can
-      // clean up tests that don't successfully display the update window.
-      setupTimer(gTestTimeout);
-      SimpleTest.executeSoon(aCallback);
-    });
-  }
-
-  // If the app.update.test.disabledAddons preference exists the pre-existing
-  // add-ons have already been disabled so they don't interfere with the tests,
-  // the test add-ons have already been installed, and the only thing that needs
-  // to be done is setting the appropriate userDisabled value for the noupdate
-  // test add-ons.
-  if (Services.prefs.prefHasUserValue(PREF_DISABLEDADDONS)) {
-    setNoUpdateAddonsDisabledState();
-    return;
-  }
-
-  // Disable all pre-existing enabled addons so they don't interfere with the
-  // tests.
-  AddonManager.getAllAddons(function(aAddons) {
-    let disabledAddons = [];
-    let harnessAddons = ["special-powers@mozilla.org", "mochikit@mozilla.org"];
-    aAddons.forEach(function(aAddon) {
-      // If an addon's type equals plugin it is skipped since
-      // checking plugins compatibility information isn't supported at this
-      // time (also see bug 566787). Also, SCOPE_APPLICATION add-ons are
-      // excluded by app update so there is no reason to disable them.
-      // Specialpowers and mochikit are excluded as the test harness requires
-      // them to run the tests.
-      if (aAddon.type != "plugin" && !aAddon.appDisabled &&
-          !aAddon.userDisabled &&
-          aAddon.scope != AddonManager.SCOPE_APPLICATION &&
-          harnessAddons.indexOf(aAddon.id) == -1) {
-        disabledAddons.push(aAddon);
-        aAddon.userDisabled = true;
-      }
-    });
-    // If there are no pre-existing add-ons the preference value will be an
-    // empty string.
-    Services.prefs.setCharPref(PREF_DISABLEDADDONS, disabledAddons.join(" "));
-
-    // Install the test add-ons.
-    let promises = getTestAddonXPIFiles().map(function(aFile) {
-      return AddonManager.installTemporaryAddon(aFile).then(addon => {
-        if (getAddonTestType(addon.name) == "userdisabled") {
-          addon.userDisabled = true;
-        }
-      });
-    });
-    return Promise.all(promises).then(setNoUpdateAddonsDisabledState);
-  });
-}
-
-/**
- * Uninstalls the test add-ons, enables add-ons that were disabled when the
- * test started, and calls the callback specified in the aCallback parameter.
- *
- * @param  aCallback
- *         A callback to call after all operations have completed.
- */
-function resetAddons(aCallback) {
-  debugDump("entering");
-  // If test_9999_cleanup.xul is ran by itself then the test add-ons will not
-  // have been installed and any pre-existing add-ons will not have been
-  // disabled so return early.
-  if (!Services.prefs.prefHasUserValue(PREF_DISABLEDADDONS)) {
-    debugDump("preference " + PREF_DISABLEDADDONS + " doesn't exist... " +
-              "returning early");
-    aCallback();
-    return;
-  }
-
-  // Uninstall the test add-ons.
-  let count = TEST_ADDONS.length;
-  function uninstallCompleted(aAddon) {
-    if (--count == 0) {
-      AddonManager.removeAddonListener(listener);
-
-      // Enable the pre-existing add-ons that were disabled so they wouldn't
-      // interfere with the tests.
-      let disabledAddons = Services.prefs.getCharPref(PREF_DISABLEDADDONS).split(" ");
-      Services.prefs.clearUserPref(PREF_DISABLEDADDONS);
-      AddonManager.getAllAddons(function(aAddons) {
-        aAddons.forEach(function(aAddon) {
-          if (disabledAddons.indexOf(aAddon.id)) {
-            aAddon.userDisabled = false;
-          }
-        });
-        SimpleTest.executeSoon(aCallback);
-      });
-    }
-  }
-
-  let listener = {
-    onUninstalled: uninstallCompleted
-  };
-
-  AddonManager.addAddonListener(listener);
-  TEST_ADDONS.forEach(function(aName) {
-    AddonManager.getAddonByID(aName + ADDON_ID_SUFFIX, function(aAddon) {
-      aAddon.uninstall();
-    });
-  });
-}
-
-/**
- * Helper function to get the string before the '_' character in an add-on's
- * name or id which is used to determine the add-on test type used by the tests.
- *
- * @param  aName
- *         The test add-on's name or id.
- * @return The string before the '_' character in the string passed in the aName
- *         parameter.
- */
-function getAddonTestType(aName) {
-  return aName.split("_")[0];
-}
-
-/**
- * Helper function to create add-on xpi files for the default test add-ons.
- *
- * @return An array with each member being an nsILocalFile for an add-on XPI
- *         file.
- */
-function getTestAddonXPIFiles() {
-  let addonPrepDir = Services.dirsvc.get(NS_APP_USER_PROFILE_50_DIR,
-                                         Ci.nsILocalFile);
-  addonPrepDir.append(ADDON_PREP_DIR);
-
-  let bootstrap = addonPrepDir.clone();
-  bootstrap.append("bootstrap.js");
-  // If a previous test has already created bootstrap.js don't create it again.
-  if (!bootstrap.exists()) {
-    let bootstrapContents = "function install(data, reason){ }\n" +
-                            "function startup(data, reason){ }\n" +
-                            "function shutdown(data, reason){ }\n" +
-                            "function uninstall(data, reason){ }\n";
-    writeFile(bootstrap, bootstrapContents);
-  }
-
-  let installRDF = addonPrepDir.clone();
-  installRDF.append("install.rdf");
-
-  let xpiFiles = [];
-  TEST_ADDONS.forEach(function(aName) {
-    let xpiFile = addonPrepDir.clone();
-    xpiFile.append(aName + ".xpi");
-
-    if (installRDF.exists()) {
-      installRDF.remove(false);
-    }
-    writeFile(installRDF, getInstallRDFString(aName));
-    gZipW.open(xpiFile, PR_RDWR | PR_CREATE_FILE | PR_TRUNCATE);
-    gZipW.addEntryFile(installRDF.leafName,
-                       Ci.nsIZipWriter.COMPRESSION_DEFAULT, installRDF,
-                       false);
-    gZipW.addEntryFile(bootstrap.leafName,
-                       Ci.nsIZipWriter.COMPRESSION_DEFAULT, bootstrap,
-                       false);
-    gZipW.close();
-    xpiFiles.push(xpiFile);
-  });
-
-  return xpiFiles;
-}
-
-/**
- * Helper function to gets the string representation of the contents of the
- * add-on's install.rdf file.
- *
- * @param  aName
- *         The string to use for the add-on's name which is also used to
- *         construct the local-part in RFC 5322 format of the add-on's ID.
- * @return A string representation of the contents of the add-on's install.rdf
- *         file.
- */
-function getInstallRDFString(aName) {
-  let maxVersion = Services.appinfo.platformVersion;
-  switch (getAddonTestType(aName)) {
-    case "compatible":
-      maxVersion = getNewerPlatformVersion();
-      break;
-    case "appdisabled":
-      maxVersion = "0.1";
-      break;
-  }
-
-  return "<?xml version=\"1.0\"?>\n" +
-         "<RDF xmlns=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n" +
-         "  xmlns:em=\"http://www.mozilla.org/2004/em-rdf#\">\n" +
-         "  <Description about=\"urn:mozilla:install-manifest\">\n" +
-         "    <em:id>" + aName + ADDON_ID_SUFFIX + "</em:id>\n" +
-         "    <em:version>1.0</em:version>\n" +
-         "    <em:bootstrap>true</em:bootstrap>\n" +
-         "    <em:name>" + aName + "</em:name>\n" +
-         "    <em:description>Test Description</em:description>\n" +
-         "    <em:targetApplication>\n" +
-         "      <Description>\n" +
-         "        <em:id>toolkit@mozilla.org</em:id>\n" +
-         "        <em:minVersion>undefined</em:minVersion>\n" +
-         "        <em:maxVersion>" + maxVersion + "</em:maxVersion>\n" +
-         "      </Description>\n" +
-         "    </em:targetApplication>\n" +
-         "  </Description>\n" +
-         "</RDF>";
-}
-
-/**
  * Closes the update window if it is open and causes the test to fail if an
  * update window is found.
  *
  * @return true if an update window was found, otherwise false.
  */
 function closeUpdateWindow() {
   let updateWindow = getUpdateWindow();
   if (!updateWindow) {
--- a/toolkit/mozapps/update/tests/data/shared.js
+++ b/toolkit/mozapps/update/tests/data/shared.js
@@ -34,19 +34,16 @@ const PREF_APP_UPDATE_RETRY_TIMEOUT     
 
 const PREF_APP_UPDATE_CERT_INVALID_ATTR_NAME = PREF_APP_UPDATE_CERTS_BRANCH +
                                                "1.invalidName";
 
 const PREF_APP_PARTNER_BRANCH             = "app.partner.";
 const PREF_DISTRIBUTION_ID                = "distribution.id";
 const PREF_DISTRIBUTION_VERSION           = "distribution.version";
 
-const PREF_EXTENSIONS_UPDATE_URL          = "extensions.update.url";
-const PREF_EXTENSIONS_STRICT_COMPAT       = "extensions.strictCompatibility";
-
 const NS_APP_PROFILE_DIR_STARTUP   = "ProfDS";
 const NS_APP_USER_PROFILE_50_DIR   = "ProfD";
 const NS_GRE_DIR                   = "GreD";
 const NS_GRE_BIN_DIR               = "GreBinD";
 const NS_XPCOM_CURRENT_PROCESS_DIR = "XCurProcD";
 const XRE_EXECUTABLE_FILE          = "XREExeF";
 const XRE_UPDATE_ROOT_DIR          = "UpdRootD";