Index: ui/gfx/codec/png_codec.cc |
diff --git a/ui/gfx/codec/png_codec.cc b/ui/gfx/codec/png_codec.cc |
index ac386ad91d0b656e146776c8077694c881719e99..5c0b68d7f163c70806ca162588aaba8b221fccf0 100644 |
--- a/ui/gfx/codec/png_codec.cc |
+++ b/ui/gfx/codec/png_codec.cc |
@@ -588,6 +588,8 @@ bool DoLibpngWrite(png_struct* png_ptr, png_info* info_ptr, |
} |
png_set_compression_level(png_ptr, compression_level); |
+ if (compression_level <= Z_BEST_SPEED) |
dcheng
2016/04/22 01:14:01
Alternatively, I could add another parameter to Do
|
+ png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE, PNG_NO_FILTERS); |
// Set our callback for libpng to give us the data. |
png_set_write_fn(png_ptr, state, EncoderWriteCallback, FakeFlushCallback); |
@@ -803,6 +805,14 @@ bool PNGCodec::FastEncodeBGRASkBitmap(const SkBitmap& input, |
output); |
} |
+bool PNGCodec::NoCompressEncodeBGRASkBitmap( |
+ const SkBitmap& input, |
+ bool discard_transparency, |
+ std::vector<unsigned char>* output) { |
+ return InternalEncodeSkBitmap(input, discard_transparency, Z_NO_COMPRESSION, |
+ output); |
+} |
+ |
PNGCodec::Comment::Comment(const std::string& k, const std::string& t) |
: key(k), text(t) { |
} |