| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 cr.define('options', function() { | 5 cr.define('options', function() { |
| 6 var Page = cr.ui.pageManager.Page; | 6 var Page = cr.ui.pageManager.Page; |
| 7 var PageManager = cr.ui.pageManager.PageManager; | 7 var PageManager = cr.ui.pageManager.PageManager; |
| 8 var ArrayDataModel = cr.ui.ArrayDataModel; | 8 var ArrayDataModel = cr.ui.ArrayDataModel; |
| 9 | 9 |
| 10 /** | 10 /** |
| 11 * ManageProfileOverlay class | 11 * ManageProfileOverlay class |
| 12 * Encapsulated handling of the 'Manage profile...' overlay page. | 12 * Encapsulated handling of the 'Manage profile...' overlay page. |
| 13 * @constructor | 13 * @constructor |
| 14 * @extends {cr.ui.pageManager.Page} | 14 * @extends {cr.ui.pageManager.Page} |
| 15 */ | 15 */ |
| 16 function ManageProfileOverlay() { | 16 function ManageProfileOverlay() { |
| 17 Page.call(this, 'manageProfile', | 17 Page.call( |
| 18 loadTimeData.getString('manageProfileTabTitle'), | 18 this, 'manageProfile', loadTimeData.getString('manageProfileTabTitle'), |
| 19 'manage-profile-overlay'); | 19 'manage-profile-overlay'); |
| 20 } | 20 } |
| 21 | 21 |
| 22 cr.addSingletonGetter(ManageProfileOverlay); | 22 cr.addSingletonGetter(ManageProfileOverlay); |
| 23 | 23 |
| 24 ManageProfileOverlay.prototype = { | 24 ManageProfileOverlay.prototype = { |
| 25 // Inherit from Page. | 25 // Inherit from Page. |
| 26 __proto__: Page.prototype, | 26 __proto__: Page.prototype, |
| 27 | 27 |
| 28 // Info about the currently managed/deleted profile. | 28 // Info about the currently managed/deleted profile. |
| 29 profileInfo_: null, | 29 profileInfo_: null, |
| (...skipping 12 matching lines...) Expand all Loading... |
| 42 // The currently selected icon in the icon grid. | 42 // The currently selected icon in the icon grid. |
| 43 iconGridSelectedURL_: null, | 43 iconGridSelectedURL_: null, |
| 44 | 44 |
| 45 /** @override */ | 45 /** @override */ |
| 46 initializePage: function() { | 46 initializePage: function() { |
| 47 Page.prototype.initializePage.call(this); | 47 Page.prototype.initializePage.call(this); |
| 48 | 48 |
| 49 var self = this; | 49 var self = this; |
| 50 options.ProfilesIconGrid.decorate($('manage-profile-icon-grid')); | 50 options.ProfilesIconGrid.decorate($('manage-profile-icon-grid')); |
| 51 options.ProfilesIconGrid.decorate($('create-profile-icon-grid')); | 51 options.ProfilesIconGrid.decorate($('create-profile-icon-grid')); |
| 52 self.registerCommonEventHandlers_('create', | 52 self.registerCommonEventHandlers_( |
| 53 self.submitCreateProfile_.bind(self)); | 53 'create', self.submitCreateProfile_.bind(self)); |
| 54 self.registerCommonEventHandlers_('manage', | 54 self.registerCommonEventHandlers_( |
| 55 self.submitManageChanges_.bind(self)); | 55 'manage', self.submitManageChanges_.bind(self)); |
| 56 | 56 |
| 57 // Override the create-profile-ok and create-* keydown handlers, to avoid | 57 // Override the create-profile-ok and create-* keydown handlers, to avoid |
| 58 // closing the overlay until we finish creating the profile. | 58 // closing the overlay until we finish creating the profile. |
| 59 $('create-profile-ok').onclick = function(event) { | 59 $('create-profile-ok').onclick = function(event) { |
| 60 self.submitCreateProfile_(); | 60 self.submitCreateProfile_(); |
| 61 }; | 61 }; |
| 62 | 62 |
| 63 $('create-profile-cancel').onclick = function(event) { | 63 $('create-profile-cancel').onclick = function(event) { |
| 64 CreateProfileOverlay.cancelCreateProfile(); | 64 CreateProfileOverlay.cancelCreateProfile(); |
| 65 }; | 65 }; |
| 66 | 66 |
| 67 $('manage-profile-cancel').onclick = | 67 $('manage-profile-cancel').onclick = |
| 68 $('disconnect-managed-profile-cancel').onclick = | 68 $('disconnect-managed-profile-cancel').onclick = |
| 69 $('delete-profile-cancel').onclick = function(event) { | 69 $('delete-profile-cancel').onclick = function(event) { |
| 70 PageManager.closeOverlay(); | 70 PageManager.closeOverlay(); |
| 71 }; | 71 }; |
| 72 $('delete-profile-ok').onclick = function(event) { | 72 $('delete-profile-ok').onclick = function(event) { |
| 73 PageManager.closeOverlay(); | 73 PageManager.closeOverlay(); |
| 74 chrome.send('deleteProfile', [self.profileInfo_.filePath]); | 74 chrome.send('deleteProfile', [self.profileInfo_.filePath]); |
| 75 options.SupervisedUserListData.resetPromise(); | 75 options.SupervisedUserListData.resetPromise(); |
| 76 }; | 76 }; |
| 77 $('add-shortcut-button').onclick = function(event) { | 77 $('add-shortcut-button').onclick = function(event) { |
| 78 chrome.send('addProfileShortcut', [self.profileInfo_.filePath]); | 78 chrome.send('addProfileShortcut', [self.profileInfo_.filePath]); |
| 79 }; | 79 }; |
| 80 $('remove-shortcut-button').onclick = function(event) { | 80 $('remove-shortcut-button').onclick = function(event) { |
| 81 chrome.send('removeProfileShortcut', [self.profileInfo_.filePath]); | 81 chrome.send('removeProfileShortcut', [self.profileInfo_.filePath]); |
| 82 }; | 82 }; |
| 83 | 83 |
| 84 $('disconnect-managed-profile-ok').onclick = function(event) { | 84 $('disconnect-managed-profile-ok').onclick = function(event) { |
| 85 PageManager.closeOverlay(); | 85 PageManager.closeOverlay(); |
| 86 chrome.send('deleteProfile', | 86 chrome.send( |
| 87 [BrowserOptions.getCurrentProfile().filePath]); | 87 'deleteProfile', [BrowserOptions.getCurrentProfile().filePath]); |
| 88 }; | 88 }; |
| 89 | 89 |
| 90 $('create-profile-supervised-signed-in-learn-more-link').onclick = | 90 $('create-profile-supervised-signed-in-learn-more-link').onclick = |
| 91 function(event) { | 91 function(event) { |
| 92 PageManager.showPageByName('supervisedUserLearnMore'); | 92 PageManager.showPageByName('supervisedUserLearnMore'); |
| 93 return false; | 93 return false; |
| 94 }; | 94 }; |
| 95 | 95 |
| 96 $('create-profile-supervised-sign-in-link').onclick = | 96 $('create-profile-supervised-sign-in-link').onclick = function(event) { |
| 97 function(event) { | |
| 98 SyncSetupOverlay.startSignIn(true /* creatingSupervisedUser */); | 97 SyncSetupOverlay.startSignIn(true /* creatingSupervisedUser */); |
| 99 }; | 98 }; |
| 100 | 99 |
| 101 $('create-profile-supervised-sign-in-again-link').onclick = | 100 $('create-profile-supervised-sign-in-again-link').onclick = function( |
| 102 function(event) { | 101 event) { |
| 103 SyncSetupOverlay.showSetupUI(); | 102 SyncSetupOverlay.showSetupUI(); |
| 104 }; | 103 }; |
| 105 | 104 |
| 106 $('import-existing-supervised-user-link').onclick = function(event) { | 105 $('import-existing-supervised-user-link').onclick = function(event) { |
| 107 // Hide the import button to trigger a cursor update. The import button | 106 // Hide the import button to trigger a cursor update. The import button |
| 108 // is shown again when the import overlay loads. TODO(akuegel): Remove | 107 // is shown again when the import overlay loads. TODO(akuegel): Remove |
| 109 // this temporary fix when crbug/246304 is resolved. | 108 // this temporary fix when crbug/246304 is resolved. |
| 110 $('import-existing-supervised-user-link').hidden = true; | 109 $('import-existing-supervised-user-link').hidden = true; |
| 111 PageManager.showPageByName('supervisedUserImport'); | 110 PageManager.showPageByName('supervisedUserImport'); |
| 112 }; | 111 }; |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 346 * @param {Object} supervisedUser | 345 * @param {Object} supervisedUser |
| 347 * @param {boolean} nameIsUnique | 346 * @param {boolean} nameIsUnique |
| 348 */ | 347 */ |
| 349 getImportHandler_: function(supervisedUser, nameIsUnique) { | 348 getImportHandler_: function(supervisedUser, nameIsUnique) { |
| 350 return function() { | 349 return function() { |
| 351 if (supervisedUser.needAvatar || !nameIsUnique) { | 350 if (supervisedUser.needAvatar || !nameIsUnique) { |
| 352 PageManager.showPageByName('supervisedUserImport'); | 351 PageManager.showPageByName('supervisedUserImport'); |
| 353 } else { | 352 } else { |
| 354 this.hideErrorBubble_('create'); | 353 this.hideErrorBubble_('create'); |
| 355 CreateProfileOverlay.updateCreateInProgress(true); | 354 CreateProfileOverlay.updateCreateInProgress(true); |
| 356 chrome.send('createProfile', | 355 chrome.send('createProfile', [ |
| 357 [supervisedUser.name, supervisedUser.iconURL, false, true, | 356 supervisedUser.name, supervisedUser.iconURL, false, true, |
| 358 supervisedUser.id]); | 357 supervisedUser.id |
| 358 ]); |
| 359 } | 359 } |
| 360 }.bind(this); | 360 }.bind(this); |
| 361 }, | 361 }, |
| 362 | 362 |
| 363 /** | 363 /** |
| 364 * Callback which receives the list of existing supervised users. Checks if | 364 * Callback which receives the list of existing supervised users. Checks if |
| 365 * the currently entered name is the name of an already existing supervised | 365 * the currently entered name is the name of an already existing supervised |
| 366 * user. If yes, the user is prompted to import the existing supervised | 366 * user. If yes, the user is prompted to import the existing supervised |
| 367 * user, and the create button is disabled. | 367 * user, and the create button is disabled. |
| 368 * If the received list is empty, hides the "import" link. | 368 * If the received list is empty, hides the "import" link. |
| (...skipping 23 matching lines...) Expand all Loading... |
| 392 // Handling the case when multiple supervised users with the same | 392 // Handling the case when multiple supervised users with the same |
| 393 // name exist, but not all of them are on the device. | 393 // name exist, but not all of them are on the device. |
| 394 // If at least one is not imported, we want to offer that | 394 // If at least one is not imported, we want to offer that |
| 395 // option to the user. This could happen due to a bug that allowed | 395 // option to the user. This could happen due to a bug that allowed |
| 396 // creating SUs with the same name (https://crbug.com/557445). | 396 // creating SUs with the same name (https://crbug.com/557445). |
| 397 var allOnCurrentDevice = supervisedUsers[i].onCurrentDevice; | 397 var allOnCurrentDevice = supervisedUsers[i].onCurrentDevice; |
| 398 var j; | 398 var j; |
| 399 for (j = i + 1; j < supervisedUsers.length; ++j) { | 399 for (j = i + 1; j < supervisedUsers.length; ++j) { |
| 400 if (supervisedUsers[j].name == newName) { | 400 if (supervisedUsers[j].name == newName) { |
| 401 nameIsUnique = false; | 401 nameIsUnique = false; |
| 402 allOnCurrentDevice = allOnCurrentDevice && | 402 allOnCurrentDevice = |
| 403 supervisedUsers[j].onCurrentDevice; | 403 allOnCurrentDevice && supervisedUsers[j].onCurrentDevice; |
| 404 } | 404 } |
| 405 } | 405 } |
| 406 | 406 |
| 407 var errorHtml = allOnCurrentDevice ? | 407 var errorHtml = allOnCurrentDevice ? |
| 408 loadTimeData.getStringF( | 408 loadTimeData.getStringF( |
| 409 'managedProfilesExistingLocalSupervisedUser') : | 409 'managedProfilesExistingLocalSupervisedUser') : |
| 410 loadTimeData.getStringF( | 410 loadTimeData.getStringF( |
| 411 'manageProfilesExistingSupervisedUser', | 411 'manageProfilesExistingSupervisedUser', |
| 412 HTMLEscape(elide(newName, /* maxLength */ 50))); | 412 HTMLEscape(elide(newName, /* maxLength */ 50))); |
| 413 this.showErrorBubble_(errorHtml, 'create', true); | 413 this.showErrorBubble_(errorHtml, 'create', true); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 | 448 |
| 449 /** | 449 /** |
| 450 * Called when the user clicks "OK" or hits enter. Saves the newly changed | 450 * Called when the user clicks "OK" or hits enter. Saves the newly changed |
| 451 * profile info. | 451 * profile info. |
| 452 * @private | 452 * @private |
| 453 */ | 453 */ |
| 454 submitManageChanges_: function() { | 454 submitManageChanges_: function() { |
| 455 var name = $('manage-profile-name').value; | 455 var name = $('manage-profile-name').value; |
| 456 var iconURL = $('manage-profile-icon-grid').selectedItem; | 456 var iconURL = $('manage-profile-icon-grid').selectedItem; |
| 457 | 457 |
| 458 chrome.send('setProfileIconAndName', | 458 chrome.send( |
| 459 [this.profileInfo_.filePath, iconURL, name]); | 459 'setProfileIconAndName', [this.profileInfo_.filePath, iconURL, name]); |
| 460 if (name != this.profileInfo_.name) | 460 if (name != this.profileInfo_.name) |
| 461 options.SupervisedUserListData.resetPromise(); | 461 options.SupervisedUserListData.resetPromise(); |
| 462 }, | 462 }, |
| 463 | 463 |
| 464 /** | 464 /** |
| 465 * Abstract method. Should be overriden in subclasses. | 465 * Abstract method. Should be overriden in subclasses. |
| 466 * @param {string} email | 466 * @param {string} email |
| 467 * @param {boolean} hasError | 467 * @param {boolean} hasError |
| 468 * @protected | 468 * @protected |
| 469 */ | 469 */ |
| (...skipping 18 matching lines...) Expand all Loading... |
| 488 | 488 |
| 489 // Get the user's chosen name and icon, or default if they do not | 489 // Get the user's chosen name and icon, or default if they do not |
| 490 // wish to customize their profile. | 490 // wish to customize their profile. |
| 491 var name = $('create-profile-name').value; | 491 var name = $('create-profile-name').value; |
| 492 var iconUrl = $('create-profile-icon-grid').selectedItem; | 492 var iconUrl = $('create-profile-icon-grid').selectedItem; |
| 493 var createShortcut = $('create-shortcut').checked; | 493 var createShortcut = $('create-shortcut').checked; |
| 494 var isSupervised = $('create-profile-supervised').checked; | 494 var isSupervised = $('create-profile-supervised').checked; |
| 495 var existingSupervisedUserId = ''; | 495 var existingSupervisedUserId = ''; |
| 496 | 496 |
| 497 // 'createProfile' is handled by the CreateProfileHandler. | 497 // 'createProfile' is handled by the CreateProfileHandler. |
| 498 chrome.send('createProfile', | 498 chrome.send('createProfile', [ |
| 499 [name, iconUrl, createShortcut, | 499 name, iconUrl, createShortcut, isSupervised, existingSupervisedUserId |
| 500 isSupervised, existingSupervisedUserId]); | 500 ]); |
| 501 }, | 501 }, |
| 502 | 502 |
| 503 /** | 503 /** |
| 504 * Called when the selected icon in the icon grid changes. | 504 * Called when the selected icon in the icon grid changes. |
| 505 * @param {string} mode A label that specifies the type of dialog box which | 505 * @param {string} mode A label that specifies the type of dialog box which |
| 506 * is currently being viewed (i.e. 'create' or 'manage'). | 506 * is currently being viewed (i.e. 'create' or 'manage'). |
| 507 * @private | 507 * @private |
| 508 */ | 508 */ |
| 509 onIconGridSelectionChanged_: function(mode) { | 509 onIconGridSelectionChanged_: function(mode) { |
| 510 var iconURL = $(mode + '-profile-icon-grid').selectedItem; | 510 var iconURL = $(mode + '-profile-icon-grid').selectedItem; |
| 511 if (!iconURL || iconURL == this.iconGridSelectedURL_) | 511 if (!iconURL || iconURL == this.iconGridSelectedURL_) |
| 512 return; | 512 return; |
| 513 this.iconGridSelectedURL_ = iconURL; | 513 this.iconGridSelectedURL_ = iconURL; |
| 514 if (this.profileNameIsDefault_) { | 514 if (this.profileNameIsDefault_) { |
| 515 var index = $(mode + '-profile-icon-grid').selectionModel.selectedIndex; | 515 var index = $(mode + '-profile-icon-grid').selectionModel.selectedIndex; |
| 516 var name = this.defaultProfileNames_[index]; | 516 var name = this.defaultProfileNames_[index]; |
| 517 if (name) { | 517 if (name) { |
| 518 this.setProfileName_(name, mode); | 518 this.setProfileName_(name, mode); |
| 519 this.updateCreateOrImport_(mode); | 519 this.updateCreateOrImport_(mode); |
| 520 } | 520 } |
| 521 } | 521 } |
| 522 if (this.profileInfo_ && this.profileInfo_.filePath) { | 522 if (this.profileInfo_ && this.profileInfo_.filePath) { |
| 523 chrome.send('profileIconSelectionChanged', | 523 chrome.send( |
| 524 [this.profileInfo_.filePath, iconURL]); | 524 'profileIconSelectionChanged', |
| 525 [this.profileInfo_.filePath, iconURL]); |
| 525 } | 526 } |
| 526 }, | 527 }, |
| 527 | 528 |
| 528 /** | 529 /** |
| 529 * Updates the contents of the "Manage Profile" section of the dialog, | 530 * Updates the contents of the "Manage Profile" section of the dialog, |
| 530 * and shows that section. | 531 * and shows that section. |
| 531 * @private | 532 * @private |
| 532 */ | 533 */ |
| 533 prepareForManageDialog_: function() { | 534 prepareForManageDialog_: function() { |
| 534 chrome.send('refreshGaiaPicture'); | 535 chrome.send('refreshGaiaPicture'); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 561 * @private | 562 * @private |
| 562 */ | 563 */ |
| 563 showDeleteDialog_: function(profileInfo) { | 564 showDeleteDialog_: function(profileInfo) { |
| 564 ManageProfileOverlay.setProfileInfo(profileInfo, 'manage'); | 565 ManageProfileOverlay.setProfileInfo(profileInfo, 'manage'); |
| 565 $('manage-profile-overlay-create').hidden = true; | 566 $('manage-profile-overlay-create').hidden = true; |
| 566 $('manage-profile-overlay-manage').hidden = true; | 567 $('manage-profile-overlay-manage').hidden = true; |
| 567 $('manage-profile-overlay-delete').hidden = false; | 568 $('manage-profile-overlay-delete').hidden = false; |
| 568 $('manage-profile-overlay-disconnect-managed').hidden = true; | 569 $('manage-profile-overlay-disconnect-managed').hidden = true; |
| 569 $('delete-profile-icon').style.content = | 570 $('delete-profile-icon').style.content = |
| 570 cr.icon.getImage(profileInfo.iconURL); | 571 cr.icon.getImage(profileInfo.iconURL); |
| 571 $('delete-profile-text').textContent = | 572 $('delete-profile-text').textContent = loadTimeData.getStringF( |
| 572 loadTimeData.getStringF('deleteProfileMessage', | 573 'deleteProfileMessage', elide(profileInfo.name, /* maxLength */ 50)); |
| 573 elide(profileInfo.name, /* maxLength */ 50)); | |
| 574 $('delete-supervised-profile-addendum').hidden = | 574 $('delete-supervised-profile-addendum').hidden = |
| 575 !profileInfo.isSupervised || profileInfo.isChild; | 575 !profileInfo.isSupervised || profileInfo.isChild; |
| 576 | 576 |
| 577 // Because this dialog isn't useful when refreshing or as part of the | 577 // Because this dialog isn't useful when refreshing or as part of the |
| 578 // history, don't create a history entry for it when showing. | 578 // history, don't create a history entry for it when showing. |
| 579 PageManager.showPageByName('manageProfile', false); | 579 PageManager.showPageByName('manageProfile', false); |
| 580 chrome.send('logDeleteUserDialogShown'); | 580 chrome.send('logDeleteUserDialogShown'); |
| 581 }, | 581 }, |
| 582 | 582 |
| 583 /** | 583 /** |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 619 'showDeleteDialog', | 619 'showDeleteDialog', |
| 620 'showDisconnectManagedProfileDialog', | 620 'showDisconnectManagedProfileDialog', |
| 621 'showCreateDialog', | 621 'showCreateDialog', |
| 622 ]); | 622 ]); |
| 623 | 623 |
| 624 /** | 624 /** |
| 625 * @constructor | 625 * @constructor |
| 626 * @extends {options.ManageProfileOverlay} | 626 * @extends {options.ManageProfileOverlay} |
| 627 */ | 627 */ |
| 628 function DisconnectAccountOverlay() { | 628 function DisconnectAccountOverlay() { |
| 629 Page.call(this, 'signOut', | 629 Page.call( |
| 630 loadTimeData.getString('disconnectAccountTabTitle'), | 630 this, 'signOut', loadTimeData.getString('disconnectAccountTabTitle'), |
| 631 'manage-profile-overlay'); | 631 'manage-profile-overlay'); |
| 632 } | 632 } |
| 633 | 633 |
| 634 cr.addSingletonGetter(DisconnectAccountOverlay); | 634 cr.addSingletonGetter(DisconnectAccountOverlay); |
| 635 | 635 |
| 636 DisconnectAccountOverlay.prototype = { | 636 DisconnectAccountOverlay.prototype = { |
| 637 __proto__: ManageProfileOverlay.prototype, | 637 __proto__: ManageProfileOverlay.prototype, |
| 638 | 638 |
| 639 /** @override */ | 639 /** @override */ |
| 640 canShowPage: function() { | 640 canShowPage: function() { |
| 641 var syncData = loadTimeData.getValue('syncData'); | 641 var syncData = loadTimeData.getValue('syncData'); |
| 642 return syncData.signedIn && !syncData.signoutAllowed; | 642 return syncData.signedIn && !syncData.signoutAllowed; |
| 643 }, | 643 }, |
| 644 | 644 |
| 645 /** @override */ | 645 /** @override */ |
| 646 didShowPage: function() { | 646 didShowPage: function() { |
| 647 chrome.send('showDisconnectManagedProfileDialog'); | 647 chrome.send('showDisconnectManagedProfileDialog'); |
| 648 } | 648 } |
| 649 }; | 649 }; |
| 650 | 650 |
| 651 /** | 651 /** |
| 652 * @constructor | 652 * @constructor |
| 653 * @extends {options.ManageProfileOverlay} | 653 * @extends {options.ManageProfileOverlay} |
| 654 */ | 654 */ |
| 655 function CreateProfileOverlay() { | 655 function CreateProfileOverlay() { |
| 656 Page.call(this, 'createProfile', | 656 Page.call( |
| 657 loadTimeData.getString('createProfileTabTitle'), | 657 this, 'createProfile', loadTimeData.getString('createProfileTabTitle'), |
| 658 'manage-profile-overlay'); | 658 'manage-profile-overlay'); |
| 659 } | 659 } |
| 660 | 660 |
| 661 cr.addSingletonGetter(CreateProfileOverlay); | 661 cr.addSingletonGetter(CreateProfileOverlay); |
| 662 | 662 |
| 663 CreateProfileOverlay.prototype = { | 663 CreateProfileOverlay.prototype = { |
| 664 __proto__: ManageProfileOverlay.prototype, | 664 __proto__: ManageProfileOverlay.prototype, |
| 665 | 665 |
| 666 // The signed-in email address of the current profile, or empty if they're | 666 // The signed-in email address of the current profile, or empty if they're |
| 667 // not signed in. | 667 // not signed in. |
| 668 signedInEmail_: '', | 668 signedInEmail_: '', |
| (...skipping 10 matching lines...) Expand all Loading... |
| 679 didShowPage: function() { | 679 didShowPage: function() { |
| 680 chrome.send('requestCreateProfileUpdate'); | 680 chrome.send('requestCreateProfileUpdate'); |
| 681 chrome.send('requestDefaultProfileIcons', ['create']); | 681 chrome.send('requestDefaultProfileIcons', ['create']); |
| 682 chrome.send('requestNewProfileDefaults'); | 682 chrome.send('requestNewProfileDefaults'); |
| 683 | 683 |
| 684 $('manage-profile-overlay-create').hidden = false; | 684 $('manage-profile-overlay-create').hidden = false; |
| 685 $('manage-profile-overlay-manage').hidden = true; | 685 $('manage-profile-overlay-manage').hidden = true; |
| 686 $('manage-profile-overlay-delete').hidden = true; | 686 $('manage-profile-overlay-delete').hidden = true; |
| 687 $('manage-profile-overlay-disconnect-managed').hidden = true; | 687 $('manage-profile-overlay-disconnect-managed').hidden = true; |
| 688 $('create-profile-instructions').textContent = | 688 $('create-profile-instructions').textContent = |
| 689 loadTimeData.getStringF('createProfileInstructions'); | 689 loadTimeData.getStringF('createProfileInstructions'); |
| 690 this.hideErrorBubble_(); | 690 this.hideErrorBubble_(); |
| 691 this.updateCreateInProgress_(false); | 691 this.updateCreateInProgress_(false); |
| 692 | 692 |
| 693 var shortcutsEnabled = loadTimeData.getBoolean('profileShortcutsEnabled'); | 693 var shortcutsEnabled = loadTimeData.getBoolean('profileShortcutsEnabled'); |
| 694 $('create-shortcut-container').hidden = !shortcutsEnabled; | 694 $('create-shortcut-container').hidden = !shortcutsEnabled; |
| 695 $('create-shortcut').checked = shortcutsEnabled; | 695 $('create-shortcut').checked = shortcutsEnabled; |
| 696 | 696 |
| 697 $('create-profile-name-label').hidden = true; | 697 $('create-profile-name-label').hidden = true; |
| 698 $('create-profile-name').hidden = true; | 698 $('create-profile-name').hidden = true; |
| 699 $('create-profile-ok').disabled = true; | 699 $('create-profile-ok').disabled = true; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 711 this.profileNameIsDefault_ = false; | 711 this.profileNameIsDefault_ = false; |
| 712 }, | 712 }, |
| 713 | 713 |
| 714 /** @override */ | 714 /** @override */ |
| 715 handleCancel: function() { | 715 handleCancel: function() { |
| 716 this.cancelCreateProfile_(); | 716 this.cancelCreateProfile_(); |
| 717 }, | 717 }, |
| 718 | 718 |
| 719 /** @override */ | 719 /** @override */ |
| 720 showErrorBubble_: function(errorHtml) { | 720 showErrorBubble_: function(errorHtml) { |
| 721 ManageProfileOverlay.getInstance().showErrorBubble_(errorHtml, | 721 ManageProfileOverlay.getInstance().showErrorBubble_( |
| 722 'create', | 722 errorHtml, 'create', false); |
| 723 false); | |
| 724 }, | 723 }, |
| 725 | 724 |
| 726 /** @override */ | 725 /** @override */ |
| 727 hideErrorBubble_: function() { | 726 hideErrorBubble_: function() { |
| 728 ManageProfileOverlay.getInstance().hideErrorBubble_('create'); | 727 ManageProfileOverlay.getInstance().hideErrorBubble_('create'); |
| 729 }, | 728 }, |
| 730 | 729 |
| 731 /** | 730 /** |
| 732 * Updates the UI when a profile create step begins or ends. | 731 * Updates the UI when a profile create step begins or ends. |
| 733 * Note that hideErrorBubble_() also enables the "OK" button, so it | 732 * Note that hideErrorBubble_() also enables the "OK" button, so it |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 868 * @param {boolean} allowed True if creating supervised users should be | 867 * @param {boolean} allowed True if creating supervised users should be |
| 869 * allowed. | 868 * allowed. |
| 870 * @private | 869 * @private |
| 871 */ | 870 */ |
| 872 updateSupervisedUsersAllowed_: function(allowed) { | 871 updateSupervisedUsersAllowed_: function(allowed) { |
| 873 this.supervisedUsersAllowed_ = allowed; | 872 this.supervisedUsersAllowed_ = allowed; |
| 874 this.updateCreateSupervisedUserCheckbox_(); | 873 this.updateCreateSupervisedUserCheckbox_(); |
| 875 | 874 |
| 876 $('create-profile-supervised-sign-in-link').enabled = allowed; | 875 $('create-profile-supervised-sign-in-link').enabled = allowed; |
| 877 if (!allowed) { | 876 if (!allowed) { |
| 878 $('create-profile-supervised-indicator').setAttribute('controlled-by', | 877 $('create-profile-supervised-indicator') |
| 879 'policy'); | 878 .setAttribute('controlled-by', 'policy'); |
| 880 } else { | 879 } else { |
| 881 $('create-profile-supervised-indicator').removeAttribute( | 880 $('create-profile-supervised-indicator') |
| 882 'controlled-by'); | 881 .removeAttribute('controlled-by'); |
| 883 } | 882 } |
| 884 }, | 883 }, |
| 885 | 884 |
| 886 /** | 885 /** |
| 887 * Updates the status of the "create supervised user" checkbox. Called from | 886 * Updates the status of the "create supervised user" checkbox. Called from |
| 888 * updateSupervisedUsersAllowed_() or updateCreateInProgress_(). | 887 * updateSupervisedUsersAllowed_() or updateCreateInProgress_(). |
| 889 * updateSignedInStatus_() does not call this method directly, because it | 888 * updateSignedInStatus_() does not call this method directly, because it |
| 890 * will be followed by a call to updateSupervisedUsersAllowed_(). | 889 * will be followed by a call to updateSupervisedUsersAllowed_(). |
| 891 * @private | 890 * @private |
| 892 */ | 891 */ |
| 893 updateCreateSupervisedUserCheckbox_: function() { | 892 updateCreateSupervisedUserCheckbox_: function() { |
| 894 $('create-profile-supervised').disabled = | 893 $('create-profile-supervised').disabled = !this.supervisedUsersAllowed_ || |
| 895 !this.supervisedUsersAllowed_ || this.createInProgress_ || | 894 this.createInProgress_ || this.signedInEmail_ == '' || this.hasError_; |
| 896 this.signedInEmail_ == '' || this.hasError_; | |
| 897 }, | 895 }, |
| 898 }; | 896 }; |
| 899 | 897 |
| 900 // Forward public APIs to private implementations. | 898 // Forward public APIs to private implementations. |
| 901 cr.makePublic(CreateProfileOverlay, [ | 899 cr.makePublic(CreateProfileOverlay, [ |
| 902 'cancelCreateProfile', | 900 'cancelCreateProfile', |
| 903 'onError', | 901 'onError', |
| 904 'onSuccess', | 902 'onSuccess', |
| 905 'onWarning', | 903 'onWarning', |
| 906 'updateCreateInProgress', | 904 'updateCreateInProgress', |
| 907 'updateSignedInStatus', | 905 'updateSignedInStatus', |
| 908 'updateSupervisedUsersAllowed', | 906 'updateSupervisedUsersAllowed', |
| 909 ]); | 907 ]); |
| 910 | 908 |
| 911 // Export | 909 // Export |
| 912 return { | 910 return { |
| 913 ManageProfileOverlay: ManageProfileOverlay, | 911 ManageProfileOverlay: ManageProfileOverlay, |
| 914 DisconnectAccountOverlay: DisconnectAccountOverlay, | 912 DisconnectAccountOverlay: DisconnectAccountOverlay, |
| 915 CreateProfileOverlay: CreateProfileOverlay, | 913 CreateProfileOverlay: CreateProfileOverlay, |
| 916 }; | 914 }; |
| 917 }); | 915 }); |
| OLD | NEW |