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

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

Issue 8673003: Revert 111254 - Add GAIA info to profile info cache (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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/profiles/profile_info_cache.cc
===================================================================
--- chrome/browser/profiles/profile_info_cache.cc (revision 111260)
+++ chrome/browser/profiles/profile_info_cache.cc (working copy)
@@ -4,14 +4,10 @@
#include "chrome/browser/profiles/profile_info_cache.h"
-#include "base/bind.h"
-#include "base/file_util.h"
#include "base/format_macros.h"
-#include "base/i18n/case_conversion.h"
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/rand_util.h"
-#include "base/stl_util.h"
#include "base/string_number_conversions.h"
#include "base/stringprintf.h"
#include "base/utf_string_conversions.h"
@@ -21,30 +17,19 @@
#include "chrome/browser/prefs/scoped_user_pref_update.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/pref_names.h"
-#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
-#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
-#include "ui/gfx/image/image.h"
-#include "ui/gfx/image/image_util.h"
-using content::BrowserThread;
-
namespace {
const char kNameKey[] = "name";
-const char kGAIANameKey[] = "gaia_name";
-const char kUseGAIANameKey[] = "use_gaia_name";
const char kUserNameKey[] = "user_name";
const char kAvatarIconKey[] = "avatar_icon";
-const char kUseGAIAPictureKey[] = "use_gaia_picture";
const char kBackgroundAppsKey[] = "background_apps";
-const char kHasMigratedToGAIAInfoKey[] = "has_migrated_to_gaia_info";
const char kDefaultUrlPrefix[] = "chrome://theme/IDR_PROFILE_AVATAR_";
-const char kGAIAPictureFileName[] = "Google Profile Picture.png";
const int kDefaultAvatarIconResources[] = {
IDR_PROFILE_AVATAR_0,
@@ -102,62 +87,6 @@
IDS_DEFAULT_AVATAR_NAME_25
};
-// Writes the given bitmap as a PNG to disk. On completion |success| is set to
-// true on success and false on failure.
-void SaveBitmap(gfx::Image image,
- FilePath image_path,
- bool* success) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
- *success = false;
-
- // Make sure the destination directory exists.
- FilePath dir = image_path.DirName();
- if (!file_util::DirectoryExists(dir) && !file_util::CreateDirectory(dir)) {
- LOG(ERROR) << "Failed to create parent directory.";
- return;
- }
-
- std::vector<unsigned char> encoded_image;
- if (!gfx::PNGEncodedDataFromImage(image, &encoded_image)) {
- LOG(ERROR) << "Failed to PNG encode the image.";
- return;
- }
-
- if (file_util::WriteFile(image_path,
- reinterpret_cast<char*>(&encoded_image[0]),
- encoded_image.size()) == -1) {
- LOG(ERROR) << "Failed to save image to file.";
- return;
- }
-
- *success = true;
-}
-
-// Reads a PNG from disk and decodes it. If the bitmap was successfully read
-// from disk the then |out_image| will contain the bitmap image, otherwise it
-// will be NULL.
-void ReadBitmap(FilePath image_path,
- gfx::Image** out_image) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
- *out_image = NULL;
-
- std::string image_data;
- if (!file_util::ReadFileToString(image_path, &image_data)) {
- LOG(ERROR) << "Failed to read PNG file from disk.";
- return;
- }
-
- const unsigned char* data =
- reinterpret_cast<const unsigned char*>(image_data.data());
- gfx::Image* image = gfx::ImageFromPNGEncodedData(data, image_data.length());
- if (image == NULL) {
- LOG(ERROR) << "Failed to decode PNG file.";
- return;
- }
-
- *out_image = image;
-}
-
} // namespace
ProfileInfoCache::ProfileInfoCache(PrefService* prefs,
@@ -179,8 +108,6 @@
}
ProfileInfoCache::~ProfileInfoCache() {
- STLDeleteContainerPairSecondPointers(
- gaia_pictures_.begin(), gaia_pictures_.end());
}
void ProfileInfoCache::AddProfileToCache(const FilePath& profile_path,
@@ -259,16 +186,19 @@
}
string16 ProfileInfoCache::GetNameOfProfileAtIndex(size_t index) const {
- if (IsUsingGAIANameOfProfileAtIndex(index))
- return GetGAIANameOfProfileAtIndex(index);
-
string16 name;
GetInfoForProfileAtIndex(index)->GetString(kNameKey, &name);
return name;
}
FilePath ProfileInfoCache::GetPathOfProfileAtIndex(size_t index) const {
- return user_data_dir_.AppendASCII(sorted_keys_[index]);
+ FilePath::StringType base_name;
+#if defined(OS_POSIX)
+ base_name = sorted_keys_[index];
+#elif defined(OS_WIN)
+ base_name = ASCIIToWide(sorted_keys_[index]);
+#endif
+ return user_data_dir_.Append(base_name);
}
string16 ProfileInfoCache::GetUserNameOfProfileAtIndex(size_t index) const {
@@ -279,9 +209,6 @@
const gfx::Image& ProfileInfoCache::GetAvatarIconOfProfileAtIndex(
size_t index) const {
- if (IsUsingGAIAPictureOfProfileAtIndex(index))
- return GetGAIAPictureOfProfileAtIndex(index);
-
int resource_id = GetDefaultAvatarIconResourceIDAtIndex(
GetAvatarIconIndexOfProfileAtIndex(index));
return ResourceBundle::GetSharedInstance().GetImageNamed(resource_id);
@@ -295,75 +222,6 @@
return background_app_status;
}
-string16 ProfileInfoCache::GetGAIANameOfProfileAtIndex(size_t index) const {
- string16 name;
- GetInfoForProfileAtIndex(index)->GetString(kGAIANameKey, &name);
- return name;
-}
-
-bool ProfileInfoCache::IsUsingGAIANameOfProfileAtIndex(size_t index) const {
- bool value = false;
- GetInfoForProfileAtIndex(index)->GetBoolean(kUseGAIANameKey, &value);
- return value;
-}
-
-const gfx::Image& ProfileInfoCache::GetGAIAPictureOfProfileAtIndex(
- size_t index) const {
- FilePath path = GetPathOfProfileAtIndex(index);
- std::string key = CacheKeyFromProfilePath(path);
- if (gaia_pictures_.count(key)) {
- return *gaia_pictures_[key];
- }
-
- // The GAIA picture is not in the cache yet. Load it from disk and return
- // a blank picture for now.
- gaia_pictures_[key] = new gfx::Image(new SkBitmap());
-
- FilePath image_path = path.AppendASCII(kGAIAPictureFileName);
- gfx::Image** image = new gfx::Image*;
- BrowserThread::PostTaskAndReply(BrowserThread::FILE, FROM_HERE,
- base::Bind(&ReadBitmap, image_path, image),
- base::Bind(&ProfileInfoCache::OnGAIAPictureLoaded,
- const_cast<ProfileInfoCache*>(this)->AsWeakPtr(), path, image));
-
- return *gaia_pictures_[key];
-}
-
-void ProfileInfoCache::OnGAIAPictureLoaded(FilePath path,
- gfx::Image** image) const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- if (*image) {
- std::string key = CacheKeyFromProfilePath(path);
- gaia_pictures_[key] = *image;
-
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
- content::NotificationService::AllSources(),
- content::NotificationService::NoDetails());
- }
- delete image;
-}
-
-void ProfileInfoCache::OnGAIAPictureSaved(FilePath path, bool* success) const {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- if (*success) {
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_PROFILE_CACHE_PICTURE_SAVED,
- content::NotificationService::AllSources(),
- content::NotificationService::NoDetails());
- }
- delete success;
-}
-
-bool ProfileInfoCache::IsUsingGAIAPictureOfProfileAtIndex(
- size_t index) const {
- bool value = false;
- GetInfoForProfileAtIndex(index)->GetBoolean(kUseGAIAPictureKey, &value);
- return value;
-}
-
size_t ProfileInfoCache::GetAvatarIconIndexOfProfileAtIndex(size_t index)
const {
std::string icon_url;
@@ -378,28 +236,40 @@
void ProfileInfoCache::SetNameOfProfileAtIndex(size_t index,
const string16& name) {
- if (name == GetNameOfProfileAtIndex(index))
- return;
-
scoped_ptr<DictionaryValue> info(GetInfoForProfileAtIndex(index)->DeepCopy());
string16 old_name;
info->GetString(kNameKey, &old_name);
info->SetString(kNameKey, name);
// This takes ownership of |info|.
SetInfoForProfileAtIndex(index, info.release());
- UpdateSortForProfileIndex(index);
+ // Remove and reinsert key in |sorted_keys_| to alphasort.
+ std::string key = CacheKeyFromProfilePath(GetPathOfProfileAtIndex(index));
+ std::vector<std::string>::iterator key_it =
+ std::find(sorted_keys_.begin(), sorted_keys_.end(), key);
+ DCHECK(key_it != sorted_keys_.end());
+ sorted_keys_.erase(key_it);
+ sorted_keys_.insert(FindPositionForProfile(key, name), key);
+
FOR_EACH_OBSERVER(ProfileInfoCacheObserver,
observer_list_,
OnProfileNameChanged(old_name, name));
+
+ content::NotificationService::current()->Notify(
+ chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
+ content::NotificationService::AllSources(),
+ content::NotificationService::NoDetails());
}
void ProfileInfoCache::SetUserNameOfProfileAtIndex(size_t index,
const string16& user_name) {
- if (user_name == GetUserNameOfProfileAtIndex(index))
+ string16 old_user_name;
+ const base::DictionaryValue* old_info = GetInfoForProfileAtIndex(index);
+ old_info->GetString(kUserNameKey, &old_user_name);
+ if (old_user_name == user_name)
return;
- scoped_ptr<DictionaryValue> info(GetInfoForProfileAtIndex(index)->DeepCopy());
+ scoped_ptr<DictionaryValue> info(old_info->DeepCopy());
info->SetString(kUserNameKey, user_name);
// This takes ownership of |info|.
SetInfoForProfileAtIndex(index, info.release());
@@ -424,59 +294,6 @@
SetInfoForProfileAtIndex(index, info.release());
}
-void ProfileInfoCache::SetGAIANameOfProfileAtIndex(size_t index,
- const string16& name) {
- if (name == GetGAIANameOfProfileAtIndex(index))
- return;
-
- scoped_ptr<DictionaryValue> info(GetInfoForProfileAtIndex(index)->DeepCopy());
- info->SetString(kGAIANameKey, name);
- // This takes ownership of |info|.
- SetInfoForProfileAtIndex(index, info.release());
- UpdateSortForProfileIndex(index);
-}
-
-void ProfileInfoCache::SetIsUsingGAIANameOfProfileAtIndex(size_t index,
- bool value) {
- if (value == IsUsingGAIANameOfProfileAtIndex(index))
- return;
-
- scoped_ptr<DictionaryValue> info(GetInfoForProfileAtIndex(index)->DeepCopy());
- info->SetBoolean(kUseGAIANameKey, value);
- // This takes ownership of |info|.
- SetInfoForProfileAtIndex(index, info.release());
- UpdateSortForProfileIndex(index);
-}
-
-void ProfileInfoCache::SetGAIAPictureOfProfileAtIndex(size_t index,
- const gfx::Image& image) {
- FilePath path = GetPathOfProfileAtIndex(index);
- std::string key = CacheKeyFromProfilePath(path);
-
- delete gaia_pictures_[key];
- gaia_pictures_[key] = new gfx::Image(image);
-
- FilePath image_path = path.AppendASCII(kGAIAPictureFileName);
- bool* success = new bool;
- BrowserThread::PostTaskAndReply(BrowserThread::FILE, FROM_HERE,
- base::Bind(&SaveBitmap, image, image_path, success),
- base::Bind(&ProfileInfoCache::OnGAIAPictureSaved, AsWeakPtr(),
- path, success));
-
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
- content::NotificationService::AllSources(),
- content::NotificationService::NoDetails());
-}
-
-void ProfileInfoCache::SetIsUsingGAIAPictureOfProfileAtIndex(size_t index,
- bool value) {
- scoped_ptr<DictionaryValue> info(GetInfoForProfileAtIndex(index)->DeepCopy());
- info->SetBoolean(kUseGAIAPictureKey, value);
- // This takes ownership of |info|.
- SetInfoForProfileAtIndex(index, info.release());
-}
-
string16 ProfileInfoCache::ChooseNameForNewProfile(size_t icon_index) {
string16 name;
for (int name_index = 1; ; ++name_index) {
@@ -503,22 +320,6 @@
}
}
-bool ProfileInfoCache::GetHasMigratedToGAIAInfoOfProfileAtIndex(
- size_t index) const {
- bool value = false;
- GetInfoForProfileAtIndex(index)->GetBoolean(
- kHasMigratedToGAIAInfoKey, &value);
- return value;
-}
-
-void ProfileInfoCache::SetHasMigratedToGAIAInfoOfProfileAtIndex(
- size_t index, bool value) {
- scoped_ptr<DictionaryValue> info(GetInfoForProfileAtIndex(index)->DeepCopy());
- info->SetBoolean(kHasMigratedToGAIAInfoKey, value);
- // This takes ownership of |info|.
- SetInfoForProfileAtIndex(index, info.release());
-}
-
bool ProfileInfoCache::IconIndexIsUnique(size_t icon_index) const {
for (size_t i = 0; i < GetNumberOfProfiles(); ++i) {
if (GetAvatarIconIndexOfProfileAtIndex(i) == icon_index)
@@ -637,10 +438,8 @@
std::vector<std::string>::iterator ProfileInfoCache::FindPositionForProfile(
std::string search_key,
const string16& search_name) {
- string16 search_name_l = base::i18n::ToLower(search_name);
for (size_t i = 0; i < GetNumberOfProfiles(); ++i) {
- string16 name_l = base::i18n::ToLower(GetNameOfProfileAtIndex(i));
- int name_compare = search_name_l.compare(name_l);
+ int name_compare = search_name.compare(GetNameOfProfileAtIndex(i));
if (name_compare < 0)
return sorted_keys_.begin() + i;
if (name_compare == 0) {
@@ -652,23 +451,6 @@
return sorted_keys_.end();
}
-void ProfileInfoCache::UpdateSortForProfileIndex(size_t index) {
- string16 name = GetNameOfProfileAtIndex(index);
-
- // Remove and reinsert key in |sorted_keys_| to alphasort.
- std::string key = CacheKeyFromProfilePath(GetPathOfProfileAtIndex(index));
- std::vector<std::string>::iterator key_it =
- std::find(sorted_keys_.begin(), sorted_keys_.end(), key);
- DCHECK(key_it != sorted_keys_.end());
- sorted_keys_.erase(key_it);
- sorted_keys_.insert(FindPositionForProfile(key, name), key);
-
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
- content::NotificationService::AllSources(),
- content::NotificationService::NoDetails());
-}
-
// static
std::vector<string16> ProfileInfoCache::GetProfileNames() {
std::vector<string16> names;
« no previous file with comments | « chrome/browser/profiles/profile_info_cache.h ('k') | chrome/browser/profiles/profile_info_cache_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698