Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(326)

Side by Side Diff: chrome/browser/resources/settings/about_page/channel_switcher_dialog.js

Issue 2538043006: Settings: About: Fix cros channel info. (Closed)
Patch Set: Fix non cros tests Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview 'settings-channel-switcher-dialog' is a component allowing the 6 * @fileoverview 'settings-channel-switcher-dialog' is a component allowing the
7 * user to switch between release channels (dev, beta, stable). A 7 * user to switch between release channels (dev, beta, stable). A
8 * |target-channel-changed| event is fired if the user does select a different 8 * |target-channel-changed| event is fired if the user does select a different
9 * release channel to notify parents of this dialog. 9 * release channel to notify parents of this dialog.
10 */ 10 */
11 Polymer({ 11 Polymer({
12 is: 'settings-channel-switcher-dialog', 12 is: 'settings-channel-switcher-dialog',
13 13
14 behaviors: [I18nBehavior], 14 behaviors: [I18nBehavior],
15 15
16 properties: { 16 properties: {
17 /** @private */ 17 /** @private */
18 browserChannelEnum_: { 18 browserChannelEnum_: {
19 type: Object, 19 type: Object,
20 value: BrowserChannel, 20 value: BrowserChannel,
21 }, 21 },
22 22
23 /** @private {!BrowserChannel} */ 23 /** @private {!BrowserChannel} */
24 currentChannel_: String, 24 currentChannel_: String,
25 25
26 /** @private {!BrowserChannel} */
27 targetChannel_: String,
28
26 /** 29 /**
27 * Controls which of the two action buttons is visible. 30 * Controls which of the two action buttons is visible.
28 * @private {?{changeChannel: boolean, changeChannelAndPowerwash: boolean}} 31 * @private {?{changeChannel: boolean, changeChannelAndPowerwash: boolean}}
29 */ 32 */
30 shouldShowButtons_: { 33 shouldShowButtons_: {
31 type: Object, 34 type: Object,
32 value: null, 35 value: null,
33 }, 36 },
34 37
35 /** @private {?{title: string, description: string}} */ 38 /** @private {?{title: string, description: string}} */
36 warning_: { 39 warning_: {
37 type: Object, 40 type: Object,
38 value: null, 41 value: null,
39 }, 42 },
40 }, 43 },
41 44
42 /** @private {?settings.AboutPageBrowserProxy} */ 45 /** @private {?settings.AboutPageBrowserProxy} */
43 browserProxy_: null, 46 browserProxy_: null,
44 47
45 /** @override */ 48 /** @override */
46 ready: function() { 49 ready: function() {
47 this.browserProxy_ = settings.AboutPageBrowserProxyImpl.getInstance(); 50 this.browserProxy_ = settings.AboutPageBrowserProxyImpl.getInstance();
48 51 this.browserProxy_.getChannelInfo().then(function(info) {
49 this.browserProxy_.getCurrentChannel().then(function(channel) { 52 this.currentChannel_ = info.currentChannel;
50 this.currentChannel_ = channel; 53 this.targetChannel_ = info.targetChannel;
51 // Pre-populate radio group with current channel. 54 // Pre-populate radio group with target channel.
52 this.$$('paper-radio-group').select(channel); 55 this.$$('paper-radio-group').select(this.targetChannel_);
53 }.bind(this)); 56 }.bind(this));
54 }, 57 },
55 58
56 /** @override */ 59 /** @override */
57 attached: function() { 60 attached: function() {
58 this.$.dialog.showModal(); 61 this.$.dialog.showModal();
59 }, 62 },
60 63
61 /** @private */ 64 /** @private */
62 onCancelTap_: function() { 65 onCancelTap_: function() {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 this.shouldShowButtons_ = { 114 this.shouldShowButtons_ = {
112 changeChannel: changeChannel, 115 changeChannel: changeChannel,
113 changeChannelAndPowerwash: changeChannelAndPowerwash, 116 changeChannelAndPowerwash: changeChannelAndPowerwash,
114 }; 117 };
115 }, 118 },
116 119
117 /** @private */ 120 /** @private */
118 onChannelSelectionChanged_: function() { 121 onChannelSelectionChanged_: function() {
119 var selectedChannel = this.$$('paper-radio-group').selected; 122 var selectedChannel = this.$$('paper-radio-group').selected;
120 123
124 // Selected channel is the same as the target channel so only show 'cancel'.
125 if (selectedChannel == this.targetChannel_) {
126 this.shouldShowButtons_ = null;
127 this.warning_ = null;
128 return;
129 }
130
131 // Selected channel is the same as the current channel, allow the user to
132 // change without warnings.
121 if (selectedChannel == this.currentChannel_) { 133 if (selectedChannel == this.currentChannel_) {
122 this.shouldShowButtons_ = null; 134 this.updateButtons_(true, false);
123 this.warning_ = null; 135 this.warning_ = null;
124 return; 136 return;
125 } 137 }
126 138
127 if (settings.isTargetChannelMoreStable( 139 if (settings.isTargetChannelMoreStable(
128 this.currentChannel_, selectedChannel)) { 140 this.currentChannel_, selectedChannel)) {
141 // More stable channel selected. For non managed devices, notify the user
142 // about powerwash.
129 if (loadTimeData.getBoolean('aboutEnterpriseManaged')) { 143 if (loadTimeData.getBoolean('aboutEnterpriseManaged')) {
130 this.updateWarning_( 144 this.updateWarning_(
131 'aboutDelayedWarningTitle', 145 'aboutDelayedWarningTitle', 'aboutDelayedWarningMessage',
132 'aboutDelayedWarningMessage',
133 'aboutProductTitle'); 146 'aboutProductTitle');
134 this.updateButtons_(true, false); 147 this.updateButtons_(true, false);
135 } else { 148 } else {
136 this.updateWarning_( 149 this.updateWarning_(
137 'aboutPowerwashWarningTitle', 'aboutPowerwashWarningMessage'); 150 'aboutPowerwashWarningTitle', 'aboutPowerwashWarningMessage');
138 this.updateButtons_(false, true); 151 this.updateButtons_(false, true);
139 } 152 }
140 } else { 153 } else {
141 this.updateWarning_( 154 if (selectedChannel == BrowserChannel.DEV) {
142 'aboutUnstableWarningTitle', 155 // Dev channel selected, warn the user.
143 'aboutUnstableWarningMessage', 156 this.updateWarning_(
144 'aboutProductTitle'); 157 'aboutUnstableWarningTitle', 'aboutUnstableWarningMessage',
158 'aboutProductTitle');
159 } else {
160 this.warning_ = null;
161 }
145 this.updateButtons_(true, false); 162 this.updateButtons_(true, false);
146 } 163 }
147 }, 164 },
148 165
149 /** 166 /**
150 * @return {boolean} 167 * @return {boolean}
151 * @private 168 * @private
152 */ 169 */
153 shouldShowWarning_: function() { 170 shouldShowWarning_: function() {
154 return this.warning_ !== null; 171 return this.warning_ !== null;
155 }, 172 },
156 }); 173 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698