diff options
author | sheu@chromium.org <sheu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-27 02:16:45 +0000 |
---|---|---|
committer | sheu@chromium.org <sheu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-27 02:16:45 +0000 |
commit | 24aa62c38aef7db977d638535b44e2be9b79ff1b (patch) | |
tree | 86a0121a4fd5ed403d5d4372fb6553ec306a60b8 /chrome/common | |
parent | 804a2a7e28d1d7a1d8f73e2097ca425c8c56e44b (diff) | |
download | chromium_src-24aa62c38aef7db977d638535b44e2be9b79ff1b.zip chromium_src-24aa62c38aef7db977d638535b44e2be9b79ff1b.tar.gz chromium_src-24aa62c38aef7db977d638535b44e2be9b79ff1b.tar.bz2 |
GpuVideoDecodeAccelerator lifecycle fixes.
* GpuVideoDecodeAccelerator clears its reference to its parent
GpuCommandBufferStub on GpuVideoDecodeAccelerator::OnWillDestroy(),
then only removes its IPC channel route on destruction if the stub
reference is valid. This means the route is never actually removed,
and so we leak the IPC route. Modify OnWillDestroy() to immediately
delete the GpuVideoDecodeAccelerator object and remove the route.
* GpuCommandBufferStub owns the GpuVideoDecodeAccelerator objects it
creates, but does not destroy them when they are destroyed through the
AcceleratedVideoDecoderMsg_Destroy IPC. This causes a leak of
GpuVDA objects as long as the GpuCommandBufferStub is alive. Allow
the OnDestroy() callback for AcceleratedVideoDecoderMsg_Destroy to
destroy the GpuVDA directly, and remove the explicit owned list of
GpuVDA objects from GpuCommandBufferStub to avoid double-deletion.
BUG=234465
TEST=local build, run on CrOS snow, desktop Linux
Review URL: https://chromiumcodereview.appspot.com/14444002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196923 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common')
0 files changed, 0 insertions, 0 deletions