diff options
author | ivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-15 15:53:45 +0000 |
---|---|---|
committer | ivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-15 15:53:45 +0000 |
commit | c4e418facea4f437f1a497f08c5adce76105725b (patch) | |
tree | 1f8e0c54dee8c46876286d328566cc06611beb53 /chrome/browser/ui/webui/options | |
parent | 3acc325be40dff489fa048673a9da41fbf3d425c (diff) | |
download | chromium_src-c4e418facea4f437f1a497f08c5adce76105725b.zip chromium_src-c4e418facea4f437f1a497f08c5adce76105725b.tar.gz chromium_src-c4e418facea4f437f1a497f08c5adce76105725b.tar.bz2 |
[cros] Migrate user avatars from PNG to JPG format.
Also:
*) Decoupled image handling code from UserManager to UserImageManager (lots of refactoring).
*) Force Local State store on user login (and session start, for new users).
BUG=145613,154048,154370,154365,154366
Review URL: https://chromiumcodereview.appspot.com/11027064
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161860 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/webui/options')
4 files changed, 42 insertions, 40 deletions
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc index 67e5116..e1ceea1 100644 --- a/chrome/browser/ui/webui/options/browser_options_handler.cc +++ b/chrome/browser/ui/webui/options/browser_options_handler.cc @@ -378,22 +378,20 @@ void BrowserOptionsHandler::GetLocalizedValues(DictionaryValue* values) { l10n_util::GetStringUTF16(IDS_PRODUCT_NAME))); #if defined(OS_CHROMEOS) - values->SetString("username", - chromeos::UserManager::Get()->IsUserLoggedIn() ? - chromeos::UserManager::Get()->GetLoggedInUser().email() : - std::string()); - - values->SetString( - "factoryResetWarning", - l10n_util::GetStringFUTF16( - IDS_OPTIONS_FACTORY_RESET_WARNING, - l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME))); - - values->SetString( - "factoryResetDescription", - l10n_util::GetStringFUTF16( - IDS_OPTIONS_FACTORY_RESET_DESCRIPTION, - l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME))); + const chromeos::User* user = chromeos::UserManager::Get()->GetLoggedInUser(); + values->SetString("username", user ? user->email() : std::string()); + + values->SetString( + "factoryResetWarning", + l10n_util::GetStringFUTF16( + IDS_OPTIONS_FACTORY_RESET_WARNING, + l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME))); + + values->SetString( + "factoryResetDescription", + l10n_util::GetStringFUTF16( + IDS_OPTIONS_FACTORY_RESET_DESCRIPTION, + l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME))); #endif // Pass along sync status early so it will be available during page init. @@ -1022,7 +1020,7 @@ void BrowserOptionsHandler::ThemesSetGTK(const ListValue* args) { #if defined(OS_CHROMEOS) void BrowserOptionsHandler::UpdateAccountPicture() { - std::string email = chromeos::UserManager::Get()->GetLoggedInUser().email(); + std::string email = chromeos::UserManager::Get()->GetLoggedInUser()->email(); if (!email.empty()) { web_ui()->CallJavascriptFunction("BrowserOptions.updateAccountPicture"); base::StringValue email_value(email); diff --git a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc index 357d60f..06ebe11 100644 --- a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc +++ b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc @@ -15,6 +15,7 @@ #include "chrome/browser/chromeos/login/camera_detector.h" #include "chrome/browser/chromeos/login/default_user_images.h" #include "chrome/browser/chromeos/login/user_image.h" +#include "chrome/browser/chromeos/login/user_image_manager.h" #include "chrome/browser/chromeos/login/user_manager.h" #include "chrome/browser/chromeos/options/take_photo_dialog.h" #include "chrome/browser/ui/browser_finder.h" @@ -239,21 +240,21 @@ void ChangePictureOptionsHandler::HandlePageShown(const base::ListValue* args) { } void ChangePictureOptionsHandler::SendSelectedImage() { - const User& user = UserManager::Get()->GetLoggedInUser(); - DCHECK(!user.email().empty()); + const User* user = UserManager::Get()->GetLoggedInUser(); + DCHECK(!user->email().empty()); - previous_image_index_ = user.image_index(); + previous_image_index_ = user->image_index(); switch (previous_image_index_) { case User::kExternalImageIndex: { // User has image from camera/file, record it and add to the image list. - previous_image_ = user.image(); + previous_image_ = user->image(); previous_image_data_url_ = web_ui_util::GetImageDataUrl(previous_image_); web_ui()->CallJavascriptFunction("ChangePictureOptions.setOldImage"); break; } case User::kProfileImageIndex: { // User has his/her Profile image as the current image. - SendProfileImage(user.image(), true); + SendProfileImage(user->image(), true); break; } default: { @@ -282,15 +283,16 @@ void ChangePictureOptionsHandler::SendProfileImage(const gfx::ImageSkia& image, } void ChangePictureOptionsHandler::UpdateProfileImage() { - UserManager* user_manager = UserManager::Get(); + UserImageManager* user_image_manager = + UserManager::Get()->GetUserImageManager(); // If we have a downloaded profile image and haven't sent it in // |SendSelectedImage|, send it now (without selecting). if (previous_image_index_ != User::kProfileImageIndex && - !user_manager->DownloadedProfileImage().isNull()) - SendProfileImage(user_manager->DownloadedProfileImage(), false); + !user_image_manager->DownloadedProfileImage().isNull()) + SendProfileImage(user_image_manager->DownloadedProfileImage(), false); - user_manager->DownloadProfileImage(kProfileDownloadReason); + user_image_manager->DownloadProfileImage(kProfileDownloadReason); } void ChangePictureOptionsHandler::HandleSelectImage(const ListValue* args) { @@ -303,8 +305,9 @@ void ChangePictureOptionsHandler::HandleSelectImage(const ListValue* args) { } DCHECK(!image_url.empty()); - UserManager* user_manager = UserManager::Get(); - const User& user = user_manager->GetLoggedInUser(); + const User* user = UserManager::Get()->GetLoggedInUser(); + UserImageManager* user_image_manager = + UserManager::Get()->GetUserImageManager(); int image_index = User::kInvalidImageIndex; bool waiting_for_camera_photo = false; @@ -318,13 +321,13 @@ void ChangePictureOptionsHandler::HandleSelectImage(const ListValue* args) { if (previous_image_index_ == User::kExternalImageIndex) { DCHECK(!previous_image_.isNull()); - user_manager->SaveUserImage(user.email(), - UserImage::CreateAndEncode(previous_image_)); + user_image_manager->SaveUserImage( + user->email(), UserImage::CreateAndEncode(previous_image_)); } else { DCHECK(previous_image_index_ >= 0 && previous_image_index_ < kFirstDefaultImageIndex); - user_manager->SaveUserDefaultImageIndex(user.email(), - previous_image_index_); + user_image_manager->SaveUserDefaultImageIndex( + user->email(), previous_image_index_); } UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", @@ -333,7 +336,7 @@ void ChangePictureOptionsHandler::HandleSelectImage(const ListValue* args) { VLOG(1) << "Selected old user image"; } else if (IsDefaultImageUrl(image_url, &image_index)) { // One of the default user images. - user_manager->SaveUserDefaultImageIndex(user.email(), image_index); + user_image_manager->SaveUserDefaultImageIndex(user->email(), image_index); UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", GetDefaultImageHistogramValue(image_index), @@ -350,7 +353,7 @@ void ChangePictureOptionsHandler::HandleSelectImage(const ListValue* args) { } } else { // Profile image selected. Could be previous (old) user image. - user_manager->SaveUserImageFromProfileImage(user.email()); + user_image_manager->SaveUserImageFromProfileImage(user->email()); if (previous_image_index_ == User::kProfileImageIndex) { UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", @@ -374,8 +377,8 @@ void ChangePictureOptionsHandler::FileSelected(const FilePath& path, int index, void* params) { UserManager* user_manager = UserManager::Get(); - user_manager->SaveUserImageFromFile(user_manager->GetLoggedInUser().email(), - path); + user_manager->GetUserImageManager()->SaveUserImageFromFile( + user_manager->GetLoggedInUser()->email(), path); UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", kHistogramImageFromFile, kHistogramImagesCount); @@ -386,8 +389,9 @@ void ChangePictureOptionsHandler::OnPhotoAccepted(const gfx::ImageSkia& photo) { UserManager* user_manager = UserManager::Get(); // TODO(ivankr): once old camera UI is gone, there's always raw data in // |image_decoder_|, pass UserImage and user it instead. - user_manager->SaveUserImage(user_manager->GetLoggedInUser().email(), - UserImage::CreateAndEncode(photo)); + user_manager->GetUserImageManager()->SaveUserImage( + user_manager->GetLoggedInUser()->email(), + UserImage::CreateAndEncode(photo)); UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice", kHistogramImageFromCamera, kHistogramImagesCount); diff --git a/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc index b943376..6abee13 100644 --- a/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc +++ b/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc @@ -48,7 +48,7 @@ bool IsSettingOwnerOnly(const std::string& pref) { bool IsLoggedInOwner(const std::string& username) { UserManager* user_manager = UserManager::Get(); return user_manager->IsCurrentUserOwner() && - user_manager->GetLoggedInUser().email() == username; + user_manager->GetLoggedInUser()->email() == username; } // Creates a user info dictionary to be stored in the |ListValue| that is diff --git a/chrome/browser/ui/webui/options/chromeos/set_wallpaper_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/set_wallpaper_options_handler.cc index 4d76f8f..64ed143 100644 --- a/chrome/browser/ui/webui/options/chromeos/set_wallpaper_options_handler.cc +++ b/chrome/browser/ui/webui/options/chromeos/set_wallpaper_options_handler.cc @@ -106,7 +106,7 @@ void SetWallpaperOptionsHandler::FileSelected(const FilePath& path, // Default wallpaper layout is CENTER_CROPPED. WallpaperManager::Get()->SetUserWallpaperFromFile( - user_manager->GetLoggedInUser().email(), path, ash::CENTER_CROPPED, + user_manager->GetLoggedInUser()->email(), path, ash::CENTER_CROPPED, weak_factory_.GetWeakPtr()); web_ui()->CallJavascriptFunction("SetWallpaperOptions.didSelectFile"); } |