Commit 84f64acb authored by Reza.Zakerinasab's avatar Reza.Zakerinasab Committed by Commit Bot

Remove legacy-srgb from the code base

This change removes legacy-srgb mode from the code base.

Bug: 637288
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Ibaee28da77fdc9e216cc055e74e6725255eebc29
Reviewed-on: https://chromium-review.googlesource.com/738534Reviewed-by: default avatarFernando Serboncini <fserb@chromium.org>
Reviewed-by: default avatarJeremy Roman <jbroman@chromium.org>
Reviewed-by: default avatarJustin Novosad <junov@chromium.org>
Commit-Queue: Mohammad Reza Zakerinasab <zakerinasab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512900}
parent 5d00e77a
...@@ -7,16 +7,13 @@ ...@@ -7,16 +7,13 @@
namespace blink { namespace blink {
SerializedColorParams::SerializedColorParams() SerializedColorParams::SerializedColorParams()
: color_space_(SerializedColorSpace::kLegacy), : color_space_(SerializedColorSpace::kSRGB),
pixel_format_(SerializedPixelFormat::kRGBA8), pixel_format_(SerializedPixelFormat::kRGBA8),
opacity_mode_(SerializedOpacityMode::kNonOpaque), opacity_mode_(SerializedOpacityMode::kNonOpaque),
storage_format_(SerializedImageDataStorageFormat::kUint8Clamped) {} storage_format_(SerializedImageDataStorageFormat::kUint8Clamped) {}
SerializedColorParams::SerializedColorParams(CanvasColorParams color_params) { SerializedColorParams::SerializedColorParams(CanvasColorParams color_params) {
switch (color_params.ColorSpace()) { switch (color_params.ColorSpace()) {
case kLegacyCanvasColorSpace:
color_space_ = SerializedColorSpace::kLegacy;
break;
case kSRGBCanvasColorSpace: case kSRGBCanvasColorSpace:
color_space_ = SerializedColorSpace::kSRGB; color_space_ = SerializedColorSpace::kSRGB;
break; break;
...@@ -74,11 +71,9 @@ SerializedColorParams::SerializedColorParams( ...@@ -74,11 +71,9 @@ SerializedColorParams::SerializedColorParams(
} }
CanvasColorParams SerializedColorParams::GetCanvasColorParams() const { CanvasColorParams SerializedColorParams::GetCanvasColorParams() const {
CanvasColorSpace color_space = kLegacyCanvasColorSpace; CanvasColorSpace color_space = kSRGBCanvasColorSpace;
switch (color_space_) { switch (color_space_) {
case SerializedColorSpace::kLegacy: case SerializedColorSpace::kLegacyObsolete:
color_space = kLegacyCanvasColorSpace;
break;
case SerializedColorSpace::kSRGB: case SerializedColorSpace::kSRGB:
color_space = kSRGBCanvasColorSpace; color_space = kSRGBCanvasColorSpace;
break; break;
......
...@@ -33,7 +33,11 @@ enum class ImageSerializationTag : uint32_t { ...@@ -33,7 +33,11 @@ enum class ImageSerializationTag : uint32_t {
// This enumeration specifies the values used to serialize CanvasColorSpace. // This enumeration specifies the values used to serialize CanvasColorSpace.
enum class SerializedColorSpace : uint32_t { enum class SerializedColorSpace : uint32_t {
kLegacy = 0, // Legacy sRGB color space is deprecated as of M65. Objects in legacy color
// space will be serialized as sRGB since the legacy behavior is now merged
// with sRGB color space. Deserialized objects with legacy color space also
// will be interpreted as sRGB.
kLegacyObsolete = 0,
kSRGB = 1, kSRGB = 1,
kRec2020 = 2, kRec2020 = 2,
kP3 = 3, kP3 = 3,
......
...@@ -266,7 +266,7 @@ ScriptWrappable* V8ScriptValueDeserializer::ReadDOMObject( ...@@ -266,7 +266,7 @@ ScriptWrappable* V8ScriptValueDeserializer::ReadDOMObject(
return file_list; return file_list;
} }
case kImageBitmapTag: { case kImageBitmapTag: {
SerializedColorSpace canvas_color_space = SerializedColorSpace::kLegacy; SerializedColorSpace canvas_color_space = SerializedColorSpace::kSRGB;
SerializedPixelFormat canvas_pixel_format = SerializedPixelFormat::kRGBA8; SerializedPixelFormat canvas_pixel_format = SerializedPixelFormat::kRGBA8;
SerializedOpacityMode canvas_opacity_mode = SerializedOpacityMode canvas_opacity_mode =
SerializedOpacityMode::kOpaque; SerializedOpacityMode::kOpaque;
...@@ -339,7 +339,7 @@ ScriptWrappable* V8ScriptValueDeserializer::ReadDOMObject( ...@@ -339,7 +339,7 @@ ScriptWrappable* V8ScriptValueDeserializer::ReadDOMObject(
return transferred_image_bitmaps[index].Get(); return transferred_image_bitmaps[index].Get();
} }
case kImageDataTag: { case kImageDataTag: {
SerializedColorSpace canvas_color_space = SerializedColorSpace::kLegacy; SerializedColorSpace canvas_color_space = SerializedColorSpace::kSRGB;
SerializedImageDataStorageFormat image_data_storage_format = SerializedImageDataStorageFormat image_data_storage_format =
SerializedImageDataStorageFormat::kUint8Clamped; SerializedImageDataStorageFormat::kUint8Clamped;
uint32_t width = 0, height = 0, byte_length = 0; uint32_t width = 0, height = 0, byte_length = 0;
......
...@@ -241,9 +241,6 @@ ImageData* ImageData::Create(const IntSize& size, ...@@ -241,9 +241,6 @@ ImageData* ImageData::Create(const IntSize& size,
ImageDataStorageFormat storage_format) { ImageDataStorageFormat storage_format) {
ImageDataColorSettings color_settings; ImageDataColorSettings color_settings;
switch (color_space) { switch (color_space) {
case kLegacyCanvasColorSpace:
color_settings.setColorSpace(kLegacyCanvasColorSpaceName);
break;
case kSRGBCanvasColorSpace: case kSRGBCanvasColorSpace:
color_settings.setColorSpace(kSRGBCanvasColorSpaceName); color_settings.setColorSpace(kSRGBCanvasColorSpaceName);
break; break;
...@@ -497,8 +494,6 @@ DOMUint8ClampedArray* ImageData::data() { ...@@ -497,8 +494,6 @@ DOMUint8ClampedArray* ImageData::data() {
CanvasColorSpace ImageData::GetCanvasColorSpace( CanvasColorSpace ImageData::GetCanvasColorSpace(
const String& color_space_name) { const String& color_space_name) {
if (color_space_name == kLegacyCanvasColorSpaceName)
return kLegacyCanvasColorSpace;
if (color_space_name == kSRGBCanvasColorSpaceName) if (color_space_name == kSRGBCanvasColorSpaceName)
return kSRGBCanvasColorSpace; return kSRGBCanvasColorSpace;
if (color_space_name == kRec2020CanvasColorSpaceName) if (color_space_name == kRec2020CanvasColorSpaceName)
...@@ -789,8 +784,6 @@ ImageData::ImageData(const IntSize& size, ...@@ -789,8 +784,6 @@ ImageData::ImageData(const IntSize& size,
// The default color space for ImageData with U16/F32 data should be // The default color space for ImageData with U16/F32 data should be
// extended-srgb color space. It is temporarily set to linear-rgb, which is // extended-srgb color space. It is temporarily set to linear-rgb, which is
// not correct, but fixes crbug.com/779419. // not correct, but fixes crbug.com/779419.
if (color_settings_.colorSpace() == kLegacyCanvasColorSpaceName)
color_settings_.setColorSpace(kSRGBCanvasColorSpaceName);
switch (storage_format) { switch (storage_format) {
case kUint8ClampedArrayStorageFormat: case kUint8ClampedArrayStorageFormat:
......
...@@ -11,6 +11,6 @@ enum ImageDataStorageFormat { ...@@ -11,6 +11,6 @@ enum ImageDataStorageFormat {
}; };
dictionary ImageDataColorSettings { dictionary ImageDataColorSettings {
CanvasColorSpace colorSpace = "legacy-srgb"; CanvasColorSpace colorSpace = "srgb";
ImageDataStorageFormat storageFormat = "uint8"; ImageDataStorageFormat storageFormat = "uint8";
}; };
...@@ -38,9 +38,7 @@ enum CanvasPixelFormat { ...@@ -38,9 +38,7 @@ enum CanvasPixelFormat {
dictionary CanvasContextCreationAttributes { dictionary CanvasContextCreationAttributes {
// Canvas 2D attributes // Canvas 2D attributes
boolean alpha = true; // Also used for WebGL. boolean alpha = true; // Also used for WebGL.
// TODO(crbug.com/637288): Do we keep "legacy-srgb" as the default? [RuntimeEnabled=ExperimentalCanvasFeatures] CanvasColorSpace colorSpace = "srgb";
// Must decide before shipping.
[RuntimeEnabled=ExperimentalCanvasFeatures] CanvasColorSpace colorSpace = "legacy-srgb";
[RuntimeEnabled=ExperimentalCanvasFeatures] CanvasPixelFormat pixelFormat = "8-8-8-8"; [RuntimeEnabled=ExperimentalCanvasFeatures] CanvasPixelFormat pixelFormat = "8-8-8-8";
// WebGL attributes // WebGL attributes
......
...@@ -63,8 +63,6 @@ CanvasRenderingContext::CanvasRenderingContext( ...@@ -63,8 +63,6 @@ CanvasRenderingContext::CanvasRenderingContext(
WTF::String CanvasRenderingContext::ColorSpaceAsString() const { WTF::String CanvasRenderingContext::ColorSpaceAsString() const {
switch (color_params_.ColorSpace()) { switch (color_params_.ColorSpace()) {
case kLegacyCanvasColorSpace:
return kLegacyCanvasColorSpaceName;
case kSRGBCanvasColorSpace: case kSRGBCanvasColorSpace:
return kSRGBCanvasColorSpaceName; return kSRGBCanvasColorSpaceName;
case kRec2020CanvasColorSpace: case kRec2020CanvasColorSpace:
......
...@@ -48,7 +48,6 @@ class ImageData; ...@@ -48,7 +48,6 @@ class ImageData;
class ImageBitmap; class ImageBitmap;
class WebLayer; class WebLayer;
constexpr const char* kLegacyCanvasColorSpaceName = "legacy-srgb";
constexpr const char* kSRGBCanvasColorSpaceName = "srgb"; constexpr const char* kSRGBCanvasColorSpaceName = "srgb";
constexpr const char* kRec2020CanvasColorSpaceName = "rec2020"; constexpr const char* kRec2020CanvasColorSpaceName = "rec2020";
constexpr const char* kP3CanvasColorSpaceName = "p3"; constexpr const char* kP3CanvasColorSpaceName = "p3";
......
...@@ -68,26 +68,25 @@ ImageBitmap::ParsedOptions ParseOptions(const ImageBitmapOptions& options, ...@@ -68,26 +68,25 @@ ImageBitmap::ParsedOptions ParseOptions(const ImageBitmapOptions& options,
parsed_options.has_color_space_conversion = parsed_options.has_color_space_conversion =
(options.colorSpaceConversion() != kImageBitmapOptionNone); (options.colorSpaceConversion() != kImageBitmapOptionNone);
parsed_options.color_params.SetCanvasColorSpace(kLegacyCanvasColorSpace); parsed_options.color_params.SetCanvasColorSpace(kSRGBCanvasColorSpace);
if (options.colorSpaceConversion() == kSRGBImageBitmapColorSpaceConversion) { if (options.colorSpaceConversion() != kSRGBImageBitmapColorSpaceConversion &&
parsed_options.color_params.SetCanvasColorSpace(kSRGBCanvasColorSpace); options.colorSpaceConversion() != kImageBitmapOptionNone &&
} else if (options.colorSpaceConversion() == options.colorSpaceConversion() != kImageBitmapOptionDefault) {
kLinearRGBImageBitmapColorSpaceConversion) {
parsed_options.color_params.SetCanvasColorSpace(kSRGBCanvasColorSpace);
parsed_options.color_params.SetCanvasPixelFormat(kF16CanvasPixelFormat); parsed_options.color_params.SetCanvasPixelFormat(kF16CanvasPixelFormat);
} else if (options.colorSpaceConversion() == if (options.colorSpaceConversion() ==
kP3ImageBitmapColorSpaceConversion) { kLinearRGBImageBitmapColorSpaceConversion) {
parsed_options.color_params.SetCanvasColorSpace(kP3CanvasColorSpace); parsed_options.color_params.SetCanvasColorSpace(kSRGBCanvasColorSpace);
parsed_options.color_params.SetCanvasPixelFormat(kF16CanvasPixelFormat); } else if (options.colorSpaceConversion() ==
} else if (options.colorSpaceConversion() == kP3ImageBitmapColorSpaceConversion) {
kRec2020ImageBitmapColorSpaceConversion) { parsed_options.color_params.SetCanvasColorSpace(kP3CanvasColorSpace);
parsed_options.color_params.SetCanvasColorSpace(kRec2020CanvasColorSpace); } else if (options.colorSpaceConversion() ==
parsed_options.color_params.SetCanvasPixelFormat(kF16CanvasPixelFormat); kRec2020ImageBitmapColorSpaceConversion) {
} else if (options.colorSpaceConversion() != kImageBitmapOptionNone && parsed_options.color_params.SetCanvasColorSpace(kRec2020CanvasColorSpace);
options.colorSpaceConversion() != kImageBitmapOptionDefault) { } else {
NOTREACHED() NOTREACHED()
<< "Invalid ImageBitmap creation attribute colorSpaceConversion: " << "Invalid ImageBitmap creation attribute colorSpaceConversion: "
<< options.colorSpaceConversion(); << options.colorSpaceConversion();
}
} }
int source_width = source_size.Width(); int source_width = source_size.Width();
......
...@@ -250,11 +250,9 @@ class MODULES_EXPORT BaseRenderingContext2D : public GarbageCollectedMixin, ...@@ -250,11 +250,9 @@ class MODULES_EXPORT BaseRenderingContext2D : public GarbageCollectedMixin,
virtual void WillDrawImage(CanvasImageSource*) const {} virtual void WillDrawImage(CanvasImageSource*) const {}
virtual CanvasColorSpace ColorSpace() const { virtual CanvasColorSpace ColorSpace() const { return kSRGBCanvasColorSpace; };
return kLegacyCanvasColorSpace;
};
virtual String ColorSpaceAsString() const { virtual String ColorSpaceAsString() const {
return kLegacyCanvasColorSpaceName; return kSRGBCanvasColorSpaceName;
} }
virtual CanvasPixelFormat PixelFormat() const { virtual CanvasPixelFormat PixelFormat() const {
return kRGBA8CanvasPixelFormat; return kRGBA8CanvasPixelFormat;
......
...@@ -7,10 +7,7 @@ ...@@ -7,10 +7,7 @@
[PermissiveDictionaryConversion] [PermissiveDictionaryConversion]
dictionary CanvasRenderingContext2DSettings { dictionary CanvasRenderingContext2DSettings {
boolean alpha = true; boolean alpha = true;
[RuntimeEnabled=ExperimentalCanvasFeatures] CanvasColorSpace colorSpace = "srgb";
// TODO(crbug.com/637288): Do we keep "legacy-srgb" as the default?
// Must decide before shipping.
[RuntimeEnabled=ExperimentalCanvasFeatures] CanvasColorSpace colorSpace = "legacy-srgb";
[RuntimeEnabled=ExperimentalCanvasFeatures] CanvasPixelFormat pixelFormat = "8-8-8-8"; [RuntimeEnabled=ExperimentalCanvasFeatures] CanvasPixelFormat pixelFormat = "8-8-8-8";
}; };
...@@ -815,7 +815,7 @@ TEST_F(CanvasRenderingContext2DTest, OpaqueDisplayListFallsBackForText) { ...@@ -815,7 +815,7 @@ TEST_F(CanvasRenderingContext2DTest, OpaqueDisplayListFallsBackForText) {
CreateContext(kOpaque); CreateContext(kOpaque);
auto surface = WTF::MakeUnique<RecordingImageBufferSurface>( auto surface = WTF::MakeUnique<RecordingImageBufferSurface>(
IntSize(10, 10), RecordingImageBufferSurface::kAllowFallback, IntSize(10, 10), RecordingImageBufferSurface::kAllowFallback,
CanvasColorParams(kLegacyCanvasColorSpace, kRGBA8CanvasPixelFormat, CanvasColorParams(kSRGBCanvasColorSpace, kRGBA8CanvasPixelFormat,
kOpaque)); kOpaque));
auto* surface_ptr = surface.get(); auto* surface_ptr = surface.get();
CanvasElement().CreateImageBufferUsingSurfaceForTesting(std::move(surface)); CanvasElement().CreateImageBufferUsingSurfaceForTesting(std::move(surface));
......
...@@ -813,9 +813,9 @@ void Canvas2DLayerBridge::FlushRecordingOnly() { ...@@ -813,9 +813,9 @@ void Canvas2DLayerBridge::FlushRecordingOnly() {
if (have_recorded_draw_commands_ && GetOrCreateSurface()) { if (have_recorded_draw_commands_ && GetOrCreateSurface()) {
TRACE_EVENT0("cc", "Canvas2DLayerBridge::flushRecordingOnly"); TRACE_EVENT0("cc", "Canvas2DLayerBridge::flushRecordingOnly");
// For legacy canvases, transform all input colors and images to the target // For legacy and sRGB canvases, transform all input colors and images to
// space using a SkCreateColorSpaceXformCanvas. This ensures blending will // the target space using a SkCreateColorSpaceXformCanvas. This ensures
// be done using target space pixel values. // blending will be done using target space pixel values.
SkCanvas* canvas = GetOrCreateSurface()->getCanvas(); SkCanvas* canvas = GetOrCreateSurface()->getCanvas();
std::unique_ptr<PaintCanvas> color_transform_canvas = std::unique_ptr<PaintCanvas> color_transform_canvas =
color_params_.WrapCanvas(canvas); color_params_.WrapCanvas(canvas);
......
...@@ -16,7 +16,6 @@ namespace { ...@@ -16,7 +16,6 @@ namespace {
gfx::ColorSpace::PrimaryID GetPrimaryID(CanvasColorSpace color_space) { gfx::ColorSpace::PrimaryID GetPrimaryID(CanvasColorSpace color_space) {
gfx::ColorSpace::PrimaryID primary_id = gfx::ColorSpace::PrimaryID::BT709; gfx::ColorSpace::PrimaryID primary_id = gfx::ColorSpace::PrimaryID::BT709;
switch (color_space) { switch (color_space) {
case kLegacyCanvasColorSpace:
case kSRGBCanvasColorSpace: case kSRGBCanvasColorSpace:
primary_id = gfx::ColorSpace::PrimaryID::BT709; primary_id = gfx::ColorSpace::PrimaryID::BT709;
break; break;
...@@ -42,7 +41,7 @@ CanvasColorParams::CanvasColorParams(CanvasColorSpace color_space, ...@@ -42,7 +41,7 @@ CanvasColorParams::CanvasColorParams(CanvasColorSpace color_space,
opacity_mode_(opacity_mode) {} opacity_mode_(opacity_mode) {}
CanvasColorParams::CanvasColorParams(const SkImageInfo& info) { CanvasColorParams::CanvasColorParams(const SkImageInfo& info) {
color_space_ = kLegacyCanvasColorSpace; color_space_ = kSRGBCanvasColorSpace;
pixel_format_ = kRGBA8CanvasPixelFormat; pixel_format_ = kRGBA8CanvasPixelFormat;
// When there is no color space information, the SkImage is in legacy mode and // When there is no color space information, the SkImage is in legacy mode and
// the color type is kN32_SkColorType (which translates to kRGBA8 canvas pixel // the color type is kN32_SkColorType (which translates to kRGBA8 canvas pixel
...@@ -80,9 +79,8 @@ void CanvasColorParams::SetOpacityMode(OpacityMode opacity_mode) { ...@@ -80,9 +79,8 @@ void CanvasColorParams::SetOpacityMode(OpacityMode opacity_mode) {
} }
bool CanvasColorParams::NeedsSkColorSpaceXformCanvas() const { bool CanvasColorParams::NeedsSkColorSpaceXformCanvas() const {
return color_space_ == kLegacyCanvasColorSpace || return color_space_ == kSRGBCanvasColorSpace &&
(color_space_ == kSRGBCanvasColorSpace && pixel_format_ == kRGBA8CanvasPixelFormat;
pixel_format_ == kRGBA8CanvasPixelFormat);
} }
std::unique_ptr<cc::PaintCanvas> CanvasColorParams::WrapCanvas( std::unique_ptr<cc::PaintCanvas> CanvasColorParams::WrapCanvas(
...@@ -161,7 +159,6 @@ sk_sp<SkColorSpace> CanvasColorParams::GetSkColorSpace() const { ...@@ -161,7 +159,6 @@ sk_sp<SkColorSpace> CanvasColorParams::GetSkColorSpace() const {
SkColorSpace::Gamut gamut = SkColorSpace::kSRGB_Gamut; SkColorSpace::Gamut gamut = SkColorSpace::kSRGB_Gamut;
SkColorSpace::RenderTargetGamma gamma = SkColorSpace::kSRGB_RenderTargetGamma; SkColorSpace::RenderTargetGamma gamma = SkColorSpace::kSRGB_RenderTargetGamma;
switch (color_space_) { switch (color_space_) {
case kLegacyCanvasColorSpace:
case kSRGBCanvasColorSpace: case kSRGBCanvasColorSpace:
if (pixel_format_ == kF16CanvasPixelFormat) if (pixel_format_ == kF16CanvasPixelFormat)
gamma = SkColorSpace::kLinear_RenderTargetGamma; gamma = SkColorSpace::kLinear_RenderTargetGamma;
......
...@@ -23,7 +23,6 @@ class ColorSpace; ...@@ -23,7 +23,6 @@ class ColorSpace;
namespace blink { namespace blink {
enum CanvasColorSpace { enum CanvasColorSpace {
kLegacyCanvasColorSpace,
kSRGBCanvasColorSpace, kSRGBCanvasColorSpace,
kRec2020CanvasColorSpace, kRec2020CanvasColorSpace,
kP3CanvasColorSpace, kP3CanvasColorSpace,
...@@ -59,7 +58,9 @@ class PLATFORM_EXPORT CanvasColorParams { ...@@ -59,7 +58,9 @@ class PLATFORM_EXPORT CanvasColorParams {
bool NeedsColorConversion(const CanvasColorParams&) const; bool NeedsColorConversion(const CanvasColorParams&) const;
// The SkColorSpace to use in the SkImageInfo for allocated SkSurfaces. This // The SkColorSpace to use in the SkImageInfo for allocated SkSurfaces. This
// is nullptr in legacy rendering mode. // is nullptr in legacy rendering mode and when the surface is supposed to be
// in sRGB (for which we wrap the canvas into a PaintCanvas along with an
// SkColorSpaceXformCanvas).
sk_sp<SkColorSpace> GetSkColorSpaceForSkSurfaces() const; sk_sp<SkColorSpace> GetSkColorSpaceForSkSurfaces() const;
// Wraps an SkCanvas into a PaintCanvas, along with an SkColorSpaceXformCanvas // Wraps an SkCanvas into a PaintCanvas, along with an SkColorSpaceXformCanvas
...@@ -82,7 +83,7 @@ class PLATFORM_EXPORT CanvasColorParams { ...@@ -82,7 +83,7 @@ class PLATFORM_EXPORT CanvasColorParams {
const SkSurfaceProps* GetSkSurfaceProps() const; const SkSurfaceProps* GetSkSurfaceProps() const;
private: private:
CanvasColorSpace color_space_ = kLegacyCanvasColorSpace; CanvasColorSpace color_space_ = kSRGBCanvasColorSpace;
CanvasPixelFormat pixel_format_ = kRGBA8CanvasPixelFormat; CanvasPixelFormat pixel_format_ = kRGBA8CanvasPixelFormat;
OpacityMode opacity_mode_ = kNonOpaque; OpacityMode opacity_mode_ = kNonOpaque;
}; };
......
...@@ -46,7 +46,7 @@ class PLATFORM_EXPORT UnacceleratedImageBufferSurface ...@@ -46,7 +46,7 @@ class PLATFORM_EXPORT UnacceleratedImageBufferSurface
UnacceleratedImageBufferSurface( UnacceleratedImageBufferSurface(
const IntSize&, const IntSize&,
ImageInitializationMode = kInitializeImagePixels, ImageInitializationMode = kInitializeImagePixels,
const CanvasColorParams& = CanvasColorParams(kLegacyCanvasColorSpace, const CanvasColorParams& = CanvasColorParams(kSRGBCanvasColorSpace,
kRGBA8CanvasPixelFormat, kRGBA8CanvasPixelFormat,
kNonOpaque)); kNonOpaque));
~UnacceleratedImageBufferSurface() override; ~UnacceleratedImageBufferSurface() override;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment