summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/webui/options
diff options
context:
space:
mode:
authorivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-15 15:53:45 +0000
committerivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-15 15:53:45 +0000
commitc4e418facea4f437f1a497f08c5adce76105725b (patch)
tree1f8e0c54dee8c46876286d328566cc06611beb53 /chrome/browser/ui/webui/options
parent3acc325be40dff489fa048673a9da41fbf3d425c (diff)
downloadchromium_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')
-rw-r--r--chrome/browser/ui/webui/options/browser_options_handler.cc32
-rw-r--r--chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc46
-rw-r--r--chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc2
-rw-r--r--chrome/browser/ui/webui/options/chromeos/set_wallpaper_options_handler.cc2
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");
}