Chromium Code Reviews| Index: third_party/WebKit/Source/platform/image-decoders/ImageFrame.h |
| diff --git a/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h b/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h |
| index 3541f7dcc1eef4f979dc05d574220a55a52d69d7..247cd8eb2365aa8755ba8eb992c90ee341832c50 100644 |
| --- a/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h |
| +++ b/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h |
| @@ -97,6 +97,11 @@ public: |
| // the other. Returns whether the copy succeeded. |
| bool copyBitmapData(const ImageFrame&); |
| + // Moves the bitmap data from the provided frame to this one, leaving the |
| + // provided frame empty. Operation is successful only if bitmap data is not |
| + // marked as done (immutable). Returns whether the move succeeded. |
| + bool takeBitmapDataIfWritable(ImageFrame*); |
| + |
| // Copies the pixel data at [(startX, startY), (endX, startY)) to the |
| // same X-coordinates on each subsequent row up to but not including |
| // endY. |
| @@ -125,7 +130,15 @@ public: |
| AlphaBlendSource getAlphaBlendSource() const { return m_alphaBlendSource; } |
| bool premultiplyAlpha() const { return m_premultiplyAlpha; } |
| SkBitmap::Allocator* allocator() const { return m_allocator; } |
| - const SkBitmap& bitmap() const { return m_bitmap; } |
| + |
| + // Returns the bitmap that is the output of decoding. |
| + // If the decoding is complete, sets the bitmap status to immutable if |
| + // |setImmutableIfDone| is true. |
| + // When |setImmutableIfDone| is false, bitmap is not sealed before returned |
| + // and that enables optimization - saving a bitmap copy per frame when |
| + // decoding animations. See also takeBitmapDataIfWritable. |
|
Peter Kasting
2016/08/26 19:04:04
As a reader, I'm wondering why we would ever want
aleksandar.stojiljkovic
2016/08/26 21:53:51
It is convenient that bitmap carry information abo
Peter Kasting
2016/08/27 04:19:58
What does "taking it a step back for one of the cl
aleksandar.stojiljkovic
2016/08/28 08:58:31
That sentence could be ignored - it just means tha
|
| + const SkBitmap& bitmap(bool setImmutableIfDone = true); |
|
Peter Kasting
2016/08/26 19:04:04
Nit: This is named like a simple accessor, but it
aleksandar.stojiljkovic
2016/08/26 21:53:51
It would be clear if we have additional accessor t
Peter Kasting
2016/08/27 04:19:58
That second function still looks like a cheap acce
aleksandar.stojiljkovic
2016/08/28 08:58:31
Done.
bitmap() is back to original "cheap accessor
|
| + |
| // Returns true if the pixels changed, but the bitmap has not yet been notified. |
| bool pixelsChanged() const { return m_pixelsChanged; } |
| size_t requiredPreviousFrameIndex() const { return m_requiredPreviousFrameIndex; } |