Index: Source/platform/graphics/filters/FEComponentTransfer.cpp |
diff --git a/Source/platform/graphics/filters/FEComponentTransfer.cpp b/Source/platform/graphics/filters/FEComponentTransfer.cpp |
index c554583071232944611defd58aeef82f4dbf5e7f..2ebb1e3f72ae21d5df06fb7864382e0c2e647ffc 100644 |
--- a/Source/platform/graphics/filters/FEComponentTransfer.cpp |
+++ b/Source/platform/graphics/filters/FEComponentTransfer.cpp |
@@ -189,10 +189,12 @@ bool FEComponentTransfer::applySkia() |
unsigned char rValues[256], gValues[256], bValues[256], aValues[256]; |
getValues(rValues, gValues, bValues, aValues); |
+ SkRect skSrc = requestedRegionOfInputImageData(in->absolutePaintRect()); |
+ SkRect skDst = IntRect(IntPoint(), absolutePaintRect().size()); |
SkPaint paint; |
paint.setColorFilter(SkTableColorFilter::CreateARGB(aValues, rValues, gValues, bValues))->unref(); |
paint.setXfermodeMode(SkXfermode::kSrc_Mode); |
- resultImage->context()->drawBitmap(nativeImage->bitmap(), 0, 0, &paint); |
+ resultImage->context()->drawBitmapRect(nativeImage->bitmap(), &skSrc, skDst, &paint); |
return true; |
} |