summaryrefslogtreecommitdiffstats
path: root/webkit/gpu
diff options
context:
space:
mode:
authorgman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-17 21:45:18 +0000
committergman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-17 21:45:18 +0000
commitc0afb9cc23da58beca57b027f8467aa6c120d6b9 (patch)
tree7cac12596d67f262715cfb49b579a42ea0761cca /webkit/gpu
parent10163281cf7acef4ce2c22027b1ce4cd3c8eeb2a (diff)
downloadchromium_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
Diffstat (limited to 'webkit/gpu')
-rw-r--r--webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc6
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() {