Index: content/common/gpu/client/gpu_video_decode_accelerator_host.cc |
diff --git a/content/common/gpu/client/gpu_video_decode_accelerator_host.cc b/content/common/gpu/client/gpu_video_decode_accelerator_host.cc |
index 77cdd3accac3eaa7990bca98a926fb55f8948e1c..b14579705efdd7b018354a9bfc97a071c2974639 100644 |
--- a/content/common/gpu/client/gpu_video_decode_accelerator_host.cc |
+++ b/content/common/gpu/client/gpu_video_decode_accelerator_host.cc |
@@ -117,11 +117,13 @@ void GpuVideoDecodeAcceleratorHost::Reset() { |
Send(new AcceleratedVideoDecoderMsg_Reset(decoder_route_id_)); |
} |
-void GpuVideoDecodeAcceleratorHost::Destroy() { |
+void GpuVideoDecodeAcceleratorHost::Destroy(bool pass_ownership) { |
DCHECK(CalledOnValidThread()); |
channel_->RemoveRoute(decoder_route_id_); |
client_ = NULL; |
Send(new AcceleratedVideoDecoderMsg_Destroy(decoder_route_id_)); |
+ if (pass_ownership) |
+ delete this; |
} |
GpuVideoDecodeAcceleratorHost::~GpuVideoDecodeAcceleratorHost() {} |