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

Side by Side Diff: chrome/browser/ui/webui/sync_setup_handler.cc

Issue 8539043: Refactor ProfileInfoCache (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/options/personal_options_handler.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "chrome/browser/ui/webui/sync_setup_handler.h" 5 #include "chrome/browser/ui/webui/sync_setup_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/json/json_reader.h" 9 #include "base/json/json_reader.h"
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
(...skipping 708 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 bool SyncSetupHandler::IsLoginAuthDataValid(const std::string& username, 719 bool SyncSetupHandler::IsLoginAuthDataValid(const std::string& username,
720 string16* error_message) { 720 string16* error_message) {
721 // Happens during unit tests. 721 // Happens during unit tests.
722 if (!web_ui_ || !profile_manager_) 722 if (!web_ui_ || !profile_manager_)
723 return true; 723 return true;
724 724
725 if (username.empty()) 725 if (username.empty())
726 return true; 726 return true;
727 727
728 // Check if the username is already in use by another profile. 728 // Check if the username is already in use by another profile.
729 FilePath cur_path = Profile::FromWebUI(web_ui_)->GetPath();
730 string16 cur_username = UTF8ToUTF16(username);
731
729 const ProfileInfoCache& cache = profile_manager_->GetProfileInfoCache(); 732 const ProfileInfoCache& cache = profile_manager_->GetProfileInfoCache();
730 size_t current_profile_index = cache.GetIndexOfProfileWithPath( 733 const std::vector<ProfileInfoEntry> entries(cache.GetProfilesSortedByName());
731 Profile::FromWebUI(web_ui_)->GetPath()); 734 for (std::vector<ProfileInfoEntry>::const_iterator it = entries.begin();
732 string16 username_utf16 = UTF8ToUTF16(username); 735 it != entries.end(); ++it) {
733 736 if (it->path() != cur_path &&
734 for (size_t i = 0; i < cache.GetNumberOfProfiles(); ++i) { 737 AreUserNamesEqual(it->user_name(), cur_username)) {
735 if (i != current_profile_index && AreUserNamesEqual(
736 cache.GetUserNameOfProfileAtIndex(i), username_utf16)) {
737 *error_message = l10n_util::GetStringUTF16( 738 *error_message = l10n_util::GetStringUTF16(
738 IDS_SYNC_USER_NAME_IN_USE_ERROR); 739 IDS_SYNC_USER_NAME_IN_USE_ERROR);
739 return false; 740 return false;
740 } 741 }
741 } 742 }
742 743
743 return true; 744 return true;
744 } 745 }
745 746
746 void SyncSetupHandler::ShowLoginErrorMessage(const string16& error_message) { 747 void SyncSetupHandler::ShowLoginErrorMessage(const string16& error_message) {
747 DictionaryValue args; 748 DictionaryValue args;
748 Profile* profile = Profile::FromWebUI(web_ui_); 749 Profile* profile = Profile::FromWebUI(web_ui_);
749 ProfileSyncService* service = profile->GetProfileSyncService(); 750 ProfileSyncService* service = profile->GetProfileSyncService();
750 SyncSetupFlow::GetArgsForGaiaLogin(service, &args); 751 SyncSetupFlow::GetArgsForGaiaLogin(service, &args);
751 args.SetString("error_message", error_message); 752 args.SetString("error_message", error_message);
752 ShowGaiaLogin(args); 753 ShowGaiaLogin(args);
753 } 754 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/personal_options_handler.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698