summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-01 16:15:46 +0000
committerxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-01 16:15:46 +0000
commit4253e8240d8c71588abebcc123d4e224c8a6a83a (patch)
tree881b1b1ce60c26d8b4ba649452d0f109c51f43ab /chrome
parente2ff9b407c0a1237af4447818d552f0da7e273b9 (diff)
downloadchromium_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.js26
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_();
+ }
},
/**