Index: chrome/browser/resources/settings/about_page/about_page.js |
diff --git a/chrome/browser/resources/settings/about_page/about_page.js b/chrome/browser/resources/settings/about_page/about_page.js |
index 54ca31e5695f2b294c6a18bbac756df54bc4b0a6..9251cc4fb2e404ec797eceeb890458d82be2831c 100644 |
--- a/chrome/browser/resources/settings/about_page/about_page.js |
+++ b/chrome/browser/resources/settings/about_page/about_page.js |
@@ -72,7 +72,8 @@ Polymer({ |
/** @private */ |
showCheckUpdates_: { |
type: Boolean, |
- computed: 'computeShowCheckUpdates_(currentUpdateStatusEvent_)', |
+ computed: 'computeShowCheckUpdates_(' + |
+ 'currentUpdateStatusEvent_, hasCheckedForUpdates_)', |
}, |
/** @private {!Map<string, string>} */ |
@@ -171,9 +172,9 @@ Polymer({ |
*/ |
onUpdateStatusChanged_: function(event) { |
// <if expr="chromeos"> |
- if (event.status == UpdateStatus.CHECKING) |
+ if (event.status == UpdateStatus.CHECKING) { |
this.hasCheckedForUpdates_ = true; |
- else if (event.status == UpdateStatus.NEED_PERMISSION_TO_UPDATE) { |
+ } else if (event.status == UpdateStatus.NEED_PERMISSION_TO_UPDATE) { |
this.showUpdateWarningDialog_ = true; |
this.updateInfo_ = {version: event.version, size: event.size}; |
} |
@@ -226,9 +227,10 @@ Polymer({ |
/** @private */ |
updateShowUpdateStatus_: function() { |
// <if expr="chromeos"> |
- // Assume the "updated" status is stale if we haven't checked yet. |
+ // Do not show the "updated" status if we haven't checked yet or the update |
+ // warning dialog is shown to user. |
if (this.currentUpdateStatusEvent_.status == UpdateStatus.UPDATED && |
- !this.hasCheckedForUpdates_) { |
+ (!this.hasCheckedForUpdates_ || this.showUpdateWarningDialog_)) { |
this.showUpdateStatus_ = false; |
return; |
} |
@@ -271,14 +273,8 @@ Polymer({ |
getUpdateStatusMessage_: function() { |
switch (this.currentUpdateStatusEvent_.status) { |
case UpdateStatus.CHECKING: |
- return this.i18n('aboutUpgradeCheckStarted'); |
case UpdateStatus.NEED_PERMISSION_TO_UPDATE: |
- // This status is immediately followed by an reporting error status. |
- // When update engine reports error, UI just shows that your device is |
- // up to date. This is a bug that needs to be fixed in the future. |
- // TODO(weidongg/581071): Show proper message when update engine aborts |
- // due to cellular connection. |
- return ''; |
+ return this.i18n('aboutUpgradeCheckStarted'); |
case UpdateStatus.NEARLY_UPDATED: |
// <if expr="chromeos"> |
if (this.currentChannel_ != this.targetChannel_) |
@@ -420,8 +416,7 @@ Polymer({ |
var staleUpdatedStatus = !this.hasCheckedForUpdates_ && |
this.checkStatus_(UpdateStatus.UPDATED); |
- return staleUpdatedStatus || this.checkStatus_(UpdateStatus.FAILED) || |
- this.checkStatus_(UpdateStatus.NEED_PERMISSION_TO_UPDATE); |
+ return staleUpdatedStatus || this.checkStatus_(UpdateStatus.FAILED); |
}, |
/** |
@@ -435,6 +430,9 @@ Polymer({ |
/** @private */ |
onUpdateWarningDialogClose_: function() { |
this.showUpdateWarningDialog_ = false; |
+ // Shows 'check for updates' button in case that the user cancels the |
+ // dialog and then intends to check for update again. |
+ this.hasCheckedForUpdates_ = false; |
}, |
// </if> |