Index: third_party/WebKit/Source/platform/graphics/CanvasColorParams.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/CanvasColorParams.cpp b/third_party/WebKit/Source/platform/graphics/CanvasColorParams.cpp |
index 80edcb1bd188feb76864d725dc316e8a85e34574..a99b47449801d280ee268a1abd1ab7e4f3e616e4 100644 |
--- a/third_party/WebKit/Source/platform/graphics/CanvasColorParams.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/CanvasColorParams.cpp |
@@ -19,9 +19,21 @@ bool CanvasColorParams::UsesOutputSpaceBlending() const { |
} |
sk_sp<SkColorSpace> CanvasColorParams::GetSkColorSpaceForSkSurfaces() const { |
- if (color_space_ == kLegacyCanvasColorSpace) |
- return nullptr; |
- return GetGfxColorSpace().ToSkColorSpace(); |
+ switch (color_space_) { |
+ case kLegacyCanvasColorSpace: |
+ return nullptr; |
+ case kSRGBCanvasColorSpace: |
+ if (pixel_format_ == kF16CanvasPixelFormat) |
+ return SkColorSpace::MakeSRGBLinear(); |
+ return SkColorSpace::MakeSRGB(); |
+ case kRec2020CanvasColorSpace: |
+ return SkColorSpace::MakeRGB(SkColorSpace::kLinear_RenderTargetGamma, |
+ SkColorSpace::kRec2020_Gamut); |
+ case kP3CanvasColorSpace: |
+ return SkColorSpace::MakeRGB(SkColorSpace::kLinear_RenderTargetGamma, |
+ SkColorSpace::kDCIP3_D65_Gamut); |
+ } |
+ return nullptr; |
} |
SkColorType CanvasColorParams::GetSkColorType() const { |