bug 1274487 - Remove 'Update Installed' code and user interface. r=mhowell
authorRobert Strong <robert.bugzilla@gmail.com>
Wed, 25 May 2016 00:09:49 -0700
changeset 298915 445f4347135cd17ff0ce60ffc157a9be3ed5e3a3
parent 298914 18083cdf9caa7bd16e76bf1a2afc25fdc333d29e
child 298916 a5aea694837ade56d7686f74dbd0ad60b13b1cce
push id30286
push userkwierso@gmail.com
push dateWed, 25 May 2016 22:33:39 +0000
treeherdermozilla-central@1012461fa7bb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmhowell
bugs1274487
milestone49.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
bug 1274487 - Remove 'Update Installed' code and user interface. r=mhowell
browser/app/profile/firefox.js
toolkit/locales/en-US/chrome/mozapps/update/updates.dtd
toolkit/mozapps/update/content/updates.js
toolkit/mozapps/update/content/updates.xul
toolkit/mozapps/update/nsIUpdateService.idl
toolkit/mozapps/update/nsUpdateService.js
toolkit/mozapps/update/tests/chrome/chrome.ini
toolkit/mozapps/update/tests/chrome/test_0091_installed.xul
toolkit/mozapps/update/tests/chrome/utils.js
toolkit/mozapps/update/tests/data/shared.js
toolkit/mozapps/update/tests/data/xpcshellUtilsAUS.js
toolkit/mozapps/update/tests/unit_aus_update/uiSilentPref.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -176,23 +176,16 @@ pref("app.update.url", "https://aus5.moz
 //pref("app.update.url.override", "");
 
 // app.update.interval is in branding section
 // app.update.promptWaitTime is in branding section
 
 // Show the Update Checking/Ready UI when the user was idle for x seconds
 pref("app.update.idletime", 60);
 
-// Whether or not we show a dialog box informing the user that the update was
-// successfully applied. This is off in Firefox by default since we show a
-// upgrade start page instead! Other apps may wish to show this UI, and supply
-// a whatsNewURL field in their brand.properties that contains a link to a page
-// which tells users what's new in this new update.
-pref("app.update.showInstalledUI", false);
-
 // Whether or not to attempt using the service for updates.
 #ifdef MOZ_MAINTENANCE_SERVICE
 pref("app.update.service.enabled", true);
 #endif
 
 // Symmetric (can be overridden by individual extensions) update preferences.
 // e.g.
 //  extensions.{GUID}.update.enabled
--- a/toolkit/locales/en-US/chrome/mozapps/update/updates.dtd
+++ b/toolkit/locales/en-US/chrome/mozapps/update/updates.dtd
@@ -75,15 +75,11 @@
 <!-- LOCALIZATION NOTE (finishedBackground.more): This string describes the button labels defined by restartNowButton and restartLaterButton in updates.properties. -->
 <!ENTITY  finishedBackground.more         "The update will be installed the next time &brandShortName; starts. You
                                            can restart &brandShortName; now, or continue working and restart later.">
 <!ENTITY  finishedBackground.moreElevated "This update requires administrator privileges. The update will be
                                            installed the next time &brandShortName; starts. You can restart
                                            &brandShortName; now, continue working and restart later, or decline this
                                            update.">
 
-<!ENTITY  installed.title                 "Update Installed">
-<!ENTITY  installed.intro                 "The update was successfully installed.">
-<!ENTITY  whatsnew.label                  "Read more about what’s new…">
-
 <!ENTITY  update.details.label            "Details">
 <!ENTITY  update.installedOn.label        "Installed on:">
 <!ENTITY  update.status.label             "Status:">
--- a/toolkit/mozapps/update/content/updates.js
+++ b/toolkit/mozapps/update/content/updates.js
@@ -364,17 +364,16 @@ var gUpdates = {
    * is an asynchronous method that passes the resulting object to a callback
    * function.
    *
    * This is determined by how we were called by the update prompt:
    *
    * Prompt Method:       Arg0:         Update State: Src Event:  Failed:   Result:
    * 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 either
    *       updatesfoundbasic or updatesfoundbillboard which is determined by the
    *       value of updatesFoundPageId.
@@ -452,20 +451,16 @@ var gUpdates = {
         if (!aus.canApplyUpdates) {
           aCallback("manualUpdate");
           return;
         }
 
         aCallback(this.updatesFoundPageId);
         return;
       }
-      else if (arg0 == "installed") {
-        aCallback("installed");
-        return;
-      }
     }
     else {
       var um = CoC["@mozilla.org/updates/update-manager;1"].
                getService(CoI.nsIUpdateManager);
       if (um.activeUpdate) {
         this.setUpdate(um.activeUpdate);
         aCallback("downloading");
         return;
@@ -1566,40 +1561,16 @@ var gFinishedPage = {
                getService(CoI.nsIUpdateManager);
     um.cleanupActiveUpdate();
     gUpdates.never();
     gUpdates.wiz.cancel();
   }),
 };
 
 /**
- * The "Update was Installed Successfully" page.
- */
-var gInstalledPage = {
-  /**
-   * Initialize
-   */
-  onPageShow: function() {
-    var branding = document.getElementById("brandStrings");
-    try {
-      // whatsNewURL should just be a pref (bug 546609).
-      var url = branding.getFormattedString("whatsNewURL", [Services.appinfo.version]);
-      var whatsnewLink = document.getElementById("whatsnewLink");
-      whatsnewLink.setAttribute("url", url);
-      whatsnewLink.hidden = false;
-    }
-    catch (e) {
-    }
-
-    gUpdates.setButtons(null, null, "okButton", true);
-    gUpdates.wiz.getButton("finish").focus();
-  }
-};
-
-/**
  * Callback for the Update Prompt to set the current page if an Update Wizard
  * window is already found to be open.
  * @param   pageid
  *          The ID of the page to switch to
  */
 function setCurrentPage(pageid) {
   gUpdates.wiz.currentPage = document.getElementById(pageid);
 }
--- a/toolkit/mozapps/update/content/updates.xul
+++ b/toolkit/mozapps/update/content/updates.xul
@@ -225,22 +225,9 @@
              hidden="true">&errorManual.label;</label>
       <hbox>
         <label class="text-link" id="finishedBackgroundMoreElevatedLinkLabel"
                value="" onclick="openUpdateURL(event);" hidden="true"/>
       </hbox>
     </vbox>
   </wizardpage>
 
-  <wizardpage id="installed" pageid="installed" object="gInstalledPage"
-              onpageshow="gInstalledPage.onPageShow();">
-    <updateheader label="&installed.title;"/>
-    <vbox class="update-content" flex="1">
-      <label>&installed.intro;</label>
-      <separator/>
-      <hbox>
-        <label id="whatsnewLink" class="text-link" hidden="true"
-               value="&whatsnew.label;" onclick="openUpdateURL(event);"/>
-      </hbox>
-    </vbox>
-  </wizardpage>
-
 </wizard>
--- a/toolkit/mozapps/update/nsIUpdateService.idl
+++ b/toolkit/mozapps/update/nsIUpdateService.idl
@@ -555,24 +555,16 @@ interface nsIUpdatePrompt : nsISupports
    *          The nsIUpdate object that was downloaded
    * @param   background
    *          Less obtrusive UI, starting with a non-modal notification alert
    */
   void showUpdateDownloaded(in nsIUpdate update,
                             [optional] in boolean background);
 
   /**
-   * Shows the application update installed user interface advising that an
-   * update was installed successfully. If the app.update.silent preference is
-   * true, the app.update.showInstalledUI preference is false, or the user
-   * interface is already displayed the call will be a no-op.
-   */
-  void showUpdateInstalled();
-
-  /**
    * Shows the application update error user interface advising that an error
    * occurred while checking for or applying an update. If the app.update.silent
    * preference is true the call will be a no-op.
    * @param   update
    *          An nsIUpdate object representing the update that could not be
    *          installed. The nsIUpdate object will not be the actual update when
    *          the error occurred during an update check and will instead be an
    *          nsIUpdate object with the error information for the update check.
--- a/toolkit/mozapps/update/nsUpdateService.js
+++ b/toolkit/mozapps/update/nsUpdateService.js
@@ -36,17 +36,16 @@ const PREF_APP_UPDATE_ENABLED           
 const PREF_APP_UPDATE_IDLETIME             = "app.update.idletime";
 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_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";
@@ -1799,19 +1798,18 @@ Update.prototype = {
     }
     return this._detailsURL || "";
   },
 
   /**
    * See nsIUpdateService.idl
    */
   serialize: function Update_serialize(updates) {
-    // If appVersion isn't defined just return null. This happens when a
-    // temporary nsIUpdate is passed to the UI when the
-    // app.update.showInstalledUI prefence is set to true.
+    // If appVersion isn't defined just return null. This happens when cleaning
+    // up invalid updates (e.g. incorrect channel).
     if (!this.appVersion) {
       return null;
     }
     var update = updates.createElementNS(URI_UPDATE_NS, "update");
     update.setAttribute("appVersion", this.appVersion);
     update.setAttribute("buildID", this.buildID);
     update.setAttribute("channel", this.channel);
     update.setAttribute("displayVersion", this.displayVersion);
@@ -2177,17 +2175,16 @@ UpdateService.prototype = {
     update.state = status;
 
     if (status == STATE_SUCCEEDED) {
       update.statusText = gUpdateBundle.GetStringFromName("installSuccess");
 
       // Update the patch's metadata.
       um.activeUpdate = update;
       Services.prefs.setBoolPref(PREF_APP_UPDATE_POSTUPDATE, true);
-      prompter.showUpdateInstalled();
 
       // Done with this update. Clean it up.
       cleanupActiveUpdate();
     } else if (status == STATE_PENDING_ELEVATE) {
       prompter.showUpdateElevationRequired();
       return;
     } else {
       // If we hit an error, then the error code will be included in the status
@@ -3185,19 +3182,18 @@ UpdateManager.prototype = {
 
     try {
       var parser = Cc["@mozilla.org/xmlextras/domparser;1"].
                    createInstance(Ci.nsIDOMParser);
       const EMPTY_UPDATES_DOCUMENT = "<?xml version=\"1.0\"?><updates xmlns=\"http://www.mozilla.org/2005/app-update\"></updates>";
       var doc = parser.parseFromString(EMPTY_UPDATES_DOCUMENT, "text/xml");
 
       for (var i = 0; i < updates.length; ++i) {
-        // If appVersion isn't defined don't add the update. This happens when a
-        // temporary nsIUpdate is passed to the UI when the
-        // app.update.showInstalledUI prefence is set to true.
+        // If appVersion isn't defined don't add the update. This happens when
+        // cleaning up invalid updates (e.g. incorrect channel).
         if (updates[i] && updates[i].appVersion) {
           doc.documentElement.appendChild(updates[i].serialize(doc));
         }
       }
 
       var serializer = Cc["@mozilla.org/xmlextras/xmlserializer;1"].
                        createInstance(Ci.nsIDOMSerializer);
       serializer.serializeToStream(doc.documentElement, fos, null);
@@ -4489,33 +4485,16 @@ UpdatePrompt.prototype = {
       this._showUI(null, URI_UPDATE_PROMPT_DIALOG, null,
                    UPDATE_WINDOW_NAME, "finishedBackground", update);
     }
   },
 
   /**
    * See nsIUpdateService.idl
    */
-  showUpdateInstalled: function UP_showUpdateInstalled() {
-    if (getPref("getBoolPref", PREF_APP_UPDATE_SILENT, false) ||
-        !getPref("getBoolPref", PREF_APP_UPDATE_SHOW_INSTALLED_UI, false) ||
-        this._getUpdateWindow()) {
-      return;
-    }
-
-    let openFeatures = "chrome,centerscreen,dialog=no,resizable=no,titlebar,toolbar=no";
-    let arg = Cc["@mozilla.org/supports-string;1"].
-              createInstance(Ci.nsISupportsString);
-    arg.data = "installed";
-    Services.ww.openWindow(null, URI_UPDATE_PROMPT_DIALOG, null, openFeatures, arg);
-  },
-
-  /**
-   * See nsIUpdateService.idl
-   */
   showUpdateError: function UP_showUpdateError(update) {
     if (getPref("getBoolPref", PREF_APP_UPDATE_SILENT, false) ||
         this._getAltUpdateWindow())
       return;
 
     // In some cases, we want to just show a simple alert dialog.
     // Replace with Array.prototype.includes when it has stabilized.
     if (update.state == STATE_FAILED &&
--- a/toolkit/mozapps/update/tests/chrome/chrome.ini
+++ b/toolkit/mozapps/update/tests/chrome/chrome.ini
@@ -29,17 +29,16 @@ reason = Bug 1168003
 [test_0071_notify_verifyFailPartial_noComplete.xul]
 [test_0072_notify_verifyFailComplete_noPartial.xul]
 [test_0073_notify_verifyFailPartialComplete.xul]
 [test_0074_notify_verifyFailPartial_successComplete.xul]
 [test_0081_error_patchApplyFailure_partial_only.xul]
 [test_0082_error_patchApplyFailure_complete_only.xul]
 [test_0083_error_patchApplyFailure_partial_complete.xul]
 [test_0084_error_patchApplyFailure_verify_failed.xul]
-[test_0091_installed.xul]
 [test_0092_finishedBackground.xul]
 [test_0093_restartNotification.xul]
 [test_0094_restartNotification_remote.xul]
 [test_0095_restartNotification_remoteInvalidNumber.xul]
 [test_0096_restartNotification_stagedBackground.xul]
 skip-if = asan
 reason = Bug 1168003
 [test_0097_restartNotification_stagedServiceBackground.xul]
deleted file mode 100644
--- a/toolkit/mozapps/update/tests/chrome/test_0091_installed.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: installed"
-        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_INSTALLED,
-  buttonClick: "finish"
-} ];
-
-function runTest() {
-  debugDump("entering");
-
-  Services.prefs.setBoolPref(PREF_APP_UPDATE_SHOW_INSTALLED_UI, true);
-  let patches = getLocalPatchString("complete", null, null, null, null, null,
-                                    STATE_PENDING);
-  let updates = getLocalUpdateString(patches, null, null, null,
-                                     Services.appinfo.version,
-                                     Services.appinfo.platformVersion);
-  writeUpdatesToXMLFile(getLocalUpdatesXMLString(updates), true);
-  writeUpdatesToXMLFile(getLocalUpdatesXMLString(""), false);
-  writeStatusFile(STATE_SUCCEEDED);
-
-  testPostUpdateProcessing();
-}
-
-]]>
-</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/utils.js
+++ b/toolkit/mozapps/update/tests/chrome/utils.js
@@ -93,17 +93,16 @@ const PAGEID_UNSUPPORTED      = "unsuppo
 const PAGEID_FOUND_BASIC      = "updatesfoundbasic";     // Done
 const PAGEID_FOUND_BILLBOARD  = "updatesfoundbillboard"; // 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
 
 const UPDATE_WINDOW_NAME = "Update:Wizard";
 
 const URL_HOST = "http://example.com";
 const URL_PATH_UPDATE_XML = "/chrome/toolkit/mozapps/update/tests/chrome/update.sjs";
 const REL_PATH_DATA = "chrome/toolkit/mozapps/update/tests/data";
 
 // These two URLs must not contain parameters since tests add their own
@@ -549,17 +548,16 @@ function getExpectedButtonStates() {
                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:
       return { finish: { disabled: false, hidden: false } };
     case PAGEID_ERROR_PATCHING:
       return { next  : { disabled: false, hidden: false } };
     case PAGEID_FINISHED:
     case PAGEID_FINISHED_BKGRD:
       return { extra1: { disabled: false, hidden: false },
                finish: { disabled: false, hidden: false } };
   }
@@ -979,20 +977,16 @@ function resetPrefs() {
   if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_PROMPTWAITTIME)) {
     Services.prefs.clearUserPref(PREF_APP_UPDATE_PROMPTWAITTIME);
   }
 
   if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_URL_DETAILS)) {
     Services.prefs.clearUserPref(PREF_APP_UPDATE_URL_DETAILS);
   }
 
