Index: ui/gfx/image/image_util.cc |
diff --git a/ui/gfx/image/image_util.cc b/ui/gfx/image/image_util.cc |
index 6403419ed4610cbf771e47ea4f5d25ede8648834..04cffca50865c186a81d05f0c025128d2b4c9164 100644 |
--- a/ui/gfx/image/image_util.cc |
+++ b/ui/gfx/image/image_util.cc |
@@ -7,14 +7,17 @@ |
#include "base/memory/scoped_ptr.h" |
#include "third_party/skia/include/core/SkBitmap.h" |
#include "ui/gfx/codec/jpeg_codec.h" |
+#include "ui/gfx/codec/png_codec.h" |
#include "ui/gfx/image/image.h" |
-#include "ui/gfx/image/image_skia.h" |
namespace gfx { |
Image* ImageFromPNGEncodedData(const unsigned char* input, size_t input_size) { |
- Image* image = new Image(input, input_size); |
- return image; |
+ SkBitmap bitmap; |
+ if (gfx::PNGCodec::Decode(input, input_size, &bitmap)) |
+ return new Image(bitmap); |
+ |
+ return NULL; |
} |
Image ImageFromJPEGEncodedData(const unsigned char* input, size_t input_size) { |
@@ -27,8 +30,8 @@ Image ImageFromJPEGEncodedData(const unsigned char* input, size_t input_size) { |
bool PNGEncodedDataFromImage(const Image& image, |
std::vector<unsigned char>* dst) { |
- *dst = *image.ToImagePNG(); |
- return !dst->empty(); |
+ const SkBitmap& bitmap = *image.ToSkBitmap(); |
+ return gfx::PNGCodec::EncodeBGRASkBitmap(bitmap, false, dst); |
} |
bool JPEGEncodedDataFromImage(const Image& image, int quality, |