| OLD | NEW |
| 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', |
| 11 | 11 |
| 12 behaviors: [ | 12 behaviors: [ |
| 13 settings.RouteObserverBehavior, | 13 settings.RouteObserverBehavior, I18nBehavior, WebUIListenerBehavior, |
| 14 I18nBehavior, | 14 // <if expr="chromeos"> |
| 15 WebUIListenerBehavior, | |
| 16 // <if expr="chromeos"> | |
| 17 LockStateBehavior, | 15 LockStateBehavior, |
| 18 // </if> | 16 // </if> |
| 19 ], | 17 ], |
| 20 | 18 |
| 21 properties: { | 19 properties: { |
| 22 /** | 20 /** |
| 23 * Preferences state. | 21 * Preferences state. |
| 24 */ | 22 */ |
| 25 prefs: { | 23 prefs: { |
| 26 type: Object, | 24 type: Object, |
| 27 notify: true, | 25 notify: true, |
| 28 }, | 26 }, |
| (...skipping 29 matching lines...) Expand all Loading... |
| 58 /** | 56 /** |
| 59 * True if the profile deletion warning is visible. | 57 * True if the profile deletion warning is visible. |
| 60 */ | 58 */ |
| 61 deleteProfileWarningVisible_: Boolean, | 59 deleteProfileWarningVisible_: Boolean, |
| 62 | 60 |
| 63 /** | 61 /** |
| 64 * True if the checkbox to delete the profile has been checked. | 62 * True if the checkbox to delete the profile has been checked. |
| 65 */ | 63 */ |
| 66 deleteProfile_: Boolean, | 64 deleteProfile_: Boolean, |
| 67 | 65 |
| 68 // <if expr="not chromeos"> | 66 // <if expr="not chromeos"> |
| 69 /** @private */ | 67 /** @private */ |
| 70 showImportDataDialog_: { | 68 showImportDataDialog_: { |
| 71 type: Boolean, | 69 type: Boolean, |
| 72 value: false, | 70 value: false, |
| 73 }, | 71 }, |
| 74 // </if> | 72 // </if> |
| 75 | 73 |
| 76 /** @private */ | 74 /** @private */ |
| 77 showDisconnectDialog_: Boolean, | 75 showDisconnectDialog_: Boolean, |
| 78 | 76 |
| 79 // <if expr="chromeos"> | 77 // <if expr="chromeos"> |
| 80 /** | 78 /** |
| 81 * True if fingerprint settings should be displayed on this machine. | 79 * True if fingerprint settings should be displayed on this machine. |
| 82 * @private | 80 * @private |
| 83 */ | 81 */ |
| 84 fingerprintUnlockEnabled_: { | 82 fingerprintUnlockEnabled_: { |
| 85 type: Boolean, | 83 type: Boolean, |
| 86 value: function() { | 84 value: function() { |
| 87 return loadTimeData.getBoolean('fingerprintUnlockEnabled'); | 85 return loadTimeData.getBoolean('fingerprintUnlockEnabled'); |
| 88 }, | 86 }, |
| 89 readOnly: true, | 87 readOnly: true, |
| 90 }, | 88 }, |
| 91 // </if> | 89 // </if> |
| 92 | 90 |
| 93 /** @private {!Map<string, string>} */ | 91 /** @private {!Map<string, string>} */ |
| 94 focusConfig_: { | 92 focusConfig_: { |
| 95 type: Object, | 93 type: Object, |
| 96 value: function() { | 94 value: function() { |
| 97 var map = new Map(); | 95 var map = new Map(); |
| 98 map.set( | 96 map.set(settings.Route.SYNC.path, '#sync-status .subpage-arrow'); |
| 99 settings.Route.SYNC.path, '#sync-status .subpage-arrow'); | 97 // <if expr="not chromeos"> |
| 100 // <if expr="not chromeos"> | |
| 101 map.set( | 98 map.set( |
| 102 settings.Route.MANAGE_PROFILE.path, | 99 settings.Route.MANAGE_PROFILE.path, |
| 103 '#picture-subpage-trigger .subpage-arrow'); | 100 '#picture-subpage-trigger .subpage-arrow'); |
| 104 // </if> | 101 // </if> |
| 105 // <if expr="chromeos"> | 102 // <if expr="chromeos"> |
| 106 map.set( | 103 map.set( |
| 107 settings.Route.CHANGE_PICTURE.path, | 104 settings.Route.CHANGE_PICTURE.path, |
| 108 '#picture-subpage-trigger .subpage-arrow'); | 105 '#picture-subpage-trigger .subpage-arrow'); |
| 109 map.set( | 106 map.set( |
| 110 settings.Route.LOCK_SCREEN.path, | 107 settings.Route.LOCK_SCREEN.path, |
| 111 '#lock-screen-subpage-trigger .subpage-arrow'); | 108 '#lock-screen-subpage-trigger .subpage-arrow'); |
| 112 map.set( | 109 map.set( |
| 113 settings.Route.ACCOUNTS.path, | 110 settings.Route.ACCOUNTS.path, |
| 114 '#manage-other-people-subpage-trigger .subpage-arrow'); | 111 '#manage-other-people-subpage-trigger .subpage-arrow'); |
| 115 // </if> | 112 // </if> |
| 116 return map; | 113 return map; |
| 117 }, | 114 }, |
| 118 }, | 115 }, |
| 119 }, | 116 }, |
| 120 | 117 |
| 121 /** @private {?settings.SyncBrowserProxy} */ | 118 /** @private {?settings.SyncBrowserProxy} */ |
| 122 syncBrowserProxy_: null, | 119 syncBrowserProxy_: null, |
| 123 | 120 |
| 124 /** @override */ | 121 /** @override */ |
| 125 attached: function() { | 122 attached: function() { |
| 126 var profileInfoProxy = settings.ProfileInfoBrowserProxyImpl.getInstance(); | 123 var profileInfoProxy = settings.ProfileInfoBrowserProxyImpl.getInstance(); |
| 127 profileInfoProxy.getProfileInfo().then(this.handleProfileInfo_.bind(this)); | 124 profileInfoProxy.getProfileInfo().then(this.handleProfileInfo_.bind(this)); |
| 128 this.addWebUIListener('profile-info-changed', | 125 this.addWebUIListener( |
| 129 this.handleProfileInfo_.bind(this)); | 126 'profile-info-changed', this.handleProfileInfo_.bind(this)); |
| 130 | 127 |
| 131 profileInfoProxy.getProfileManagesSupervisedUsers().then( | 128 profileInfoProxy.getProfileManagesSupervisedUsers().then( |
| 132 this.handleProfileManagesSupervisedUsers_.bind(this)); | 129 this.handleProfileManagesSupervisedUsers_.bind(this)); |
| 133 this.addWebUIListener('profile-manages-supervised-users-changed', | 130 this.addWebUIListener( |
| 134 this.handleProfileManagesSupervisedUsers_.bind(this)); | 131 'profile-manages-supervised-users-changed', |
| 132 this.handleProfileManagesSupervisedUsers_.bind(this)); |
| 135 | 133 |
| 136 this.addWebUIListener('profile-stats-count-ready', | 134 this.addWebUIListener( |
| 137 this.handleProfileStatsCount_.bind(this)); | 135 'profile-stats-count-ready', this.handleProfileStatsCount_.bind(this)); |
| 138 | 136 |
| 139 this.syncBrowserProxy_ = settings.SyncBrowserProxyImpl.getInstance(); | 137 this.syncBrowserProxy_ = settings.SyncBrowserProxyImpl.getInstance(); |
| 140 this.syncBrowserProxy_.getSyncStatus().then( | 138 this.syncBrowserProxy_.getSyncStatus().then( |
| 141 this.handleSyncStatus_.bind(this)); | 139 this.handleSyncStatus_.bind(this)); |
| 142 this.addWebUIListener('sync-status-changed', | 140 this.addWebUIListener( |
| 143 this.handleSyncStatus_.bind(this)); | 141 'sync-status-changed', this.handleSyncStatus_.bind(this)); |
| 144 }, | 142 }, |
| 145 | 143 |
| 146 /** @protected */ | 144 /** @protected */ |
| 147 currentRouteChanged: function() { | 145 currentRouteChanged: function() { |
| 148 this.showImportDataDialog_ = | 146 this.showImportDataDialog_ = |
| 149 settings.getCurrentRoute() == settings.Route.IMPORT_DATA; | 147 settings.getCurrentRoute() == settings.Route.IMPORT_DATA; |
| 150 | 148 |
| 151 if (settings.getCurrentRoute() == settings.Route.SIGN_OUT) { | 149 if (settings.getCurrentRoute() == settings.Route.SIGN_OUT) { |
| 152 // If the sync status has not been fetched yet, optimistically display | 150 // If the sync status has not been fetched yet, optimistically display |
| 153 // the disconnect dialog. There is another check when the sync status is | 151 // the disconnect dialog. There is another check when the sync status is |
| 154 // fetched. The dialog will be closed then the user is not signed in. | 152 // fetched. The dialog will be closed then the user is not signed in. |
| 155 if (this.syncStatus && !this.syncStatus.signedIn) { | 153 if (this.syncStatus && !this.syncStatus.signedIn) { |
| 156 settings.navigateToPreviousRoute(); | 154 settings.navigateToPreviousRoute(); |
| 157 } else { | 155 } else { |
| 158 this.showDisconnectDialog_ = true; | 156 this.showDisconnectDialog_ = true; |
| 159 this.async(function() { | 157 this.async(function() { |
| 160 this.$$('#disconnectDialog').showModal(); | 158 this.$$('#disconnectDialog').showModal(); |
| 161 }.bind(this)); | 159 }.bind(this)); |
| 162 } | 160 } |
| 163 } else if (this.showDisconnectDialog_) { | 161 } else if (this.showDisconnectDialog_) { |
| 164 this.$$('#disconnectDialog').close(); | 162 this.$$('#disconnectDialog').close(); |
| 165 } | 163 } |
| 166 }, | 164 }, |
| 167 | 165 |
| 168 // <if expr="chromeos"> | 166 // <if expr="chromeos"> |
| 169 /** @private */ | 167 /** @private */ |
| 170 getPasswordState_: function(hasPin, enableScreenLock) { | 168 getPasswordState_: function(hasPin, enableScreenLock) { |
| 171 if (!enableScreenLock) | 169 if (!enableScreenLock) |
| 172 return this.i18n('lockScreenNone'); | 170 return this.i18n('lockScreenNone'); |
| 173 if (hasPin) | 171 if (hasPin) |
| 174 return this.i18n('lockScreenPinOrPassword'); | 172 return this.i18n('lockScreenPinOrPassword'); |
| 175 return this.i18n('lockScreenPasswordOnly'); | 173 return this.i18n('lockScreenPasswordOnly'); |
| 176 }, | 174 }, |
| 177 // </if> | 175 // </if> |
| 178 | 176 |
| 179 /** | 177 /** |
| 180 * Handler for when the profile's icon and name is updated. | 178 * Handler for when the profile's icon and name is updated. |
| 181 * @private | 179 * @private |
| 182 * @param {!settings.ProfileInfo} info | 180 * @param {!settings.ProfileInfo} info |
| 183 */ | 181 */ |
| 184 handleProfileInfo_: function(info) { | 182 handleProfileInfo_: function(info) { |
| 185 this.profileName_ = info.name; | 183 this.profileName_ = info.name; |
| 186 this.profileIconUrl_ = info.iconUrl; | 184 this.profileIconUrl_ = info.iconUrl; |
| 187 }, | 185 }, |
| 188 | 186 |
| 189 /** | 187 /** |
| 190 * Handler for when the profile starts or stops managing supervised users. | 188 * Handler for when the profile starts or stops managing supervised users. |
| 191 * @private | 189 * @private |
| 192 * @param {boolean} managesSupervisedUsers | 190 * @param {boolean} managesSupervisedUsers |
| 193 */ | 191 */ |
| 194 handleProfileManagesSupervisedUsers_: function(managesSupervisedUsers) { | 192 handleProfileManagesSupervisedUsers_: function(managesSupervisedUsers) { |
| 195 this.profileManagesSupervisedUsers_ = managesSupervisedUsers; | 193 this.profileManagesSupervisedUsers_ = managesSupervisedUsers; |
| 196 }, | 194 }, |
| 197 | 195 |
| 198 /** | 196 /** |
| 199 * Handler for when the profile stats count is pushed from the browser. | 197 * Handler for when the profile stats count is pushed from the browser. |
| 200 * @param {number} count | 198 * @param {number} count |
| 201 * @private | 199 * @private |
| 202 */ | 200 */ |
| 203 handleProfileStatsCount_: function(count) { | 201 handleProfileStatsCount_: function(count) { |
| 204 this.deleteProfileWarning_ = (count > 0) ? | 202 this.deleteProfileWarning_ = (count > 0) ? |
| 205 (count == 1) ? | 203 (count == 1) ? loadTimeData.getStringF( |
| 206 loadTimeData.getStringF('deleteProfileWarningWithCountsSingular', | 204 'deleteProfileWarningWithCountsSingular', |
| 207 this.syncStatus.signedInUsername) : | 205 this.syncStatus.signedInUsername) : |
| 208 loadTimeData.getStringF('deleteProfileWarningWithCountsPlural', | 206 loadTimeData.getStringF( |
| 209 count, this.syncStatus.signedInUsername) : | 207 'deleteProfileWarningWithCountsPlural', count, |
| 210 loadTimeData.getStringF('deleteProfileWarningWithoutCounts', | 208 this.syncStatus.signedInUsername) : |
| 211 this.syncStatus.signedInUsername); | 209 loadTimeData.getStringF( |
| 210 'deleteProfileWarningWithoutCounts', |
| 211 this.syncStatus.signedInUsername); |
| 212 }, | 212 }, |
| 213 | 213 |
| 214 /** | 214 /** |
| 215 * Handler for when the sync state is pushed from the browser. | 215 * Handler for when the sync state is pushed from the browser. |
| 216 * @param {?settings.SyncStatus} syncStatus | 216 * @param {?settings.SyncStatus} syncStatus |
| 217 * @private | 217 * @private |
| 218 */ | 218 */ |
| 219 handleSyncStatus_: function(syncStatus) { | 219 handleSyncStatus_: function(syncStatus) { |
| 220 if (!this.syncStatus && syncStatus && !syncStatus.signedIn) | 220 if (!this.syncStatus && syncStatus && !syncStatus.signedIn) |
| 221 chrome.metricsPrivate.recordUserAction('Signin_Impression_FromSettings'); | 221 chrome.metricsPrivate.recordUserAction('Signin_Impression_FromSettings'); |
| 222 | 222 |
| 223 // <if expr="not chromeos"> | 223 // <if expr="not chromeos"> |
| 224 if (syncStatus.signedIn) | 224 if (syncStatus.signedIn) |
| 225 settings.ProfileInfoBrowserProxyImpl.getInstance().getProfileStatsCount(); | 225 settings.ProfileInfoBrowserProxyImpl.getInstance().getProfileStatsCount(); |
| 226 // </if> | 226 // </if> |
| 227 | 227 |
| 228 if (!syncStatus.signedIn && this.showDisconnectDialog_) | 228 if (!syncStatus.signedIn && this.showDisconnectDialog_) |
| 229 this.$$('#disconnectDialog').close(); | 229 this.$$('#disconnectDialog').close(); |
| 230 | 230 |
| 231 this.syncStatus = syncStatus; | 231 this.syncStatus = syncStatus; |
| 232 }, | 232 }, |
| 233 | 233 |
| 234 /** @private */ | 234 /** @private */ |
| 235 onPictureTap_: function() { | 235 onPictureTap_: function() { |
| 236 // <if expr="chromeos"> | 236 // <if expr="chromeos"> |
| 237 settings.navigateTo(settings.Route.CHANGE_PICTURE); | 237 settings.navigateTo(settings.Route.CHANGE_PICTURE); |
| 238 // </if> | 238 // </if> |
| 239 // <if expr="not chromeos"> | 239 // <if expr="not chromeos"> |
| 240 settings.navigateTo(settings.Route.MANAGE_PROFILE); | 240 settings.navigateTo(settings.Route.MANAGE_PROFILE); |
| 241 // </if> | 241 // </if> |
| 242 }, | 242 }, |
| 243 | 243 |
| 244 // <if expr="not chromeos"> | 244 // <if expr="not chromeos"> |
| 245 /** @private */ | 245 /** @private */ |
| 246 onProfileNameTap_: function() { | 246 onProfileNameTap_: function() { |
| 247 settings.navigateTo(settings.Route.MANAGE_PROFILE); | 247 settings.navigateTo(settings.Route.MANAGE_PROFILE); |
| 248 }, | 248 }, |
| 249 // </if> | 249 // </if> |
| 250 | 250 |
| 251 /** @private */ | 251 /** @private */ |
| 252 onSigninTap_: function() { | 252 onSigninTap_: function() { |
| 253 this.syncBrowserProxy_.startSignIn(); | 253 this.syncBrowserProxy_.startSignIn(); |
| 254 }, | 254 }, |
| 255 | 255 |
| 256 /** @private */ | 256 /** @private */ |
| 257 onDisconnectClosed_: function() { | 257 onDisconnectClosed_: function() { |
| 258 this.showDisconnectDialog_ = false; | 258 this.showDisconnectDialog_ = false; |
| 259 cr.ui.focusWithoutInk(assert(this.$$('#disconnectButton'))); | 259 cr.ui.focusWithoutInk(assert(this.$$('#disconnectButton'))); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 295 assert(this.syncStatus.syncSystemEnabled); | 295 assert(this.syncStatus.syncSystemEnabled); |
| 296 | 296 |
| 297 if (!this.isSyncStatusActionable_(this.syncStatus)) | 297 if (!this.isSyncStatusActionable_(this.syncStatus)) |
| 298 return; | 298 return; |
| 299 | 299 |
| 300 switch (this.syncStatus.statusAction) { | 300 switch (this.syncStatus.statusAction) { |
| 301 case settings.StatusAction.REAUTHENTICATE: | 301 case settings.StatusAction.REAUTHENTICATE: |
| 302 this.syncBrowserProxy_.startSignIn(); | 302 this.syncBrowserProxy_.startSignIn(); |
| 303 break; | 303 break; |
| 304 case settings.StatusAction.SIGNOUT_AND_SIGNIN: | 304 case settings.StatusAction.SIGNOUT_AND_SIGNIN: |
| 305 // <if expr="chromeos"> | 305 // <if expr="chromeos"> |
| 306 this.syncBrowserProxy_.attemptUserExit(); | 306 this.syncBrowserProxy_.attemptUserExit(); |
| 307 // </if> | 307 // </if> |
| 308 // <if expr="not chromeos"> | 308 // <if expr="not chromeos"> |
| 309 if (this.syncStatus.domain) | 309 if (this.syncStatus.domain) |
| 310 settings.navigateTo(settings.Route.SIGN_OUT); | 310 settings.navigateTo(settings.Route.SIGN_OUT); |
| 311 else { | 311 else { |
| 312 // Silently sign the user out without deleting their profile and | 312 // Silently sign the user out without deleting their profile and |
| 313 // prompt them to sign back in. | 313 // prompt them to sign back in. |
| 314 this.syncBrowserProxy_.signOut(false); | 314 this.syncBrowserProxy_.signOut(false); |
| 315 this.syncBrowserProxy_.startSignIn(); | 315 this.syncBrowserProxy_.startSignIn(); |
| 316 } | 316 } |
| 317 // </if> | 317 // </if> |
| 318 break; | 318 break; |
| 319 case settings.StatusAction.UPGRADE_CLIENT: | 319 case settings.StatusAction.UPGRADE_CLIENT: |
| 320 settings.navigateTo(settings.Route.ABOUT); | 320 settings.navigateTo(settings.Route.ABOUT); |
| 321 break; | 321 break; |
| 322 case settings.StatusAction.ENTER_PASSPHRASE: | 322 case settings.StatusAction.ENTER_PASSPHRASE: |
| 323 case settings.StatusAction.CONFIRM_SYNC_SETTINGS: | 323 case settings.StatusAction.CONFIRM_SYNC_SETTINGS: |
| 324 case settings.StatusAction.NO_ACTION: | 324 case settings.StatusAction.NO_ACTION: |
| 325 default: | 325 default: |
| 326 settings.navigateTo(settings.Route.SYNC); | 326 settings.navigateTo(settings.Route.SYNC); |
| 327 } | 327 } |
| 328 }, | 328 }, |
| 329 | 329 |
| 330 // <if expr="chromeos"> | 330 // <if expr="chromeos"> |
| 331 /** | 331 /** |
| 332 * @param {!Event} e | 332 * @param {!Event} e |
| 333 * @private | 333 * @private |
| 334 */ | 334 */ |
| 335 onConfigureLockTap_: function(e) { | 335 onConfigureLockTap_: function(e) { |
| 336 // Navigating to the lock screen will always open the password prompt | 336 // Navigating to the lock screen will always open the password prompt |
| 337 // dialog, so prevent the end of the tap event to focus what is underneath | 337 // dialog, so prevent the end of the tap event to focus what is underneath |
| 338 // it, which takes focus from the dialog. | 338 // it, which takes focus from the dialog. |
| 339 e.preventDefault(); | 339 e.preventDefault(); |
| 340 settings.navigateTo(settings.Route.LOCK_SCREEN); | 340 settings.navigateTo(settings.Route.LOCK_SCREEN); |
| 341 }, | 341 }, |
| 342 // </if> | 342 // </if> |
| 343 | 343 |
| 344 /** @private */ | 344 /** @private */ |
| 345 onManageOtherPeople_: function() { | 345 onManageOtherPeople_: function() { |
| 346 // <if expr="not chromeos"> | 346 // <if expr="not chromeos"> |
| 347 this.syncBrowserProxy_.manageOtherPeople(); | 347 this.syncBrowserProxy_.manageOtherPeople(); |
| 348 // </if> | 348 // </if> |
| 349 // <if expr="chromeos"> | 349 // <if expr="chromeos"> |
| 350 settings.navigateTo(settings.Route.ACCOUNTS); | 350 settings.navigateTo(settings.Route.ACCOUNTS); |
| 351 // </if> | 351 // </if> |
| 352 }, | 352 }, |
| 353 | 353 |
| 354 // <if expr="not chromeos"> | 354 // <if expr="not chromeos"> |
| 355 /** | 355 /** |
| 356 * @private | 356 * @private |
| 357 * @param {string} domain | 357 * @param {string} domain |
| 358 * @return {string} | 358 * @return {string} |
| 359 */ | 359 */ |
| 360 getDomainHtml_: function(domain) { | 360 getDomainHtml_: function(domain) { |
| 361 var innerSpan = | 361 var innerSpan = '<span id="managed-by-domain-name">' + domain + '</span>'; |
| 362 '<span id="managed-by-domain-name">' + domain + '</span>'; | |
| 363 return loadTimeData.getStringF('domainManagedProfile', innerSpan); | 362 return loadTimeData.getStringF('domainManagedProfile', innerSpan); |
| 364 }, | 363 }, |
| 365 | 364 |
| 366 /** @private */ | 365 /** @private */ |
| 367 onImportDataTap_: function() { | 366 onImportDataTap_: function() { |
| 368 settings.navigateTo(settings.Route.IMPORT_DATA); | 367 settings.navigateTo(settings.Route.IMPORT_DATA); |
| 369 }, | 368 }, |
| 370 | 369 |
| 371 /** @private */ | 370 /** @private */ |
| 372 onImportDataDialogClosed_: function() { | 371 onImportDataDialogClosed_: function() { |
| 373 settings.navigateToPreviousRoute(); | 372 settings.navigateToPreviousRoute(); |
| 374 cr.ui.focusWithoutInk(assert(this.$.importDataDialogTrigger)); | 373 cr.ui.focusWithoutInk(assert(this.$.importDataDialogTrigger)); |
| 375 }, | 374 }, |
| 376 // </if> | 375 // </if> |
| 377 | 376 |
| 378 /** | 377 /** |
| 379 * @private | 378 * @private |
| 380 * @param {string} domain | 379 * @param {string} domain |
| 381 * @return {string} | 380 * @return {string} |
| 382 */ | 381 */ |
| 383 getDisconnectExplanationHtml_: function(domain) { | 382 getDisconnectExplanationHtml_: function(domain) { |
| 384 // <if expr="not chromeos"> | 383 // <if expr="not chromeos"> |
| 385 if (domain) { | 384 if (domain) { |
| 386 return loadTimeData.getStringF( | 385 return loadTimeData.getStringF( |
| 387 'syncDisconnectManagedProfileExplanation', | 386 'syncDisconnectManagedProfileExplanation', |
| 388 '<span id="managed-by-domain-name">' + domain + '</span>'); | 387 '<span id="managed-by-domain-name">' + domain + '</span>'); |
| 389 } | 388 } |
| 390 // </if> | 389 // </if> |
| 391 return loadTimeData.getString('syncDisconnectExplanation'); | 390 return loadTimeData.getString('syncDisconnectExplanation'); |
| 392 }, | 391 }, |
| 393 | 392 |
| 394 /** | 393 /** |
| 395 * @private | 394 * @private |
| 396 * @param {?settings.SyncStatus} syncStatus | 395 * @param {?settings.SyncStatus} syncStatus |
| 397 * @return {boolean} | 396 * @return {boolean} |
| 398 */ | 397 */ |
| 399 isAdvancedSyncSettingsVisible_: function(syncStatus) { | 398 isAdvancedSyncSettingsVisible_: function(syncStatus) { |
| 400 return !!syncStatus && !!syncStatus.signedIn && | 399 return !!syncStatus && !!syncStatus.signedIn && |
| 401 !!syncStatus.syncSystemEnabled; | 400 !!syncStatus.syncSystemEnabled; |
| 402 }, | 401 }, |
| 403 | 402 |
| 404 /** | 403 /** |
| 405 * @private | 404 * @private |
| 406 * @param {?settings.SyncStatus} syncStatus | 405 * @param {?settings.SyncStatus} syncStatus |
| 407 * @return {boolean} Whether an action can be taken with the sync status. sync | 406 * @return {boolean} Whether an action can be taken with the sync status. sync |
| 408 * status is actionable if sync is not managed and if there is a sync | 407 * status is actionable if sync is not managed and if there is a sync |
| 409 * error, there is an action associated with it. | 408 * error, there is an action associated with it. |
| 410 */ | 409 */ |
| 411 isSyncStatusActionable_: function(syncStatus) { | 410 isSyncStatusActionable_: function(syncStatus) { |
| 412 return !!syncStatus && !syncStatus.managed && (!syncStatus.hasError || | 411 return !!syncStatus && !syncStatus.managed && |
| 413 syncStatus.statusAction != settings.StatusAction.NO_ACTION); | 412 (!syncStatus.hasError || |
| 413 syncStatus.statusAction != settings.StatusAction.NO_ACTION); |
| 414 }, | 414 }, |
| 415 | 415 |
| 416 /** | 416 /** |
| 417 * @private | 417 * @private |
| 418 * @param {?settings.SyncStatus} syncStatus | 418 * @param {?settings.SyncStatus} syncStatus |
| 419 * @return {string} | 419 * @return {string} |
| 420 */ | 420 */ |
| 421 getSyncIcon_: function(syncStatus) { | 421 getSyncIcon_: function(syncStatus) { |
| 422 if (!syncStatus) | 422 if (!syncStatus) |
| 423 return ''; | 423 return ''; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 454 | 454 |
| 455 /** | 455 /** |
| 456 * @param {!settings.SyncStatus} syncStatus | 456 * @param {!settings.SyncStatus} syncStatus |
| 457 * @return {boolean} Whether to show the "Sign in to Chrome" button. | 457 * @return {boolean} Whether to show the "Sign in to Chrome" button. |
| 458 * @private | 458 * @private |
| 459 */ | 459 */ |
| 460 showSignin_: function(syncStatus) { | 460 showSignin_: function(syncStatus) { |
| 461 return !!syncStatus.signinAllowed && !syncStatus.signedIn; | 461 return !!syncStatus.signinAllowed && !syncStatus.signedIn; |
| 462 }, | 462 }, |
| 463 }); | 463 }); |
| OLD | NEW |