| Index: third_party/WebKit/Source/platform/image-encoders/ImageEncoder.h
|
| diff --git a/third_party/WebKit/Source/platform/image-encoders/ImageEncoder.h b/third_party/WebKit/Source/platform/image-encoders/ImageEncoder.h
|
| index b33e72deead2f37e50780ab36ea4c45541e87cc7..819fd6bc5bbd21dbe5c16f614483e14b2834abe0 100644
|
| --- a/third_party/WebKit/Source/platform/image-encoders/ImageEncoder.h
|
| +++ b/third_party/WebKit/Source/platform/image-encoders/ImageEncoder.h
|
| @@ -10,6 +10,7 @@
|
| #include "third_party/skia/include/core/SkStream.h"
|
| #include "third_party/skia/include/encode/SkJpegEncoder.h"
|
| #include "third_party/skia/include/encode/SkPngEncoder.h"
|
| +#include "third_party/skia/include/encode/SkWebpEncoder.h"
|
|
|
| namespace blink {
|
|
|
| @@ -42,6 +43,10 @@ class PLATFORM_EXPORT ImageEncoder {
|
| const SkPixmap& src,
|
| const SkPngEncoder::Options&);
|
|
|
| + static bool Encode(Vector<unsigned char>* dst,
|
| + const SkPixmap& src,
|
| + const SkWebpEncoder::Options&);
|
| +
|
| static std::unique_ptr<ImageEncoder> Create(Vector<unsigned char>* dst,
|
| const SkPixmap& src,
|
| const SkJpegEncoder::Options&);
|
| @@ -56,10 +61,25 @@ class PLATFORM_EXPORT ImageEncoder {
|
| * If quality is in [0, 1], this will simply convert to a [0, 100]
|
| * integer scale (which is what is used by libjpeg-turbo).
|
| *
|
| - * Otherwise, this will return the default value.
|
| + * Otherwise, this will return the default value (92).
|
| */
|
| static int ComputeJpegQuality(double quality);
|
|
|
| + /**
|
| + * Sets Skia encoding options based on the requested quality.
|
| + *
|
| + * If quality is 1, this will signal a lossless encode.
|
| + *
|
| + * Otherwise, this will use webp lossy encoding.
|
| + * If quality is in [0, 1), this will simply convert to a [0, 100)
|
| + * float scale (which is what is used by libwebp). If the quality
|
| + * is out of range, this will perform a lossy encode with the default
|
| + * value (80).
|
| + */
|
| + static SkWebpEncoder::Options ComputeWebpOptions(
|
| + double quality,
|
| + SkTransferFunctionBehavior unpremulBehavior);
|
| +
|
| private:
|
| ImageEncoder(Vector<unsigned char>* dst) : dst_(dst) {}
|
|
|
|
|