Refactor ImageFrame::setSizeAndColorSpace |
|||||
Issue descriptionThis function does multiple things -- it sets the size and color space & it zero fills the pixel data. We want to be able to not zero fill the entire image. We will be filling the whole image with pixel data anyway. In the case of partial decodes we can manually zero fill only the portion that does not have image data. Refactor ImageFrame::setSizeAndColorSpace to not also zero fill the pixel data. Callers should do that as a separate step if they need it.
,
Mar 16 2017
,
Mar 16 2017
Came up during review, no test coverage for partially rendered animated GIF or APNG. Added the those bugs here to fix that.
,
Mar 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b6b96c3de7c6db78762ce660b274514bd18a1c0b commit b6b96c3de7c6db78762ce660b274514bd18a1c0b Author: cblume <cblume@chromium.org> Date: Tue Mar 21 16:43:05 2017 Refactor ImageFrame::setSizeAndColorSpace() The function ImageFrame::setSizeAndColorSpace does multiple things. It sets the size and color space & zero fills the data. We want to be able to not zero fill the entire image. The image decoder can fill the entire image frame with valid pixel data. And in the case of partial images, the decoder knows which pixels do not contain image data, allowing them to zero fill a smaller area. But for now, just separate the concept of setSizeAndColorSpace() and zeroFillPixelData(). No change in behavior, no new tests. R=scroggo@chromium.org BUG= 701143 Review-Url: https://codereview.chromium.org/2749703002 Cr-Commit-Position: refs/heads/master@{#458437} [modify] https://crrev.com/b6b96c3de7c6db78762ce660b274514bd18a1c0b/third_party/WebKit/Source/platform/graphics/test/MockImageDecoder.h [modify] https://crrev.com/b6b96c3de7c6db78762ce660b274514bd18a1c0b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp [modify] https://crrev.com/b6b96c3de7c6db78762ce660b274514bd18a1c0b/third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp [modify] https://crrev.com/b6b96c3de7c6db78762ce660b274514bd18a1c0b/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h [modify] https://crrev.com/b6b96c3de7c6db78762ce660b274514bd18a1c0b/third_party/WebKit/Source/platform/image-decoders/bmp/BMPImageReader.cpp [modify] https://crrev.com/b6b96c3de7c6db78762ce660b274514bd18a1c0b/third_party/WebKit/Source/platform/image-decoders/jpeg/JPEGImageDecoder.cpp [modify] https://crrev.com/b6b96c3de7c6db78762ce660b274514bd18a1c0b/third_party/WebKit/Source/platform/image-decoders/webp/WEBPImageDecoder.cpp
,
Mar 21 2017
,
Mar 23 2017
,
Mar 23 2017
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by noel@chromium.org
, Mar 16 2017