| Index: Source/core/platform/graphics/filters/SkiaImageFilterBuilder.cpp
|
| diff --git a/Source/core/platform/graphics/filters/SkiaImageFilterBuilder.cpp b/Source/core/platform/graphics/filters/SkiaImageFilterBuilder.cpp
|
| index 9e5bc761223d8f9c93e74adade38ae87c3f8825e..49a686a414c1932b1fbabaff59161e1dd7aabcc1 100644
|
| --- a/Source/core/platform/graphics/filters/SkiaImageFilterBuilder.cpp
|
| +++ b/Source/core/platform/graphics/filters/SkiaImageFilterBuilder.cpp
|
| @@ -191,20 +191,11 @@ PassRefPtr<SkImageFilter> SkiaImageFilterBuilder::build(FilterEffect* effect, Co
|
|
|
| PassRefPtr<SkImageFilter> SkiaImageFilterBuilder::transformColorSpace(
|
| SkImageFilter* input, ColorSpace srcColorSpace, ColorSpace dstColorSpace) {
|
| - if ((srcColorSpace == dstColorSpace)
|
| - || (srcColorSpace != ColorSpaceLinearRGB && srcColorSpace != ColorSpaceDeviceRGB)
|
| - || (dstColorSpace != ColorSpaceLinearRGB && dstColorSpace != ColorSpaceDeviceRGB))
|
| - return input;
|
|
|
| - const uint8_t* lut = 0;
|
| - if (dstColorSpace == ColorSpaceLinearRGB)
|
| - lut = &ImageBuffer::getLinearRgbLUT()[0];
|
| - else if (dstColorSpace == ColorSpaceDeviceRGB)
|
| - lut = &ImageBuffer::getDeviceRgbLUT()[0];
|
| - else
|
| + RefPtr<SkColorFilter> colorFilter = ImageBuffer::createColorSpaceFilter(srcColorSpace, dstColorSpace);
|
| + if (!colorFilter)
|
| return input;
|
|
|
| - RefPtr<SkColorFilter> colorFilter(adoptRef(SkTableColorFilter::CreateARGB(0, lut, lut, lut)));
|
| return adoptRef(SkColorFilterImageFilter::Create(colorFilter.get(), input));
|
| }
|
|
|
|
|