diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-02-14 11:46:21 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-03-23 02:12:38 +0100 |
commit | 6478daf2988b56ae73f941fd471242b7e92b2a4e (patch) | |
tree | a572c976e75590a8e5a6748ae40a56f7efdcf89d /dom/canvas/ImageBitmap.h | |
parent | 181cb5210e6555102f5215316ea7a9b1771b0717 (diff) | |
download | UXP-6478daf2988b56ae73f941fd471242b7e92b2a4e.tar UXP-6478daf2988b56ae73f941fd471242b7e92b2a4e.tar.gz UXP-6478daf2988b56ae73f941fd471242b7e92b2a4e.tar.lz UXP-6478daf2988b56ae73f941fd471242b7e92b2a4e.tar.xz UXP-6478daf2988b56ae73f941fd471242b7e92b2a4e.zip |
Implement origin-clean algorithm for ImageBitmap.
This resolves #973.
Diffstat (limited to 'dom/canvas/ImageBitmap.h')
-rw-r--r-- | dom/canvas/ImageBitmap.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/dom/canvas/ImageBitmap.h b/dom/canvas/ImageBitmap.h index 2119c6bda..25084b6ac 100644 --- a/dom/canvas/ImageBitmap.h +++ b/dom/canvas/ImageBitmap.h @@ -65,6 +65,7 @@ struct ImageBitmapCloneData final gfx::IntRect mPictureRect; bool mIsPremultipliedAlpha; bool mIsCroppingAreaOutSideOfSourceImage; + bool mWriteOnly; }; /* @@ -161,6 +162,10 @@ public: template<typename T> friend class MapDataIntoBufferSource; + bool IsWriteOnly() const { + return mWriteOnly; + } + // Mozilla Extensions ImageBitmapFormat FindOptimalFormat(const Optional<Sequence<ImageBitmapFormat>>& aPossibleFormats, @@ -197,6 +202,7 @@ protected: * CreateInternal(from ImageData) method. */ ImageBitmap(nsIGlobalObject* aGlobal, layers::Image* aData, + bool aWriteOnly, bool aIsPremultipliedAlpha = true); virtual ~ImageBitmap(); @@ -280,6 +286,12 @@ protected: */ bool mIsCroppingAreaOutSideOfSourceImage; + /* + * Write-Only flag is set to true if this image has been generated from a + * cross-origin source. This is the opposite of what is called 'origin-clean' + * in the spec. + */ + bool mWriteOnly; }; } // namespace dom |