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

Unified Diff: chrome/browser/profiles/profile_info_cache.cc

Issue 7256002: Multi-Profiles: New Profile Setup UI (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments Created 9 years, 6 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
« no previous file with comments | « chrome/browser/profiles/profile_info_cache.h ('k') | chrome/browser/profiles/profile_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/profiles/profile_info_cache.cc
diff --git a/chrome/browser/profiles/profile_info_cache.cc b/chrome/browser/profiles/profile_info_cache.cc
index 4a71e0241bcbee7aa1392ac1a059a5ccc6f984b9..eecbbd2d15940165bc5eb9f40fd21f706cfbb681 100644
--- a/chrome/browser/profiles/profile_info_cache.cc
+++ b/chrome/browser/profiles/profile_info_cache.cc
@@ -29,7 +29,7 @@ const int kDefaultAvatarIconResources[] = {
IDR_PROFILE_AVATAR_3,
};
-const int kDefaultAvatarIconsCount = arraysize(kDefaultAvatarIconResources);
+const size_t kDefaultAvatarIconsCount = arraysize(kDefaultAvatarIconResources);
// Checks if the given URL points to one of the default avatar icons. if it is,
// returns true and its index through |icon_index|. If not, returns false.
@@ -42,7 +42,8 @@ bool IsDefaultAvatarIconUrl(const std::string& url, size_t* icon_index) {
if (base::StringToInt(url.begin() + strlen(kDefaultUrlPrefix),
url.end(),
&int_value)) {
- if (int_value < 0 || int_value >= kDefaultAvatarIconsCount)
+ if (int_value < 0 ||
+ int_value >= static_cast<int>(kDefaultAvatarIconsCount))
return false;
*icon_index = int_value;
return true;
@@ -51,12 +52,6 @@ bool IsDefaultAvatarIconUrl(const std::string& url, size_t* icon_index) {
return false;
}
-// Returns a URL for the default avatar icon with specified index.
-std::string GetDefaultAvatarIconUrl(int icon_index) {
- DCHECK_LT(icon_index, kDefaultAvatarIconsCount);
- return StringPrintf("%s%d", kDefaultUrlPrefix, icon_index);
-}
-
} // namespace
ProfileInfoCache::ProfileInfoCache(PrefService* prefs,
@@ -108,6 +103,18 @@ size_t ProfileInfoCache::GetNumberOfProfiles() const {
return sorted_keys_.size();
}
+size_t ProfileInfoCache::GetIndexOfProfileWithPath(
+ const FilePath& profile_path) const {
+ if (profile_path.DirName() != user_data_dir_)
+ return std::string::npos;
+ std::string search_key = profile_path.BaseName().MaybeAsASCII();
+ for (size_t i = 0; i < sorted_keys_.size(); ++i) {
+ if (sorted_keys_[i] == search_key)
+ return i;
+ }
+ return std::string::npos;
+}
+
string16 ProfileInfoCache::GetNameOfProfileAtIndex(size_t index) const {
string16 name;
GetInfoForProfileAtIndex(index)->GetString(kNameKey, &name);
@@ -126,17 +133,21 @@ FilePath ProfileInfoCache::GetPathOfProfileAtIndex(size_t index) const {
const gfx::Image& ProfileInfoCache::GetAvatarIconOfProfileAtIndex(
size_t index) const {
+ int resource_id = GetDefaultAvatarIconResourceIDAtIndex(
+ GetAvatarIconIndexOfProfileAtIndex(index));
+ return ResourceBundle::GetSharedInstance().GetImageNamed(resource_id);
+}
+
+size_t ProfileInfoCache::GetAvatarIconIndexOfProfileAtIndex(size_t index)
+ const {
std::string icon_url;
GetInfoForProfileAtIndex(index)->GetString(kAvatarIconKey, &icon_url);
size_t icon_index = 0;
- if (IsDefaultAvatarIconUrl(icon_url, &icon_index)) {
- int resource_id = GetDefaultAvatarIconResourceIDAtIndex(icon_index);
- return ResourceBundle::GetSharedInstance().GetImageNamed(resource_id);
- }
+ if (IsDefaultAvatarIconUrl(icon_url, &icon_index))
+ return icon_index;
DLOG(WARNING) << "Unknown avatar icon: " << icon_url;
- return ResourceBundle::GetSharedInstance().GetImageNamed(
- GetDefaultAvatarIconResourceIDAtIndex(0));
+ return GetDefaultAvatarIconResourceIDAtIndex(0);
}
void ProfileInfoCache::SetNameOfProfileAtIndex(size_t index,
@@ -164,6 +175,11 @@ int ProfileInfoCache::GetDefaultAvatarIconResourceIDAtIndex(size_t index) {
return kDefaultAvatarIconResources[index];
}
+std::string ProfileInfoCache::GetDefaultAvatarIconUrl(size_t index) {
+ DCHECK_LT(index, kDefaultAvatarIconsCount);
+ return StringPrintf("%s%zu", kDefaultUrlPrefix, index);
+}
+
const DictionaryValue* ProfileInfoCache::GetInfoForProfileAtIndex(
size_t index) const {
DCHECK_LT(index, GetNumberOfProfiles());
« no previous file with comments | « chrome/browser/profiles/profile_info_cache.h ('k') | chrome/browser/profiles/profile_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698