| Index: cc/resources/resource_provider.cc
|
| diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
|
| index 39017b45ed29d493a0bf96da19debfc909b59319..50b3f578457ad67e5225f6278ffceca510528921 100644
|
| --- a/cc/resources/resource_provider.cc
|
| +++ b/cc/resources/resource_provider.cc
|
| @@ -883,14 +883,11 @@ ResourceProvider::TextureHint ResourceProvider::GetTextureHint(ResourceId id) {
|
| return GetResource(id)->hint;
|
| }
|
|
|
| -sk_sp<SkColorSpace> ResourceProvider::GetResourceSkColorSpace(
|
| +gfx::ColorSpace ResourceProvider::GetResourceColorSpaceForRaster(
|
| const Resource* resource) const {
|
| if (!settings_.enable_color_correct_rasterization)
|
| - return nullptr;
|
| - // Returning the nonlinear blended color space matches the expectation of the
|
| - // web that colors are blended in the output color space, not in a
|
| - // physically-based linear space.
|
| - return resource->color_space.ToNonlinearBlendedSkColorSpace();
|
| + return gfx::ColorSpace();
|
| + return resource->color_space;
|
| }
|
|
|
| void ResourceProvider::CopyToResource(ResourceId id,
|
| @@ -914,8 +911,7 @@ void ResourceProvider::CopyToResource(ResourceId id,
|
| DCHECK(resource->allocated);
|
| DCHECK_EQ(RGBA_8888, resource->format);
|
| SkImageInfo source_info =
|
| - SkImageInfo::MakeN32Premul(image_size.width(), image_size.height(),
|
| - GetResourceSkColorSpace(resource));
|
| + SkImageInfo::MakeN32Premul(image_size.width(), image_size.height());
|
| size_t image_stride = image_size.width() * 4;
|
|
|
| ScopedWriteLockSoftware lock(this, id);
|
| @@ -1195,7 +1191,7 @@ ResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL(
|
| format_ = resource->format;
|
| size_ = resource->size;
|
| mailbox_ = resource->mailbox();
|
| - sk_color_space_ = resource_provider->GetResourceSkColorSpace(resource);
|
| + color_space_ = resource_provider->GetResourceColorSpaceForRaster(resource);
|
| }
|
|
|
| ResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL() {
|
| @@ -1263,8 +1259,7 @@ ResourceProvider::ScopedSkSurfaceProvider::ScopedSkSurfaceProvider(
|
| SkSurfaceProps(flags, SkSurfaceProps::kLegacyFontHost_InitType);
|
| }
|
| sk_surface_ = SkSurface::MakeFromBackendTextureAsRenderTarget(
|
| - context_provider->GrContext(), desc, resource_lock->sk_color_space(),
|
| - &surface_props);
|
| + context_provider->GrContext(), desc, nullptr, &surface_props);
|
| }
|
|
|
| ResourceProvider::ScopedSkSurfaceProvider::~ScopedSkSurfaceProvider() {
|
| @@ -1277,9 +1272,8 @@ ResourceProvider::ScopedSkSurfaceProvider::~ScopedSkSurfaceProvider() {
|
| void ResourceProvider::PopulateSkBitmapWithResource(SkBitmap* sk_bitmap,
|
| const Resource* resource) {
|
| DCHECK_EQ(RGBA_8888, resource->format);
|
| - SkImageInfo info = SkImageInfo::MakeN32Premul(
|
| - resource->size.width(), resource->size.height(),
|
| - GetResourceSkColorSpace(resource));
|
| + SkImageInfo info = SkImageInfo::MakeN32Premul(resource->size.width(),
|
| + resource->size.height());
|
| sk_bitmap->installPixels(info, resource->pixels, info.minRowBytes());
|
| }
|
|
|
| @@ -1312,8 +1306,7 @@ ResourceProvider::ScopedReadLockSkImage::ScopedReadLockSkImage(
|
| desc.fTextureHandle = skia::GrGLTextureInfoToGrBackendObject(texture_info);
|
| sk_image_ = SkImage::MakeFromTexture(
|
| resource_provider->compositor_context_provider_->GrContext(), desc,
|
| - kPremul_SkAlphaType,
|
| - resource_provider->GetResourceSkColorSpace(resource), nullptr, nullptr);
|
| + kPremul_SkAlphaType);
|
| } else if (resource->pixels) {
|
| SkBitmap sk_bitmap;
|
| resource_provider->PopulateSkBitmapWithResource(&sk_bitmap, resource);
|
| @@ -1340,7 +1333,7 @@ ResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware(
|
| : resource_provider_(resource_provider), resource_id_(resource_id) {
|
| Resource* resource = resource_provider->LockForWrite(resource_id);
|
| resource_provider->PopulateSkBitmapWithResource(&sk_bitmap_, resource);
|
| - sk_color_space_ = resource_provider->GetResourceSkColorSpace(resource);
|
| + color_space_ = resource_provider->GetResourceColorSpaceForRaster(resource);
|
| DCHECK(valid());
|
| }
|
|
|
| @@ -1363,6 +1356,7 @@ ResourceProvider::ScopedWriteLockGpuMemoryBuffer::
|
| usage_ = resource->usage;
|
| gpu_memory_buffer_ = std::move(resource->gpu_memory_buffer);
|
| resource->gpu_memory_buffer = nullptr;
|
| + color_space_ = resource_provider->GetResourceColorSpaceForRaster(resource);
|
| }
|
|
|
| ResourceProvider::ScopedWriteLockGpuMemoryBuffer::
|
|
|