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

Unified Diff: chrome/browser/ui/webui/options2/chromeos/change_picture_options_handler.cc

Issue 10836066: [cros] Define a range of stock user images availables for selection. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge Created 8 years, 5 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/ui/webui/chromeos/login/user_image_screen_handler.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/options2/chromeos/change_picture_options_handler.cc
diff --git a/chrome/browser/ui/webui/options2/chromeos/change_picture_options_handler.cc b/chrome/browser/ui/webui/options2/chromeos/change_picture_options_handler.cc
index 55eac97a1c52d29c13dd1fc0beb14e3482374bba..05f512c15117fb9e5484a0279d1ecb53e4128679 100644
--- a/chrome/browser/ui/webui/options2/chromeos/change_picture_options_handler.cc
+++ b/chrome/browser/ui/webui/options2/chromeos/change_picture_options_handler.cc
@@ -136,7 +136,7 @@ void ChangePictureOptionsHandler::RegisterMessages() {
void ChangePictureOptionsHandler::SendDefaultImages() {
ListValue image_urls;
- for (int i = 0; i < kDefaultImagesCount; ++i) {
+ for (int i = kFirstDefaultImageIndex; i < kDefaultImagesCount; ++i) {
image_urls.Append(new StringValue(GetDefaultImageUrl(i)));
}
web_ui()->CallJavascriptFunction("ChangePictureOptions.setDefaultImages",
@@ -251,10 +251,16 @@ void ChangePictureOptionsHandler::SendSelectedImage() {
default: {
DCHECK(previous_image_index_ >= 0 &&
previous_image_index_ < kDefaultImagesCount);
- // User has image from the set of default images.
- base::StringValue image_url(GetDefaultImageUrl(previous_image_index_));
- web_ui()->CallJavascriptFunction("ChangePictureOptions.setSelectedImage",
- image_url);
+ if (previous_image_index_ >= kFirstDefaultImageIndex) {
+ // User has image from the current set of default images.
+ base::StringValue image_url(GetDefaultImageUrl(previous_image_index_));
+ web_ui()->CallJavascriptFunction(
+ "ChangePictureOptions.setSelectedImage", image_url);
+ } else {
+ // User has an old default image, so present it in the same manner as a
+ // previous image from file.
+ web_ui()->CallJavascriptFunction("ChangePictureOptions.setOldImage");
+ }
}
}
}
@@ -295,14 +301,23 @@ void ChangePictureOptionsHandler::HandleSelectImage(const ListValue* args) {
bool waiting_for_camera_photo = false;
if (StartsWithASCII(image_url, chrome::kChromeUIUserImageURL, false)) {
- // Image from file/camera uses kChromeUIUserImageURL as URL while
+ // Image from file/camera uses |kChromeUIUserImageURL| as URL while
// current profile image always has a full data URL.
// This way transition from (current profile image) to
// (profile image, current image from file) is easier.
+ // Also, old (not available for selection any more) default images use
+ // this URL, too.
- DCHECK(!previous_image_.empty());
- user_manager->SaveUserImage(user.email(),
- UserImage::CreateAndEncode(previous_image_));
+ if (previous_image_index_ == User::kExternalImageIndex) {
+ DCHECK(!previous_image_.empty());
+ user_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_);
+ }
UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
kHistogramImageOld,
@@ -313,7 +328,7 @@ void ChangePictureOptionsHandler::HandleSelectImage(const ListValue* args) {
user_manager->SaveUserDefaultImageIndex(user.email(), image_index);
UMA_HISTOGRAM_ENUMERATION("UserImage.ChangeChoice",
- image_index,
+ GetDefaultImageHistogramValue(image_index),
kHistogramImagesCount);
VLOG(1) << "Selected default user image: " << image_index;
} else if (image_url == user_photo_data_url_) {
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698