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..c3007a0a04d9496808b96cd70449714d9f8bb1de 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 kLinearRGBImageDataColorSpaceName = "linear-rgb"; |
+const char* const kSRGBImageDataColorSpaceName = "srgb"; |
+const char* const kLegacyImageDataColorSpaceName = "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,20 @@ class CORE_EXPORT ImageData final : public GarbageCollectedFinalized<ImageData>, |
unsigned width, |
unsigned height, |
ExceptionState&); |
+ static ImageData* create(DOMUint8ClampedArray*, |
+ unsigned width, |
+ unsigned height, |
+ String colorSpace, |
+ ExceptionState&); |
+ |
+ static ImageDataColorSpace getImageDataColorSpace(String); |
+ static String getImageDataColorSpaceName(ImageDataColorSpace); |
IntSize size() const { return m_size; } |
int width() const { return m_size.width(); } |
int height() const { return m_size.height(); } |
+ String colorSpace() const { return getImageDataColorSpaceName(m_colorSpace); } |
+ ImageDataColorSpace imageDataColorSpace() { return m_colorSpace; } |
const DOMUint8ClampedArray* data() const { return m_data.get(); } |
DOMUint8ClampedArray* data() { return m_data.get(); } |
@@ -82,14 +107,21 @@ 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; |
+ ImageDataColorSpace m_colorSpace; |
Member<DOMUint8ClampedArray> m_data; |
}; |