Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(424)

Unified Diff: third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h

Issue 2212163002: Add some plumbing for the color management of canvases (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: minor corrections Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
diff --git a/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h b/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
index aaf33831899d843bca629adb615a885a1ec6f7f2..76d23bf515e2463a0ac29ce777ec79243e4d7b0a 100644
--- a/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
+++ b/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
@@ -29,20 +29,26 @@
#include "core/CoreExport.h"
#include "core/html/HTMLCanvasElement.h"
#include "core/offscreencanvas/OffscreenCanvas.h"
+#include "third_party/skia/include/core/SkColorSpace.h"
#include "wtf/HashSet.h"
#include "wtf/Noncopyable.h"
#include "wtf/text/StringHash.h"
class SkCanvas;
-namespace blink { class WebLayer; }
-
namespace blink {
class CanvasImageSource;
class HTMLCanvasElement;
class ImageData;
class ImageBitmap;
+class WebLayer;
+
+enum CanvasColorSpace {
+ kLegacyCanvasColorSpace,
+ kSRGBCanvasColorSpace,
+ kLinearRGBCanvasColorSpace,
+};
class CORE_EXPORT CanvasRenderingContext : public GarbageCollectedFinalized<CanvasRenderingContext>, public ScriptWrappable {
WTF_MAKE_NONCOPYABLE(CanvasRenderingContext);
@@ -69,6 +75,10 @@ public:
HTMLCanvasElement* canvas() const { return m_canvas; }
+ CanvasColorSpace colorSpace() const { return m_colorSpace; };
+ WTF::String colorSpaceAsString() const;
+ sk_sp<SkColorSpace> skColorSpace() const;
+
virtual ContextType getContextType() const = 0;
virtual bool isAccelerated() const { return false; }
virtual bool shouldAntialias() const { return false; }
@@ -134,7 +144,7 @@ public:
void detachCanvas() { m_canvas = nullptr; }
protected:
- CanvasRenderingContext(HTMLCanvasElement* = nullptr, OffscreenCanvas* = nullptr);
+ CanvasRenderingContext(HTMLCanvasElement*, OffscreenCanvas*, const String& colorSpace);
Stephen White 2016/08/11 20:41:27 As discussed, I think we should pass in (a ref to)
Justin Novosad 2016/08/12 17:40:18 Done. This was a bit more complicated than antici
DECLARE_VIRTUAL_TRACE();
virtual void stop() = 0;
@@ -145,6 +155,7 @@ private:
Member<OffscreenCanvas> m_offscreenCanvas;
HashSet<String> m_cleanURLs;
HashSet<String> m_dirtyURLs;
+ CanvasColorSpace m_colorSpace;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698