New issue
Advanced search Search tips

Issue 725666 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 672316
Owner:
Closed: May 2017
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 713891



Sign in to add a comment

color: images/color-profile-drag-image.html ignored color space

Project Member Reported by ccameron@chromium.org, May 23 2017

Issue description

With --enable-color-correct-rendering, drag images have their color spaces ignored.

This is reproduced in the images/color-profile-image-canvas.html test

The stack where we read the image is as follows

blink::JPEGImageDecoder::OutputScanlines() + 1259
blink::JPEGImageReader::Decode(bool) + 1319
blink::JPEGImageDecoder::Decode(bool) + 1024
blink::JPEGImageDecoder::Decode(unsigned long) + 29
blink::ImageDecoder::FrameBufferAtIndex(unsigned long) + 180
blink::ImageFrameGenerator::Decode(blink::SegmentReader*, bool, unsigned long, blink::ImageDecoder**, SkBitmap*, SkBitmap::Allocator*, blink::ImageDecoder::AlphaOption) + 2268
blink::ImageFrameGenerator::TryToResumeDecode(blink::SegmentReader*, bool, unsigned long, SkISize const&, SkBitmap::Allocator*, blink::ImageDecoder::AlphaOption) + 828
blink::ImageFrameGenerator::DecodeAndScale(blink::SegmentReader*, bool, unsigned long, SkImageInfo const&, void*, unsigned long, blink::ImageDecoder::AlphaOption) + 790
blink::DecodingImageGenerator::onGetPixels(SkImageInfo const&, void*, unsigned long, SkImageGenerator::Options const&) + 1007
SkImageGenerator::getPixels(SkImageInfo const&, void*, unsigned long, SkImageGenerator::Options const*) + 244
SkImageGenerator::getPixels(SkImageInfo const&, void*, unsigned long) + 50
generate_pixels(SkImageGenerator*, SkPixmap const&, int, int) + 584
SkImage_Lazy::lockAsBitmap(SkBitmap*, SkImage::CachingHint, SkImageCacherator::CachedFormat, SkImageInfo const&) const + 1300
SkImage_Lazy::getROPixels(SkBitmap*, SkColorSpace*, SkImage::CachingHint) const + 157
SkBaseDevice::drawImage(SkImage const*, float, float, SkPaint const&) + 151
SkCanvas::onDrawImage(SkImage const*, float, float, SkPaint const*) + 1354
SkCanvas::drawImage(SkImage const*, float, float, SkPaint const*) + 99
SkCanvas::drawImage(sk_sp<SkImage> const&, float, float, SkPaint const*) + 76
blink::DragImage::ResizeAndOrientImage(cc::PaintImage const&, blink::ImageOrientation, blink::FloatSize, float, blink::InterpolationQuality) + 1613
blink::DragImage::Create(blink::Image*, blink::RespectImageOrientationEnum, float, blink::InterpolationQuality, float, blink::FloatSize) + 673
blink::DragImageForImage(blink::Element*, blink::Image*, float, blink::IntPoint const&, blink::IntPoint const&, blink::IntSize const&, blink::IntPoint&) + 1000

The problem seems to be in blink::DragImage::ResizeAndOrientImage.
 
Blocking: 713891
Summary: color: images/color-profile-drag-image.html ignored color space (was: color: images/color-profile-image-canvas.html ignored color space)
Mergedinto: 672316
Status: Duplicate (was: Assigned)

Sign in to add a comment