| Index: chrome/browser/chromeos/login/user_image.cc
|
| diff --git a/chrome/browser/chromeos/login/user_image.cc b/chrome/browser/chromeos/login/user_image.cc
|
| index fd00c1ecf4e39451d558e72c5b87a32e7b17970a..00a8ce0b53fbbfab9aca9f3fa43b48b82f396ef6 100644
|
| --- a/chrome/browser/chromeos/login/user_image.cc
|
| +++ b/chrome/browser/chromeos/login/user_image.cc
|
| @@ -21,12 +21,21 @@ bool IsAnimatedImage(const UserImage::RawImage& data) {
|
| return false;
|
| }
|
|
|
| +bool EncodeBGRAImageSkia(const gfx::ImageSkia& image,
|
| + bool discard_transparency,
|
| + std::vector<unsigned char>* output) {
|
| + if (image.empty() || image.bitmap())
|
| + return false;
|
| + return gfx::PNGCodec::EncodeBGRASkBitmap(*image.bitmap(),
|
| + discard_transparency, output);
|
| +}
|
| +
|
| } // namespace
|
|
|
| // static
|
| UserImage UserImage::CreateAndEncode(const gfx::ImageSkia& image) {
|
| RawImage raw_image;
|
| - return gfx::PNGCodec::EncodeBGRASkBitmap(image, false, &raw_image) ?
|
| + return EncodeBGRAImageSkia(image, false, &raw_image) ?
|
| UserImage(image, raw_image) : UserImage(image);
|
| }
|
|
|
| @@ -49,7 +58,7 @@ UserImage::UserImage(const gfx::ImageSkia& image,
|
| if (IsAnimatedImage(raw_image)) {
|
| has_animated_image_ = true;
|
| animated_image_ = raw_image;
|
| - if (gfx::PNGCodec::EncodeBGRASkBitmap(image_, false, &raw_image_))
|
| + if (EncodeBGRAImageSkia(image_, false, &raw_image_))
|
| has_raw_image_ = true;
|
| } else {
|
| has_raw_image_ = true;
|
|
|