Chromium Code Reviews| 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; |
| }; |