| 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..13f080231a89c77cbf9acbab8562868936c0ce0b 100644
|
| --- a/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h
|
| +++ b/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h
|
| @@ -32,6 +32,7 @@
|
| #include "public/platform/WebVector.h"
|
| #include "third_party/skia/include/core/SkBitmap.h"
|
| #include "third_party/skia/include/core/SkColorPriv.h"
|
| +#include "third_party/skia/include/core/SkImage.h"
|
| #include "wtf/Allocator.h"
|
| #include "wtf/Assertions.h"
|
| #include "wtf/PassRefPtr.h"
|
| @@ -97,6 +98,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 +131,15 @@ public:
|
| AlphaBlendSource getAlphaBlendSource() const { return m_alphaBlendSource; }
|
| bool premultiplyAlpha() const { return m_premultiplyAlpha; }
|
| SkBitmap::Allocator* allocator() const { return m_allocator; }
|
| +
|
| + // Returns the bitmap that is the output of decoding.
|
| const SkBitmap& bitmap() const { return m_bitmap; }
|
| +
|
| + // Create SkImage from bitmap() and return it. This should be called only
|
| + // if frame is complete. The bitmap is set immutable before creating
|
| + // SkImage to avoid copying bitmap in SkImage::MakeFromBitmap(m_bitmap).
|
| + sk_sp<SkImage> finalizePixelsAndGetImage();
|
| +
|
| // 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; }
|
|
|