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

Unified Diff: chrome/browser/resources/options2/manage_profile_overlay.js

Issue 10809005: Options: Rename chrome/browser/resources/options2 -> chrome/browser/resources/options. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix. Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/options2/manage_profile_overlay.js
diff --git a/chrome/browser/resources/options2/manage_profile_overlay.js b/chrome/browser/resources/options2/manage_profile_overlay.js
deleted file mode 100644
index c4997f71d46068658554035bd2e0787825c8c77b..0000000000000000000000000000000000000000
--- a/chrome/browser/resources/options2/manage_profile_overlay.js
+++ /dev/null
@@ -1,317 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-cr.define('options', function() {
- var OptionsPage = options.OptionsPage;
- var ArrayDataModel = cr.ui.ArrayDataModel;
-
- /**
- * ManageProfileOverlay class
- * Encapsulated handling of the 'Manage profile...' overlay page.
- * @constructor
- * @class
- */
- function ManageProfileOverlay() {
- OptionsPage.call(this, 'manageProfile',
- loadTimeData.getString('manageProfileTabTitle'),
- 'manage-profile-overlay');
- };
-
- cr.addSingletonGetter(ManageProfileOverlay);
-
- ManageProfileOverlay.prototype = {
- // Inherit from OptionsPage.
- __proto__: OptionsPage.prototype,
-
- // Info about the currently managed/deleted profile.
- profileInfo_: null,
-
- // An object containing all known profile names.
- profileNames_: {},
-
- // The currently selected icon in the icon grid.
- iconGridSelectedURL_: null,
-
- /**
- * Initialize the page.
- */
- initializePage: function() {
- // Call base class implementation to start preference initialization.
- OptionsPage.prototype.initializePage.call(this);
-
- var self = this;
- var iconGrid = $('manage-profile-icon-grid');
- var createIconGrid = $('create-profile-icon-grid');
- options.ProfilesIconGrid.decorate(iconGrid);
- options.ProfilesIconGrid.decorate(createIconGrid);
- iconGrid.addEventListener('change', function(e) {
- self.onIconGridSelectionChanged_('manage');
- });
- createIconGrid.addEventListener('change', function(e) {
- self.onIconGridSelectionChanged_('create');
- });
-
- $('manage-profile-name').oninput = function(event) {
- self.onNameChanged_(event, 'manage');
- };
- $('create-profile-name').oninput = function(event) {
- self.onNameChanged_(event, 'create');
- };
- $('manage-profile-cancel').onclick =
- $('delete-profile-cancel').onclick =
- $('create-profile-cancel').onclick = function(event) {
- OptionsPage.closeOverlay();
- };
- $('manage-profile-ok').onclick = function(event) {
- OptionsPage.closeOverlay();
- self.submitManageChanges_();
- };
- $('delete-profile-ok').onclick = function(event) {
- OptionsPage.closeOverlay();
- chrome.send('deleteProfile', [self.profileInfo_.filePath]);
- };
- $('create-profile-ok').onclick = function(event) {
- OptionsPage.closeOverlay();
- // Get the user's chosen name and icon, or default if they do not
- // wish to customize their profile.
- var name = $('create-profile-name').value;
- var icon_url = createIconGrid.selectedItem;
- chrome.send('createProfile', [name, icon_url]);
- };
- },
-
- /** @inheritDoc */
- didShowPage: function() {
- chrome.send('requestDefaultProfileIcons');
-
- // Just ignore the manage profile dialog on Chrome OS, they use /accounts.
- if (!cr.isChromeOS && window.location.pathname == '/manageProfile')
- ManageProfileOverlay.getInstance().prepareForManageDialog_();
-
- $('manage-profile-name').focus();
- $('create-profile-name').focus();
- },
-
- /**
- * Set the profile info used in the dialog.
- * @param {Object} profileInfo An object of the form:
- * profileInfo = {
- * name: "Profile Name",
- * iconURL: "chrome://path/to/icon/image",
- * filePath: "/path/to/profile/data/on/disk"
- * isCurrentProfile: false,
- * };
- * @param {String} mode A label that specifies the type of dialog
- * box which is currently being viewed (i.e. 'create' or
- * 'manage').
- * @private
- */
- setProfileInfo_: function(profileInfo, mode) {
- this.iconGridSelectedURL_ = profileInfo.iconURL;
- this.profileInfo_ = profileInfo;
- $(mode + '-profile-name').value = profileInfo.name;
- $(mode + '-profile-icon-grid').selectedItem = profileInfo.iconURL;
- },
-
- /**
- * Sets the name of the currently edited profile.
- * @private
- */
- setProfileName_: function(name) {
- if (this.profileInfo_)
- this.profileInfo_.name = name;
- $('manage-profile-name').value = name;
- },
-
- /**
- * the user will use to choose their profile icon.
- * @param {Array.<string>} iconURLs An array of icon URLs.
- * @private
- */
- receiveDefaultProfileIcons_: function(iconGrid, iconURLs) {
- $(iconGrid).dataModel = new ArrayDataModel(iconURLs);
-
- if (this.profileInfo_)
- $(iconGrid).selectedItem = this.profileInfo_.iconURL;
-
- var grid = $(iconGrid);
- // Recalculate the measured item size.
- grid.measured_ = null;
- grid.columns = 0;
- grid.redraw();
- },
-
- /**
- * Set a dictionary of all profile names. These are used to prevent the
- * user from naming two profiles the same.
- * @param {Object} profileNames A dictionary of profile names.
- * @private
- */
- receiveProfileNames_: function(profileNames) {
- this.profileNames_ = profileNames;
- },
-
- /**
- * Display the error bubble, with |errorText| in the bubble.
- * @param {string} errorText The localized string id to display as an error.
- * @param {String} mode A label that specifies the type of dialog
- * box which is currently being viewed (i.e. 'create' or
- * 'manage').
- * @private
- */
- showErrorBubble_: function(errorText, mode) {
- var nameErrorEl = $(mode + '-profile-error-bubble');
- nameErrorEl.hidden = false;
- nameErrorEl.textContent = loadTimeData.getString(errorText);
-
- $(mode + '-profile-ok').disabled = true;
- },
-
- /**
- * Hide the error bubble.
- * @param {String} mode A label that specifies the type of dialog
- * box which is currently being viewed (i.e. 'create' or
- * 'manage').
- * @private
- */
- hideErrorBubble_: function(mode) {
- $(mode + '-profile-error-bubble').hidden = true;
- $(mode + '-profile-ok').disabled = false;
- },
-
- /**
- * oninput callback for <input> field.
- * @param {Event} event The event object.
- * @param {String} mode A label that specifies the type of dialog
- * box which is currently being viewed (i.e. 'create' or
- * 'manage').
- * @private
- */
- onNameChanged_: function(event, mode) {
- var newName = event.target.value;
- var oldName = this.profileInfo_.name;
-
- if (newName == oldName) {
- this.hideErrorBubble_(mode);
- } else if (this.profileNames_[newName] != undefined) {
- this.showErrorBubble_('manageProfilesDuplicateNameError', mode);
- } else {
- this.hideErrorBubble_(mode);
-
- var nameIsValid = $(mode + '-profile-name').validity.valid;
- $(mode + '-profile-ok').disabled = !nameIsValid;
- }
- },
-
- /**
- * Called when the user clicks "OK". Saves the newly changed profile info.
- * @private
- */
- submitManageChanges_: function() {
- var name = $('manage-profile-name').value;
- var iconURL = $('manage-profile-icon-grid').selectedItem;
- chrome.send('setProfileNameAndIcon',
- [this.profileInfo_.filePath, name, iconURL]);
- },
-
- /**
- * Called when the selected icon in the icon grid changes.
- * @param {String} mode A label that specifies the type of dialog
- * box which is currently being viewed (i.e. 'create' or
- * 'manage').
- * @private
- */
- onIconGridSelectionChanged_: function(mode) {
- var iconURL = $(mode + '-profile-icon-grid').selectedItem;
- if (!iconURL || iconURL == this.iconGridSelectedURL_)
- return;
- this.iconGridSelectedURL_ = iconURL;
- chrome.send('profileIconSelectionChanged',
- [this.profileInfo_.filePath, iconURL]);
- },
-
- /**
- * Updates the contents of the "Manage Profile" section of the dialog,
- * and shows that section.
- * @private
- */
- prepareForManageDialog_: function() {
- var profileInfo = BrowserOptions.getCurrentProfile();
- ManageProfileOverlay.setProfileInfo(profileInfo, 'manage');
- $('manage-profile-overlay-create').hidden = true;
- $('manage-profile-overlay-manage').hidden = false;
- $('manage-profile-overlay-delete').hidden = true;
- this.hideErrorBubble_('manage');
- },
-
- /**
- * Display the "Manage Profile" dialog.
- * @private
- */
- showManageDialog_: function() {
- this.prepareForManageDialog_();
- OptionsPage.navigateToPage('manageProfile');
- },
-
- /**
- * Display the "Delete Profile" dialog.
- * @param {Object} profileInfo The profile object of the profile to delete.
- * @private
- */
- showDeleteDialog_: function(profileInfo) {
- ManageProfileOverlay.setProfileInfo(profileInfo, 'manage');
- $('manage-profile-overlay-create').hidden = true;
- $('manage-profile-overlay-manage').hidden = true;
- $('manage-profile-overlay-delete').hidden = false;
- $('delete-profile-message').textContent =
- loadTimeData.getStringF('deleteProfileMessage', profileInfo.name);
- $('delete-profile-message').style.backgroundImage = 'url("' +
- profileInfo.iconURL + '")';
-
- // Because this dialog isn't useful when refreshing or as part of the
- // history, don't create a history entry for it when showing.
- OptionsPage.showPageByName('manageProfile', false);
- },
-
- /**
- * Display the "Create Profile" dialog.
- * @param {Object} profileInfo The profile object of the profile to
- * create. Upon creation, this object only needs a name and an avatar.
- * @private
- */
- showCreateDialog_: function(profileInfo) {
- ManageProfileOverlay.setProfileInfo(profileInfo, 'create');
- $('manage-profile-overlay-create').hidden = false;
- $('manage-profile-overlay-manage').hidden = true;
- $('manage-profile-overlay-delete').hidden = true;
- $('create-profile-instructions').textContent =
- loadTimeData.getStringF('createProfileInstructions');
- ManageProfileOverlay.getInstance().hideErrorBubble_('create');
-
- OptionsPage.showPageByName('manageProfile', false);
- },
-
- };
-
- // Forward public APIs to private implementations.
- [
- 'receiveDefaultProfileIcons',
- 'receiveProfileNames',
- 'setProfileInfo',
- 'setProfileName',
- 'showManageDialog',
- 'showDeleteDialog',
- 'showCreateDialog',
- ].forEach(function(name) {
- ManageProfileOverlay[name] = function() {
- var instance = ManageProfileOverlay.getInstance();
- return instance[name + '_'].apply(instance, arguments);
- };
- });
-
- // Export
- return {
- ManageProfileOverlay: ManageProfileOverlay
- };
-});

Powered by Google App Engine
This is Rietveld 408576698