| Index: core/fpdfapi/fpdf_render/fpdf_render_image.cpp | 
| diff --git a/core/fpdfapi/fpdf_render/fpdf_render_image.cpp b/core/fpdfapi/fpdf_render/fpdf_render_image.cpp | 
| index d3fbb7990cb353f6c5b59102b39a2ce9e8556a8c..acfb20314a23b88429c62c78245ddb0b48085351 100644 | 
| --- a/core/fpdfapi/fpdf_render/fpdf_render_image.cpp | 
| +++ b/core/fpdfapi/fpdf_render/fpdf_render_image.cpp | 
| @@ -48,7 +48,15 @@ void CPDF_RenderStatus::CompositeDIBitmap(CFX_DIBitmap* pDIBitmap, | 
| if (blend_mode == FXDIB_BLEND_NORMAL) { | 
| if (!pDIBitmap->IsAlphaMask()) { | 
| if (bitmap_alpha < 255) { | 
| +#ifdef _SKIA_SUPPORT_ | 
| +        void* dummy; | 
| +        CFX_Matrix m(pDIBitmap->GetWidth(), 0, 0, -pDIBitmap->GetHeight(), left, | 
| +                     top + pDIBitmap->GetHeight()); | 
| +        m_pDevice->StartDIBits(pDIBitmap, bitmap_alpha, 0, &m, 0, dummy); | 
| +        return; | 
| +#else | 
| pDIBitmap->MultiplyAlpha(bitmap_alpha); | 
| +#endif | 
| } | 
| if (m_pDevice->SetDIBits(pDIBitmap, left, top)) { | 
| return; | 
| @@ -693,6 +701,9 @@ FX_BOOL CPDF_ImageRenderer::DrawMaskedImage() { | 
| } | 
| bitmap_device2.GetBitmap()->ConvertFormat(FXDIB_8bppMask); | 
| bitmap_device1.GetBitmap()->MultiplyAlpha(bitmap_device2.GetBitmap()); | 
| +#ifdef _SKIA_SUPPORT_ | 
| +    bitmap_device1.PreMultiply();  // convert unpremultiplied to premultiplied | 
| +#endif | 
| if (m_BitmapAlpha < 255) { | 
| bitmap_device1.GetBitmap()->MultiplyAlpha(m_BitmapAlpha); | 
| } | 
|  |