summaryrefslogtreecommitdiffstats
path: root/dom/canvas/ImageBitmap.h
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-02-14 11:46:21 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-02-14 11:46:21 +0100
commit91799767e1c575dce6cdb1528f1f10a1fd62e35f (patch)
tree48d925ea0d3123ef18d8a810724b3cdf7ad3b734 /dom/canvas/ImageBitmap.h
parent0e80d10f4a10496a6657df210ff45a89fba68a75 (diff)
downloadUXP-91799767e1c575dce6cdb1528f1f10a1fd62e35f.tar
UXP-91799767e1c575dce6cdb1528f1f10a1fd62e35f.tar.gz
UXP-91799767e1c575dce6cdb1528f1f10a1fd62e35f.tar.lz
UXP-91799767e1c575dce6cdb1528f1f10a1fd62e35f.tar.xz
UXP-91799767e1c575dce6cdb1528f1f10a1fd62e35f.zip
Implement origin-clean algorithm for ImageBitmap.
This resolves #973.
Diffstat (limited to 'dom/canvas/ImageBitmap.h')
-rw-r--r--dom/canvas/ImageBitmap.h12
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