| Index: chrome/browser/resources/settings/about_page/channel_switcher_dialog.js
|
| diff --git a/chrome/browser/resources/settings/about_page/channel_switcher_dialog.js b/chrome/browser/resources/settings/about_page/channel_switcher_dialog.js
|
| index 14b01f6677b5be6df406e3ea2798c0417a497af0..3cd8913f358bf727dace9eef1c72194d30f8e524 100644
|
| --- a/chrome/browser/resources/settings/about_page/channel_switcher_dialog.js
|
| +++ b/chrome/browser/resources/settings/about_page/channel_switcher_dialog.js
|
| @@ -23,6 +23,9 @@ Polymer({
|
| /** @private {!BrowserChannel} */
|
| currentChannel_: String,
|
|
|
| + /** @private {!BrowserChannel} */
|
| + targetChannel_: String,
|
| +
|
| /**
|
| * Controls which of the two action buttons is visible.
|
| * @private {?{changeChannel: boolean, changeChannelAndPowerwash: boolean}}
|
| @@ -45,11 +48,11 @@ Polymer({
|
| /** @override */
|
| ready: function() {
|
| this.browserProxy_ = settings.AboutPageBrowserProxyImpl.getInstance();
|
| -
|
| - this.browserProxy_.getCurrentChannel().then(function(channel) {
|
| - this.currentChannel_ = channel;
|
| - // Pre-populate radio group with current channel.
|
| - this.$$('paper-radio-group').select(channel);
|
| + this.browserProxy_.getChannelInfo().then(function(info) {
|
| + this.currentChannel_ = info.currentChannel;
|
| + this.targetChannel_ = info.targetChannel;
|
| + // Pre-populate radio group with target channel.
|
| + this.$$('paper-radio-group').select(this.targetChannel_);
|
| }.bind(this));
|
| },
|
|
|
| @@ -118,30 +121,44 @@ Polymer({
|
| onChannelSelectionChanged_: function() {
|
| var selectedChannel = this.$$('paper-radio-group').selected;
|
|
|
| - if (selectedChannel == this.currentChannel_) {
|
| + // Selected channel is the same as the target channel so only show 'cancel'.
|
| + if (selectedChannel == this.targetChannel_) {
|
| this.shouldShowButtons_ = null;
|
| this.warning_ = null;
|
| return;
|
| }
|
|
|
| + // Selected channel is the same as the current channel, allow the user to
|
| + // change without warnings.
|
| + if (selectedChannel == this.currentChannel_) {
|
| + this.updateButtons_(true, false);
|
| + this.warning_ = null;
|
| + return;
|
| + }
|
| +
|
| if (settings.isTargetChannelMoreStable(
|
| this.currentChannel_, selectedChannel)) {
|
| + // More stable channel selected. For non managed devices, notify the user
|
| + // about powerwash.
|
| if (loadTimeData.getBoolean('aboutEnterpriseManaged')) {
|
| this.updateWarning_(
|
| - 'aboutDelayedWarningTitle',
|
| - 'aboutDelayedWarningMessage',
|
| + 'aboutDelayedWarningTitle', 'aboutDelayedWarningMessage',
|
| 'aboutProductTitle');
|
| this.updateButtons_(true, false);
|
| } else {
|
| this.updateWarning_(
|
| - 'aboutPowerwashWarningTitle', 'aboutPowerwashWarningMessage');
|
| + 'aboutPowerwashWarningTitle', 'aboutPowerwashWarningMessage');
|
| this.updateButtons_(false, true);
|
| }
|
| } else {
|
| - this.updateWarning_(
|
| - 'aboutUnstableWarningTitle',
|
| - 'aboutUnstableWarningMessage',
|
| - 'aboutProductTitle');
|
| + if (selectedChannel == BrowserChannel.DEV) {
|
| + // Dev channel selected, warn the user.
|
| + this.updateWarning_(
|
| + 'aboutUnstableWarningTitle', 'aboutUnstableWarningMessage',
|
| + 'aboutProductTitle');
|
| + } else {
|
| + this.warning_ = null;
|
| + }
|
| this.updateButtons_(true, false);
|
| }
|
| },
|
|
|