Index: third_party/WebKit/Source/core/html/ImageData.h |
diff --git a/third_party/WebKit/Source/core/html/ImageData.h b/third_party/WebKit/Source/core/html/ImageData.h |
index 206671a1b48fba1f7b1937dc4cb78414fcb93f8b..b7b712c7eea17dadc082f539486409861688452e 100644 |
--- a/third_party/WebKit/Source/core/html/ImageData.h |
+++ b/third_party/WebKit/Source/core/html/ImageData.h |
@@ -37,12 +37,23 @@ |
#include "platform/geometry/IntSize.h" |
#include "platform/heap/Handle.h" |
#include "wtf/Compiler.h" |
+#include "wtf/text/WTFString.h" |
namespace blink { |
class ExceptionState; |
class ImageBitmapOptions; |
+enum ImageDataColorSpace { |
+ kLegacyImageDataColorSpace, |
+ kSRGBImageDataColorSpace, |
+ kLinearRGBImageDataColorSpace, |
+}; |
+ |
+const char* const kLegacyImageDataColorSpaceName = "linear-rgb"; |
+const char* const kSRGBImageDataColorSpaceName = "srgb"; |
+const char* const kLinearRGBImageDataColorSpaceName = "legacy-srgb"; |
+ |
class CORE_EXPORT ImageData final : public GarbageCollectedFinalized<ImageData>, |
public ScriptWrappable, |
public ImageBitmapSource { |
@@ -52,6 +63,10 @@ class CORE_EXPORT ImageData final : public GarbageCollectedFinalized<ImageData>, |
static ImageData* create(const IntSize&); |
static ImageData* create(const IntSize&, DOMUint8ClampedArray*); |
static ImageData* create(unsigned width, unsigned height, ExceptionState&); |
+ static ImageData* create(unsigned width, |
+ unsigned height, |
+ String colorSpace, |
+ ExceptionState&); |
static ImageData* create(DOMUint8ClampedArray*, |
unsigned width, |
ExceptionState&); |
@@ -59,10 +74,16 @@ class CORE_EXPORT ImageData final : public GarbageCollectedFinalized<ImageData>, |
unsigned width, |
unsigned height, |
ExceptionState&); |
+ static ImageData* create(DOMUint8ClampedArray*, |
+ unsigned width, |
+ unsigned height, |
+ String colorSpace, |
+ ExceptionState&); |
IntSize size() const { return m_size; } |
int width() const { return m_size.width(); } |
int height() const { return m_size.height(); } |
+ String colorSpace() const { return m_colorSpace; } |
const DOMUint8ClampedArray* data() const { return m_data.get(); } |
DOMUint8ClampedArray* data() { return m_data.get(); } |
@@ -82,14 +103,22 @@ class CORE_EXPORT ImageData final : public GarbageCollectedFinalized<ImageData>, |
v8::Local<v8::Object> wrapper) override; |
private: |
- ImageData(const IntSize&, DOMUint8ClampedArray*); |
+ ImageData(const IntSize&, |
+ DOMUint8ClampedArray*, |
+ String = kLegacyImageDataColorSpaceName); |
static bool validateConstructorArguments(DOMUint8ClampedArray*, |
unsigned width, |
unsigned&, |
ExceptionState&); |
+ static bool validateConstructorArguments(DOMUint8ClampedArray*, |
+ unsigned width, |
+ unsigned&, |
+ String, |
+ ExceptionState&); |
IntSize m_size; |
+ String m_colorSpace; |
Justin Novosad
2016/12/08 18:16:35
You should store this as an enum, and use an attri
zakerinasab
2016/12/08 20:40:52
Fixed.
|
Member<DOMUint8ClampedArray> m_data; |
}; |