| Index: content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc b/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| index afb4bf2656abe91dd928aeaffeafb5bfffe3055c..8ee1e25562f1137c45df6e51b3c45b9030360d68 100644
|
| --- a/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| +++ b/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| @@ -13,14 +13,18 @@ namespace content {
|
|
|
| GpuMemoryBufferImplSurfaceTexture::GpuMemoryBufferImplSurfaceTexture(
|
| const gfx::Size& size,
|
| - unsigned internalformat)
|
| - : GpuMemoryBufferImpl(size, internalformat),
|
| + unsigned internalformat,
|
| + const DestructionCallback& callback)
|
| + : GpuMemoryBufferImpl(size, internalformat), callback_(callback) {
|
| native_window_(NULL),
|
| stride_(0u) {}
|
|
|
| GpuMemoryBufferImplSurfaceTexture::~GpuMemoryBufferImplSurfaceTexture() {
|
| - if (native_window_)
|
| - ANativeWindow_release(native_window_);
|
| + if (!native_window_)
|
| + return;
|
| +
|
| + ANativeWindow_release(native_window_);
|
| + callback_.Run();
|
| }
|
|
|
| // static
|
|
|