diff options
author | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-01 16:15:46 +0000 |
---|---|---|
committer | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-01 16:15:46 +0000 |
commit | 4253e8240d8c71588abebcc123d4e224c8a6a83a (patch) | |
tree | 881b1b1ce60c26d8b4ba649452d0f109c51f43ab /chrome | |
parent | e2ff9b407c0a1237af4447818d552f0da7e273b9 (diff) | |
download | chromium_src-4253e8240d8c71588abebcc123d4e224c8a6a83a.zip chromium_src-4253e8240d8c71588abebcc123d4e224c8a6a83a.tar.gz chromium_src-4253e8240d8c71588abebcc123d4e224c8a6a83a.tar.bz2 |
Don't allow duplicate users to be added to user whitelist.
BUG=chromium-os:6259
TEST=Verify fix for chromium-os:6259.
Review URL: http://codereview.chromium.org/3264009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58183 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/resources/options/chromeos_accounts_user_list.js | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/chrome/browser/resources/options/chromeos_accounts_user_list.js b/chrome/browser/resources/options/chromeos_accounts_user_list.js index 2044a3c..c57f290 100644 --- a/chrome/browser/resources/options/chromeos_accounts_user_list.js +++ b/chrome/browser/resources/options/chromeos_accounts_user_list.js @@ -43,12 +43,34 @@ cr.define('options.accounts', function() { }, /** + * Finds the index of user by given email. + * @private + * @param {string} email The email address to look for. + * @return {number} The index of the found user or -1 if not found. + */ + findUserByEmail_: function(email) { + var dataModel = this.dataModel; + var length = dataModel.length; + for (var i = 0; i < length; ++i) { + var user = dataModel.item(i); + if (user.email == email) { + return i; + } + } + + return -1; + }, + + /** * Adds given user to model and update backend. * @param {Object} user A user to be added to user list. */ addUser: function(user) { - this.dataModel.push(user); - this.updateBackend_(); + var index = this.findUserByEmail_(user.email); + if (index == -1) { + this.dataModel.push(user); + this.updateBackend_(); + } }, /** |