[tbb-commits] [tor-browser/tor-browser-78.7.0esr-10.0-1] Bug 1642754 - Update prompts should not depend on how update was initiated r=bytesized

sysrqb at torproject.org sysrqb at torproject.org
Wed Jan 20 19:03:17 UTC 2021


commit 3001691b1f4e4507289f47df786243724f7c6f21
Author: Mark Smith <mcs at pearlcrescent.com>
Date:   Wed Jun 17 19:24:09 2020 +0000

    Bug 1642754 - Update prompts should not depend on how update was initiated r=bytesized
    
    Show update badge and doorhanger when entering the "pending"
    state for foreground updates.
    
    Differential Revision: https://phabricator.services.mozilla.com/D79903
---
 toolkit/mozapps/update/UpdateService.jsm               | 10 ++--------
 .../browser/browser_aboutDialog_fc_downloadAuto.js     | 18 +++++++++++++++++-
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/toolkit/mozapps/update/UpdateService.jsm b/toolkit/mozapps/update/UpdateService.jsm
index 8dd397f628f5..1dc86a073646 100644
--- a/toolkit/mozapps/update/UpdateService.jsm
+++ b/toolkit/mozapps/update/UpdateService.jsm
@@ -5002,8 +5002,6 @@ Downloader.prototype = {
       }
     }
 
-    // XXX ehsan shouldShowPrompt should always be false here.
-    // But what happens when there is already a UI showing?
     var state = this._patch.state;
     var shouldShowPrompt = false;
     var shouldRegisterOnlineObserver = false;
@@ -5044,9 +5042,7 @@ Downloader.prototype = {
         } else {
           state = STATE_PENDING;
         }
-        if (this.background) {
-          shouldShowPrompt = !getCanStageUpdates();
-        }
+        shouldShowPrompt = !getCanStageUpdates();
         AUSTLMY.pingDownloadCode(this.isCompleteUpdate, AUSTLMY.DWNLD_SUCCESS);
 
         // Tell the updater.exe we're ready to apply.
@@ -5329,9 +5325,7 @@ Downloader.prototype = {
           LOG(
             "Downloader:onStopRequest - failed to stage update. Exception: " + e
           );
-          if (this.background) {
-            shouldShowPrompt = true;
-          }
+          shouldShowPrompt = true;
         }
       }
     }
diff --git a/toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadAuto.js b/toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadAuto.js
index 6a8835251dec..be65ce8ddef1 100644
--- a/toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadAuto.js
+++ b/toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_downloadAuto.js
@@ -15,7 +15,7 @@ add_task(async function aboutDialog_foregroundCheck_downloadAuto() {
 
   // Since the partial should be successful specify an invalid size for the
   // complete update.
-  let params = { queryString: "&invalidCompleteSize=1" };
+  let params = { queryString: "&invalidCompleteSize=1&promptWaitTime=0" };
   await runAboutDialogUpdateTest(params, [
     {
       panelId: "checkingForUpdates",
@@ -28,6 +28,22 @@ add_task(async function aboutDialog_foregroundCheck_downloadAuto() {
       continueFile: CONTINUE_DOWNLOAD,
       downloadInfo,
     },
+    async function aboutDialog_restart_notification() {
+      is(
+        PanelUI.notificationPanel.state,
+        "closed",
+        "The window's doorhanger is closed."
+      );
+      ok(
+        PanelUI.menuButton.hasAttribute("badge-status"),
+        "The window has a badge."
+      );
+      is(
+        PanelUI.menuButton.getAttribute("badge-status"),
+        "update-restart",
+        "The restart badge is showing for the background window"
+      );
+    },
     {
       panelId: "apply",
       checkActiveUpdate: { state: STATE_PENDING },





More information about the tbb-commits mailing list