| 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>
|
|
|
|
|