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

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

Issue 2457483002: [MD Settings][Sync Settings] Updates sync status messages (Closed)
Patch Set: Addressed maxbogue's and dbeam's comments Created 4 years, 1 month 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 6 * @fileoverview
7 * 'settings-people-page' is the settings page containing sign-in settings. 7 * 'settings-people-page' is the settings page containing sign-in settings.
8 */ 8 */
9 Polymer({ 9 Polymer({
10 is: 'settings-people-page', 10 is: 'settings-people-page',
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 this.syncBrowserProxy_.signOut(deleteProfile); 250 this.syncBrowserProxy_.signOut(deleteProfile);
251 251
252 this.$.disconnectDialog.close(); 252 this.$.disconnectDialog.close();
253 }, 253 },
254 254
255 /** @private */ 255 /** @private */
256 onSyncTap_: function() { 256 onSyncTap_: function() {
257 assert(this.syncStatus.signedIn); 257 assert(this.syncStatus.signedIn);
258 assert(this.syncStatus.syncSystemEnabled); 258 assert(this.syncStatus.syncSystemEnabled);
259 259
260 if (this.syncStatus.managed) 260 if (!this.isSyncStatusActionable_(this.syncStatus))
261 return; 261 return;
262 262
263 settings.navigateTo(settings.Route.SYNC); 263 switch (this.syncStatus.statusAction) {
264 case settings.StatusAction.REAUTHENTICATE:
265 <if expr="chromeos">
266 this.syncBrowserProxy_.attemptUserExit();
267 </if>
268 <if expr="not chromeos">
269 if (this.syncStatus.domain)
270 settings.navigateTo(settings.Route.SIGN_OUT);
271 else {
272 // Silently sign the user out without deleting their profile and
273 // prompt them to sign back in.
274 this.syncBrowserProxy_.signOut(false);
275 this.syncBrowserProxy_.startSignIn();
276 }
277 </if>
278 break;
279 case settings.StatusAction.UPGRADE_CLIENT:
280 settings.navigateTo(settings.Route.ABOUT);
281 break;
282 case settings.StatusAction.ENTER_PASSPHRASE:
283 case settings.StatusAction.NO_ACTION:
284 default:
285 settings.navigateTo(settings.Route.SYNC);
286 }
264 }, 287 },
265 288
266 <if expr="chromeos"> 289 <if expr="chromeos">
267 /** @private */ 290 /** @private */
268 onConfigureLockTap_: function() { 291 onConfigureLockTap_: function() {
269 settings.navigateTo(settings.Route.LOCK_SCREEN); 292 settings.navigateTo(settings.Route.LOCK_SCREEN);
270 }, 293 },
271 294
272 /** @private */ 295 /** @private */
273 onEasyUnlockSetupTap_: function() { 296 onEasyUnlockSetupTap_: function() {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 * @return {boolean} 353 * @return {boolean}
331 */ 354 */
332 isAdvancedSyncSettingsVisible_: function(syncStatus) { 355 isAdvancedSyncSettingsVisible_: function(syncStatus) {
333 return !!syncStatus && !!syncStatus.signedIn && 356 return !!syncStatus && !!syncStatus.signedIn &&
334 !!syncStatus.syncSystemEnabled; 357 !!syncStatus.syncSystemEnabled;
335 }, 358 },
336 359
337 /** 360 /**
338 * @private 361 * @private
339 * @param {?settings.SyncStatus} syncStatus 362 * @param {?settings.SyncStatus} syncStatus
363 * @return {boolean} Whether an action can be taken with the sync status. sync
364 * status is actionable if sync is not managed and if there is a sync
365 * error, there is an action associated with it.
366 */
367 isSyncStatusActionable_: function(syncStatus) {
368 return !!syncStatus && !syncStatus.managed && (!syncStatus.hasError ||
369 syncStatus.statusAction != settings.StatusAction.NO_ACTION);
370 },
371
372 /**
373 * @private
374 * @param {?settings.SyncStatus} syncStatus
340 * @return {string} 375 * @return {string}
341 */ 376 */
342 getSyncIcon_: function(syncStatus) { 377 getSyncIcon_: function(syncStatus) {
343 if (!syncStatus) 378 if (!syncStatus)
344 return ''; 379 return '';
380
381 var syncIcon = 'settings:sync';
382
345 if (syncStatus.hasError) 383 if (syncStatus.hasError)
346 return 'settings:sync-problem'; 384 syncIcon = 'settings:sync-problem';
385
386 // Override the icon to the disabled icon if sync is managed.
347 if (syncStatus.managed) 387 if (syncStatus.managed)
348 return 'settings:sync-disabled'; 388 syncIcon = 'settings:sync-disabled';
349 389
350 return 'settings:sync'; 390 return syncIcon;
351 }, 391 },
352 392
353 /** 393 /**
394 * @private
395 * @param {?settings.SyncStatus} syncStatus
396 * @return {string} The class name for the sync status text.
397 */
398 getSyncStatusTextClass_: function(syncStatus) {
399 return (!!syncStatus && syncStatus.hasError) ? 'sync-error' : '';
400 },
401
402 /**
354 * @param {string} iconUrl 403 * @param {string} iconUrl
355 * @return {string} A CSS imageset for multiple scale factors. 404 * @return {string} A CSS imageset for multiple scale factors.
356 * @private 405 * @private
357 */ 406 */
358 getIconImageset_: function(iconUrl) { 407 getIconImageset_: function(iconUrl) {
359 return cr.icon.getImage(iconUrl); 408 return cr.icon.getImage(iconUrl);
360 }, 409 },
361 410
362 /** 411 /**
363 * @param {!settings.SyncStatus} syncStatus 412 * @param {!settings.SyncStatus} syncStatus
364 * @return {boolean} Whether to show the "Sign in to Chrome" button. 413 * @return {boolean} Whether to show the "Sign in to Chrome" button.
365 * @private 414 * @private
366 */ 415 */
367 showSignin_: function(syncStatus) { 416 showSignin_: function(syncStatus) {
368 return !!syncStatus.signinAllowed && !syncStatus.signedIn; 417 return !!syncStatus.signinAllowed && !syncStatus.signedIn;
369 }, 418 },
370 }); 419 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698