-  if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_SHOW_INSTALLED_UI)) {
-    Services.prefs.clearUserPref(PREF_APP_UPDATE_SHOW_INSTALLED_UI);
-  }
-
   if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_NOTIFIEDUNSUPPORTED)) {
     Services.prefs.clearUserPref(PREF_APP_UPDATE_NOTIFIEDUNSUPPORTED);
   }
 
   if (Services.prefs.prefHasUserValue(PREF_APP_UPDATE_LOG)) {
     Services.prefs.clearUserPref(PREF_APP_UPDATE_LOG);
   }
 
--- a/toolkit/mozapps/update/tests/data/shared.js
+++ b/toolkit/mozapps/update/tests/data/shared.js
@@ -18,17 +18,16 @@ const PREF_APP_UPDATE_CERT_REQUIREBUILTI
 const PREF_APP_UPDATE_CHANNEL             = "app.update.channel";
 const PREF_APP_UPDATE_ENABLED             = "app.update.enabled";
 const PREF_APP_UPDATE_IDLETIME            = "app.update.idletime";
 const PREF_APP_UPDATE_LOG                 = "app.update.log";
 const PREF_APP_UPDATE_NEVER_BRANCH        = "app.update.never.";
 const PREF_APP_UPDATE_NOTIFIEDUNSUPPORTED = "app.update.notifiedUnsupported";
 const PREF_APP_UPDATE_PROMPTWAITTIME      = "app.update.promptWaitTime";
 const PREF_APP_UPDATE_SERVICE_ENABLED     = "app.update.service.enabled";
