| Index: content/common/gpu/texture_image_transport_surface.cc
|
| diff --git a/content/common/gpu/texture_image_transport_surface.cc b/content/common/gpu/texture_image_transport_surface.cc
|
| index 652e525d824f85fc959d50a2f9222a6fb562e39b..789c38a3908f91859320e3d3dec5e124e93ff50b 100644
|
| --- a/content/common/gpu/texture_image_transport_surface.cc
|
| +++ b/content/common/gpu/texture_image_transport_surface.cc
|
| @@ -47,8 +47,6 @@ TextureImageTransportSurface::TextureImageTransportSurface(
|
| manager,
|
| stub,
|
| gfx::kNullPluginWindow));
|
| -
|
| - stub->AddDestructionObserver(this);
|
| }
|
|
|
| TextureImageTransportSurface::~TextureImageTransportSurface() {
|
| @@ -134,9 +132,13 @@ bool TextureImageTransportSurface::OnMakeCurrent(gfx::GLContext* context) {
|
| GLenum status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER);
|
| if (status != GL_FRAMEBUFFER_COMPLETE) {
|
| DLOG(ERROR) << "Framebuffer incomplete.";
|
| + glDeleteFramebuffersEXT(1, &fbo_id_);
|
| + fbo_id_ = 0;
|
| return false;
|
| }
|
| #endif
|
| + DCHECK(helper_->stub());
|
| + helper_->stub()->AddDestructionObserver(this);
|
| }
|
|
|
| return true;
|
| @@ -208,6 +210,7 @@ void TextureImageTransportSurface::OnWillDestroyStub(
|
| ReleaseParentStub();
|
| helper_->SetPreemptByCounter(NULL);
|
| } else {
|
| + DCHECK(stub == helper_->stub());
|
| stub->RemoveDestructionObserver(this);
|
|
|
| // We are losing the stub owning us, this is our last chance to clean up the
|
|
|