| Index: cc/resources/resource_provider.cc
|
| diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
|
| index 898bc81c102abbcb1b73fd72e1ab06a2b3350a42..9b472cb09094eb2f92f2fe5b6a2744a61fe5b022 100644
|
| --- a/cc/resources/resource_provider.cc
|
| +++ b/cc/resources/resource_provider.cc
|
| @@ -997,11 +997,18 @@ void ResourceProvider::ScopedWriteLockGr::InitSkSurface(
|
| surface_props =
|
| SkSurfaceProps(flags, SkSurfaceProps::kLegacyFontHost_InitType);
|
| }
|
| - sk_surface_ = skia::AdoptRef(
|
| - SkSurface::NewWrappedRenderTarget(gr_context, desc, &surface_props));
|
| + gr_surface_ =
|
| + skia::AdoptRef(gr_context->textureProvider()->wrapBackendTexture(
|
| + desc, kBorrow_GrWrapOwnership));
|
| + if (gr_surface_)
|
| + sk_surface_ = skia::AdoptRef(SkSurface::NewRenderTargetDirect(
|
| + gr_surface_->asRenderTarget(), &surface_props));
|
| }
|
|
|
| void ResourceProvider::ScopedWriteLockGr::ReleaseSkSurface() {
|
| + DCHECK(gr_surface_);
|
| + gr_surface_->prepareForExternalIO();
|
| + gr_surface_.clear();
|
| sk_surface_.clear();
|
| }
|
|
|
|
|