-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_SOCKET_ERRORS       = "app.update.socket.maxErrors";
 const PREF_APP_UPDATE_RETRY_TIMEOUT       = "app.update.socket.retryTimeout";
 
--- a/toolkit/mozapps/update/tests/data/xpcshellUtilsAUS.js
+++ b/toolkit/mozapps/update/tests/data/xpcshellUtilsAUS.js
@@ -1010,19 +1010,16 @@ function doTestFinish() {
   do_execute_soon(do_test_finished);
 }
 
 /**
  * Sets the most commonly used preferences used by tests
  */
 function setDefaultPrefs() {
   Services.prefs.setBoolPref(PREF_APP_UPDATE_ENABLED, true);
-  // Don't display UI for a successful installation. Some apps may not set this
-  // pref to false like Firefox does.
-  Services.prefs.setBoolPref(PREF_APP_UPDATE_SHOW_INSTALLED_UI, false);
   if (DEBUG_AUS_TEST) {
     // Enable Update logging
     Services.prefs.setBoolPref(PREF_APP_UPDATE_LOG, true);
   }
 }
 
 /**
  * Helper function for updater binary tests that sets the appropriate values
--- a/toolkit/mozapps/update/tests/unit_aus_update/uiSilentPref.js
+++ b/toolkit/mozapps/update/tests/unit_aus_update/uiSilentPref.js
@@ -1,18 +1,17 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/
  */
 
 Components.utils.import("resource://testing-common/MockRegistrar.jsm");
 
 /**
- * Test that nsIUpdatePrompt doesn't display UI for showUpdateInstalled,
- * showUpdateAvailable, and showUpdateError when the app.update.silent
- * preference is true.
+ * Test that nsIUpdatePrompt doesn't display UI for showUpdateAvailable and
+ * showUpdateError when the app.update.silent preference is true.
  */
 
 function run_test() {
   setupTestCommon();
 
   debugDump("testing nsIUpdatePrompt notifications should not be seen " +
             "when the " + PREF_APP_UPDATE_SILENT + " preference is true");
 
@@ -22,26 +21,16 @@ function run_test() {
     MockRegistrar.register("@mozilla.org/embedcomp/window-watcher;1",
                            WindowWatcher);
   do_register_cleanup(() => {
     MockRegistrar.unregister(windowWatcherCID);
   });
 
   standardInit();
 
-  debugDump("testing showUpdateInstalled should not call openWindow");
-  Services.prefs.setBoolPref(PREF_APP_UPDATE_SHOW_INSTALLED_UI, true);
-
-  gCheckFunc = check_showUpdateInstalled;
-  gUP.showUpdateInstalled();
-  // Report a successful check after the call to showUpdateInstalled since it
-  // didn't throw and otherwise it would report no tests run.
-  Assert.ok(true,
-            "calling showUpdateInstalled should not attempt to open a window");
-
   debugDump("testing showUpdateAvailable should not call openWindow");
   writeUpdatesToXMLFile(getLocalUpdatesXMLString(""), false);
   let patches = getLocalPatchString(null, null, null, null, null, null,
                                     STATE_FAILED);
   let updates = getLocalUpdateString(patches);
   writeUpdatesToXMLFile(getLocalUpdatesXMLString(updates), true);
   writeStatusFile(STATE_FAILED);
   reloadUpdateManagerData();
@@ -61,20 +50,16 @@ function run_test() {
   // Report a successful check after the call to showUpdateError since it
   // didn't throw and otherwise it would report no tests run.
   Assert.ok(true,
             "calling showUpdateError should not attempt to open a window");
 
   doTestFinish();
 }
 
-function check_showUpdateInstalled() {
-  do_throw("showUpdateInstalled should not have called openWindow!");
-}
-
 function check_showUpdateAvailable() {
   do_throw("showUpdateAvailable should not have called openWindow!");
 }
 
 function check_showUpdateError() {
   do_throw("showUpdateError should not have seen getNewPrompter!");
 }