Commit 4d432a9b authored by David Reveman's avatar David Reveman Committed by Commit Bot

Change Picture: Fix selection of image from file.

Images from files are typically not PNG so we can't rely
on image bytes to be available. Check format and bytes
when selecting image type 'old' to fix this.

Test: DCHECKs passes when selecting image from file in settings
Bug: 
Change-Id: I00ac5ff27520e6a7de249e3fb4a9a4c6c9663e7b
Reviewed-on: https://chromium-review.googlesource.com/804855Reviewed-by: default avatarSteven Bennetts <stevenjb@chromium.org>
Commit-Queue: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521163}
parent d7d2d857
......@@ -298,10 +298,16 @@ void ChangePictureHandler::HandleSelectImage(const base::ListValue* args) {
if (image_type == "old") {
// Previous image (from camera or manually uploaded) re-selected.
DCHECK(!previous_image_.isNull());
std::unique_ptr<user_manager::UserImage> user_image =
base::MakeUnique<user_manager::UserImage>(
previous_image_, previous_image_bytes_, previous_image_format_);
user_image->MarkAsSafe();
std::unique_ptr<user_manager::UserImage> user_image;
if (previous_image_format_ == user_manager::UserImage::FORMAT_PNG &&
previous_image_bytes_) {
user_image = base::MakeUnique<user_manager::UserImage>(
previous_image_, previous_image_bytes_, previous_image_format_);
user_image->MarkAsSafe();
} else {
user_image = user_manager::UserImage::CreateAndEncode(
previous_image_, user_manager::UserImage::FORMAT_JPEG);
}
user_image_manager->SaveUserImage(std::move(user_image));
UMA_HISTOGRAM_EXACT_LINEAR("UserImage.ChangeChoice",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment