| Index: chrome/browser/ui/webui/options/manage_profile_handler.cc
|
| diff --git a/chrome/browser/ui/webui/options/manage_profile_handler.cc b/chrome/browser/ui/webui/options/manage_profile_handler.cc
|
| index ec38b07f8b25e524aa3bb0172b0c79a11410c00d..5131aa5b58b85b54b58bcf7bbd3da4d255d25c81 100644
|
| --- a/chrome/browser/ui/webui/options/manage_profile_handler.cc
|
| +++ b/chrome/browser/ui/webui/options/manage_profile_handler.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/value_conversions.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/browser_process.h"
|
| +#include "chrome/browser/profiles/profile_info_util.h"
|
| #include "chrome/browser/profiles/profile_info_cache.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| #include "chrome/browser/profiles/profile_metrics.h"
|
| @@ -76,8 +77,8 @@ void ManageProfileHandler::Observe(
|
|
|
| void ManageProfileHandler::RequestDefaultProfileIcons(const ListValue* args) {
|
| ListValue image_url_list;
|
| - for (size_t i = 0; i < ProfileInfoCache::GetDefaultAvatarIconCount(); i++) {
|
| - std::string url = ProfileInfoCache::GetDefaultAvatarIconUrl(i);
|
| + for (size_t i = 0; i < profiles::GetDefaultAvatarIconCount(); i++) {
|
| + std::string url = profiles::GetDefaultAvatarIconUrl(i);
|
| image_url_list.Append(Value::CreateStringValue(url));
|
| }
|
|
|
| @@ -87,12 +88,15 @@ void ManageProfileHandler::RequestDefaultProfileIcons(const ListValue* args) {
|
| }
|
|
|
| void ManageProfileHandler::SendProfileNames() {
|
| + DictionaryValue profile_name_dict;
|
| +
|
| ProfileInfoCache& cache =
|
| g_browser_process->profile_manager()->GetProfileInfoCache();
|
| - DictionaryValue profile_name_dict;
|
| - for (size_t i = 0, e = cache.GetNumberOfProfiles(); i < e; ++i)
|
| - profile_name_dict.SetBoolean(UTF16ToUTF8(cache.GetNameOfProfileAtIndex(i)),
|
| - true);
|
| + const std::vector<ProfileInfoEntry> entries(cache.GetProfilesSortedByName());
|
| + for (std::vector<ProfileInfoEntry>::const_iterator it = entries.begin();
|
| + it != entries.end(); ++it) {
|
| + profile_name_dict.SetBoolean(UTF16ToUTF8(it->name()), true);
|
| + }
|
|
|
| web_ui_->CallJavascriptFunction("ManageProfileOverlay.receiveProfileNames",
|
| profile_name_dict);
|
| @@ -109,30 +113,25 @@ void ManageProfileHandler::SetProfileNameAndIcon(const ListValue* args) {
|
|
|
| ProfileInfoCache& cache =
|
| g_browser_process->profile_manager()->GetProfileInfoCache();
|
| - size_t profile_index = cache.GetIndexOfProfileWithPath(profile_file_path);
|
| - if (profile_index == std::string::npos)
|
| + ProfileInfoEntry entry;
|
| + if (!cache.GetInfoForProfile(profile_file_path, &entry))
|
| return;
|
|
|
| string16 new_profile_name;
|
| if (!args->GetString(1, &new_profile_name))
|
| return;
|
|
|
| - cache.SetNameOfProfileAtIndex(profile_index, new_profile_name);
|
| - // The index in the cache may have changed if a new name triggered an
|
| - // alphabetical resort.
|
| - profile_index = cache.GetIndexOfProfileWithPath(profile_file_path);
|
| - if (profile_index == std::string::npos)
|
| - return;
|
| -
|
| string16 icon_url;
|
| size_t new_icon_index;
|
| if (!args->GetString(2, &icon_url) ||
|
| - !cache.IsDefaultAvatarIconUrl(UTF16ToUTF8(icon_url), &new_icon_index))
|
| + !profiles::IsDefaultAvatarIconUrl(UTF16ToUTF8(icon_url), &new_icon_index))
|
| return;
|
|
|
| - ProfileMetrics::LogProfileAvatarSelection(new_icon_index);
|
| - cache.SetAvatarIconOfProfileAtIndex(profile_index, new_icon_index);
|
| + entry.set_name(new_profile_name);
|
| + entry.set_icon_index(new_icon_index);
|
| + cache.SetInfoForProfile(entry);
|
|
|
| + ProfileMetrics::LogProfileAvatarSelection(new_icon_index);
|
| ProfileMetrics::LogProfileUpdate(profile_file_path);
|
| }
|
|
|
| @@ -175,7 +174,7 @@ void ManageProfileHandler::RequestProfileInfo(const ListValue* args) {
|
| FilePath profile_path = cache.GetPathOfProfileAtIndex(index);
|
| profile_value.SetString("name", cache.GetNameOfProfileAtIndex(index));
|
| profile_value.SetString("iconURL",
|
| - cache.GetDefaultAvatarIconUrl(icon_index));
|
| + profiles::GetDefaultAvatarIconUrl(icon_index));
|
| profile_value.Set("filePath", base::CreateFilePathValue(profile_path));
|
| profile_value.SetBoolean("isCurrentProfile",
|
| profile_path == current_profile_path);
|
|
|