diff options
author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-17 21:45:18 +0000 |
---|---|---|
committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-17 21:45:18 +0000 |
commit | c0afb9cc23da58beca57b027f8467aa6c120d6b9 (patch) | |
tree | 7cac12596d67f262715cfb49b579a42ea0761cca | |
parent | 10163281cf7acef4ce2c22027b1ce4cd3c8eeb2a (diff) | |
download | chromium_src-c0afb9cc23da58beca57b027f8467aa6c120d6b9.zip chromium_src-c0afb9cc23da58beca57b027f8467aa6c120d6b9.tar.gz chromium_src-c0afb9cc23da58beca57b027f8467aa6c120d6b9.tar.bz2 |
Cleanup correctly in GLInProcessContext
TEST=DRT runs on OSX
BUG=NONE
Review URL: https://chromiumcodereview.appspot.com/10386186
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137741 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc b/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc index f82c022..d08280be 100644 --- a/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc +++ b/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc @@ -487,6 +487,8 @@ bool GLInProcessContext::Initialize(const gfx::Size& size, } void GLInProcessContext::Destroy() { + bool context_lost = IsCommandBufferContextLost(); + if (parent_.get() && parent_texture_id_ != 0) { parent_->gles2_implementation_->FreeTextureId(parent_texture_id_); parent_texture_id_ = 0; @@ -506,6 +508,10 @@ void GLInProcessContext::Destroy() { transfer_buffer_.reset(); gles2_helper_.reset(); command_buffer_.reset(); + + if (decoder_.get()) { + decoder_->Destroy(context_lost); + } } void GLInProcessContext::OnContextLost() { |