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

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

Issue 2011703002: MD Settings: About page, hooking up channel switcher dialog. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@about_regulatory_info
Patch Set: Indentation nits, after merging. Created 4 years, 6 months 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-about-page' contains version and OS related 6 * @fileoverview 'settings-about-page' contains version and OS related
7 * information. 7 * information.
8 */ 8 */
9 Polymer({ 9 Polymer({
10 is: 'settings-about-page', 10 is: 'settings-about-page',
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 browserProxy_: null, 42 browserProxy_: null,
43 43
44 /** 44 /**
45 * @type {string} Selector to get the sections. 45 * @type {string} Selector to get the sections.
46 * TODO(michaelpg): replace duplicate docs with @override once b/24294625 46 * TODO(michaelpg): replace duplicate docs with @override once b/24294625
47 * is fixed. 47 * is fixed.
48 */ 48 */
49 sectionSelector: 'settings-section', 49 sectionSelector: 'settings-section',
50 50
51 /** @override */ 51 /** @override */
52 ready: function() { 52 attached: function() {
53 this.browserProxy_ = settings.AboutPageBrowserProxyImpl.getInstance(); 53 this.browserProxy_ = settings.AboutPageBrowserProxyImpl.getInstance();
54 this.browserProxy_.pageReady(); 54 this.browserProxy_.pageReady();
55 55
56 <if expr="chromeos"> 56 <if expr="chromeos">
57 this.addEventListener('target-channel-changed', function(e) {
58 this.targetChannel_ = e.detail;
59 }.bind(this));
60
57 Promise.all([ 61 Promise.all([
58 this.browserProxy_.getCurrentChannel(), 62 this.browserProxy_.getCurrentChannel(),
59 this.browserProxy_.getTargetChannel(), 63 this.browserProxy_.getTargetChannel(),
60 ]).then(function(channels) { 64 ]).then(function(channels) {
61 this.currentChannel_ = channels[0]; 65 this.currentChannel_ = channels[0];
62 this.targetChannel_ = channels[1]; 66 this.targetChannel_ = channels[1];
63 67
64 this.startListening_(); 68 this.startListening_();
65 }.bind(this)); 69 }.bind(this));
66 70
67 this.browserProxy_.getRegulatoryInfo().then(function(info) { 71 this.browserProxy_.getRegulatoryInfo().then(function(info) {
68 this.regulatoryInfo_ = info; 72 this.regulatoryInfo_ = info;
69 }.bind(this)); 73 }.bind(this));
70 </if> 74 </if>
71 <if expr="not chromeos"> 75 <if expr="not chromeos">
72 this.startListening_(); 76 this.startListening_();
73 </if> 77 </if>
78
79 this.scroller = this.parentElement;
74 }, 80 },
75 81
76 /** @private */ 82 /** @private */
77 startListening_: function() { 83 startListening_: function() {
78 this.addWebUIListener( 84 this.addWebUIListener(
79 'update-status-changed', 85 'update-status-changed',
80 this.onUpdateStatusChanged_.bind(this)); 86 this.onUpdateStatusChanged_.bind(this));
81 this.browserProxy_.refreshUpdateStatus(); 87 this.browserProxy_.refreshUpdateStatus();
82 }, 88 },
83 89
84 /** 90 /**
85 * @param {!UpdateStatusChangedEvent} event 91 * @param {!UpdateStatusChangedEvent} event
86 * @private 92 * @private
87 */ 93 */
88 onUpdateStatusChanged_: function(event) { 94 onUpdateStatusChanged_: function(event) {
89 <if expr="chromeos"> 95 <if expr="chromeos">
90 if (event.status == UpdateStatus.CHECKING) 96 if (event.status == UpdateStatus.CHECKING)
91 this.hasCheckedForUpdates_ = true; 97 this.hasCheckedForUpdates_ = true;
92 </if> 98 </if>
93 this.currentUpdateStatusEvent_ = event; 99 this.currentUpdateStatusEvent_ = event;
94 }, 100 },
95 101
96 /** @override */
97 attached: function() {
98 this.scroller = this.parentElement;
99 },
100
101 /** @private */ 102 /** @private */
102 onHelpTap_: function() { 103 onHelpTap_: function() {
103 this.browserProxy_.openHelpPage(); 104 this.browserProxy_.openHelpPage();
104 }, 105 },
105 106
106 /** @private */ 107 /** @private */
107 onRelaunchTap_: function() { 108 onRelaunchTap_: function() {
108 this.browserProxy_.relaunchNow(); 109 this.browserProxy_.relaunchNow();
109 }, 110 },
110 111
111 /** 112 /**
112 * @return {boolean} 113 * @return {boolean}
113 * @private 114 * @private
114 */ 115 */
115 shouldShowUpdateStatus_: function() { 116 shouldShowUpdateStatus_: function() {
116 return this.currentUpdateStatusEvent_.status != UpdateStatus.DISABLED; 117 return this.currentUpdateStatusEvent_.status != UpdateStatus.DISABLED;
117 }, 118 },
118 119
119 /** 120 /**
120 * @return {boolean} 121 * @return {boolean}
121 * @private 122 * @private
122 */ 123 */
123 shouldShowRelaunch_: function() { 124 shouldShowRelaunch_: function() {
124 var shouldShow = false; 125 var shouldShow = false;
125 <if expr="not chromeos"> 126 <if expr="not chromeos">
126 shouldShow = 127 shouldShow = this.checkStatus_(UpdateStatus.NEARLY_UPDATED);
127 this.currentUpdateStatusEvent_.status == UpdateStatus.NEARLY_UPDATED;
128 </if> 128 </if>
129 <if expr="chromeos"> 129 <if expr="chromeos">
130 shouldShow = !this.isTargetChannelMoreStable_() && 130 shouldShow = this.checkStatus_(UpdateStatus.NEARLY_UPDATED) &&
131 this.currentUpdateStatusEvent_.status == UpdateStatus.NEARLY_UPDATED; 131 !this.isTargetChannelMoreStable_();
132 </if> 132 </if>
133 return shouldShow; 133 return shouldShow;
134 }, 134 },
135 135
136 /** 136 /**
137 * @return {string} 137 * @return {string}
138 * @private 138 * @private
139 */ 139 */
140 getUpdateStatusMessage_: function() { 140 getUpdateStatusMessage_: function() {
141 switch (this.currentUpdateStatusEvent_.status) { 141 switch (this.currentUpdateStatusEvent_.status) {
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 getIconSrc_: function() { 187 getIconSrc_: function() {
188 switch (this.currentUpdateStatusEvent_.status) { 188 switch (this.currentUpdateStatusEvent_.status) {
189 case UpdateStatus.CHECKING: 189 case UpdateStatus.CHECKING:
190 case UpdateStatus.UPDATING: 190 case UpdateStatus.UPDATING:
191 return 'chrome://resources/images/throbber_small.svg'; 191 return 'chrome://resources/images/throbber_small.svg';
192 default: 192 default:
193 return null; 193 return null;
194 } 194 }
195 }, 195 },
196 196
197 /**
198 * @param {!UpdateStatus} status
199 * @return {boolean}
200 * @private
201 */
202 checkStatus_: function(status) {
203 return this.currentUpdateStatusEvent_.status == status;
204 },
205
197 <if expr="chromeos"> 206 <if expr="chromeos">
198 /** 207 /**
199 * @return {boolean} 208 * @return {boolean}
200 * @private 209 * @private
201 */ 210 */
202 isTargetChannelMoreStable_: function() { 211 isTargetChannelMoreStable_: function() {
203 assert(this.currentChannel_.length > 0); 212 assert(this.currentChannel_.length > 0);
204 assert(this.targetChannel_.length > 0); 213 assert(this.targetChannel_.length > 0);
205 return settings.isTargetChannelMoreStable( 214 return settings.isTargetChannelMoreStable(
206 this.currentChannel_, this.targetChannel_); 215 this.currentChannel_, this.targetChannel_);
207 }, 216 },
208 217
209 /** @private */ 218 /** @private */
210 onDetailedBuildInfoTap_: function() { 219 onDetailedBuildInfoTap_: function() {
211 var animatedPages = /** @type {!SettingsAnimatedPagesElement} */ ( 220 var animatedPages = /** @type {!SettingsAnimatedPagesElement} */ (
212 this.$.pages); 221 this.$.pages);
213 animatedPages.setSubpageChain(['detailed-build-info']); 222 animatedPages.setSubpageChain(['detailed-build-info']);
214 }, 223 },
215 224
216 /** @private */ 225 /** @private */
217 onRelaunchAndPowerwashTap_: function() { 226 onRelaunchAndPowerwashTap_: function() {
218 // TODO(dpapad): Implement this. 227 // TODO(dpapad): Implement this.
219 }, 228 },
220 229
221 /** 230 /**
222 * @return {boolean} 231 * @return {boolean}
223 * @private 232 * @private
224 */ 233 */
225 shouldShowRelaunchAndPowerwash_: function() { 234 shouldShowRelaunchAndPowerwash_: function() {
226 return this.isTargetChannelMoreStable_() && 235 return this.checkStatus_(UpdateStatus.NEARLY_UPDATED) &&
227 this.currentUpdateStatusEvent_.status == UpdateStatus.NEARLY_UPDATED; 236 this.isTargetChannelMoreStable_();
228 }, 237 },
229 238
230 /** @private */ 239 /** @private */
231 onCheckUpdatesTap_: function() { 240 onCheckUpdatesTap_: function() {
232 this.onUpdateStatusChanged_({status: UpdateStatus.CHECKING}); 241 this.onUpdateStatusChanged_({status: UpdateStatus.CHECKING});
233 this.browserProxy_.requestUpdate(); 242 this.browserProxy_.requestUpdate();
234 }, 243 },
235 244
236 /** 245 /**
237 * @return {boolean} 246 * @return {boolean}
238 * @private 247 * @private
239 */ 248 */
240 shouldShowCheckUpdates_: function() { 249 shouldShowCheckUpdates_: function() {
241 return !this.hasCheckedForUpdates_ || 250 return !this.hasCheckedForUpdates_ ||
242 this.currentUpdateStatusEvent_.status == UpdateStatus.FAILED; 251 this.checkStatus_(UpdateStatus.FAILED);
243 }, 252 },
244 253
245 /** 254 /**
246 * @return {boolean} 255 * @return {boolean}
247 * @private 256 * @private
248 */ 257 */
249 shouldShowRegulatoryInfo_: function() { 258 shouldShowRegulatoryInfo_: function() {
250 return this.regulatoryInfo_ !== null; 259 return this.regulatoryInfo_ !== null;
251 }, 260 },
252 </if> 261 </if>
253 262
254 <if expr="_google_chrome"> 263 <if expr="_google_chrome">
255 /** @private */ 264 /** @private */
256 onReportIssueTap_: function() { 265 onReportIssueTap_: function() {
257 this.browserProxy_.openFeedbackDialog(); 266 this.browserProxy_.openFeedbackDialog();
258 }, 267 },
259 </if> 268 </if>
260 }); 269 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698