| Index: third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h
|
| diff --git a/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h
|
| index ced7fa20be5d37b52973e14a9092060ed589e8f5..a3d9cd2426df51296997e2106f15777cc03e488e 100644
|
| --- a/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h
|
| +++ b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h
|
| @@ -42,23 +42,23 @@
|
| #include "wtf/text/WTFString.h"
|
| #include <memory>
|
|
|
| -#if USE(QCMSLIB)
|
| -#include "qcms.h"
|
| +#if USE(SKCOLORXFORM)
|
| +#include "SkColorSpaceXform.h"
|
| #endif
|
|
|
| namespace blink {
|
|
|
| -#if USE(QCMSLIB)
|
| -struct QCMSTransformDeleter {
|
| - void operator()(qcms_transform* transform) {
|
| - if (transform)
|
| - qcms_transform_release(transform);
|
| - }
|
| -};
|
| -
|
| -using QCMSTransformUniquePtr =
|
| - std::unique_ptr<qcms_transform, QCMSTransformDeleter>;
|
| -#endif // USE(QCMSLIB)
|
| +#if USE(SKCOLORXFORM)
|
| +#if SK_B32_SHIFT
|
| +inline SkColorSpaceXform::ColorFormat xformColorFormat() {
|
| + return SkColorSpaceXform::kRGBA_8888_ColorFormat;
|
| +}
|
| +#else
|
| +inline SkColorSpaceXform::ColorFormat xformColorFormat() {
|
| + return SkColorSpaceXform::kBGRA_8888_ColorFormat;
|
| +}
|
| +#endif
|
| +#endif // USE(SKCOLORXFORM)
|
|
|
| // ImagePlanes can be used to decode color components into provided buffers
|
| // instead of using an ImageFrame.
|
| @@ -224,15 +224,13 @@ class PLATFORM_EXPORT ImageDecoder {
|
| // embedded color profile, and is independent of whether or not that
|
| // profile's transform has been baked into the pixel values.
|
| bool hasColorProfile() const { return m_hasColorProfile; }
|
| - void setColorProfileAndComputeTransform(const char* iccData,
|
| - unsigned iccLength,
|
| - bool hasAlpha,
|
| - bool useSRGB);
|
| -
|
| -#if USE(QCMSLIB)
|
| - // In contrast with hasColorProfile, this refers to the transform that has
|
| - // been baked into the pixels.
|
| - qcms_transform* colorTransform() {
|
| + void setColorSpaceAndComputeTransform(const char* iccData,
|
| + unsigned iccLength,
|
| + bool useSRGB);
|
| +
|
| +#if USE(SKCOLORXFORM)
|
| + // Transformation from encoded color space to target color space.
|
| + SkColorSpaceXform* colorTransform() {
|
| return m_sourceToOutputDeviceColorTransform.get();
|
| }
|
| #endif
|
| @@ -361,8 +359,8 @@ class PLATFORM_EXPORT ImageDecoder {
|
| bool m_hasColorProfile = false;
|
| ImageFrame::ICCProfile m_colorProfile;
|
|
|
| -#if USE(QCMSLIB)
|
| - QCMSTransformUniquePtr m_sourceToOutputDeviceColorTransform;
|
| +#if USE(SKCOLORXFORM)
|
| + std::unique_ptr<SkColorSpaceXform> m_sourceToOutputDeviceColorTransform;
|
| #endif
|
| };
|
|
|
|
|