Index: content/browser/android/in_process/synchronous_compositor_output_surface.cc |
diff --git a/content/browser/android/in_process/synchronous_compositor_output_surface.cc b/content/browser/android/in_process/synchronous_compositor_output_surface.cc |
index 85c7bcb3c39832eadbcc9d14bddee0263d070b1a..f03f992d83d4a289296527d774ef66aa65783037 100644 |
--- a/content/browser/android/in_process/synchronous_compositor_output_surface.cc |
+++ b/content/browser/android/in_process/synchronous_compositor_output_surface.cc |
@@ -83,11 +83,6 @@ SynchronousCompositorOutputSurface::SynchronousCompositorOutputSurface( |
} |
SynchronousCompositorOutputSurface::~SynchronousCompositorOutputSurface() { |
- DCHECK(CalledOnValidThread()); |
- if (registered_) { |
- SynchronousCompositorRegistry::GetInstance()->UnregisterOutputSurface( |
- routing_id_, this); |
- } |
} |
bool SynchronousCompositorOutputSurface::BindToClient( |
@@ -105,6 +100,15 @@ bool SynchronousCompositorOutputSurface::BindToClient( |
return true; |
} |
+void SynchronousCompositorOutputSurface::DetachFromClient() { |
+ DCHECK(CalledOnValidThread()); |
+ if (registered_) { |
+ SynchronousCompositorRegistry::GetInstance()->UnregisterOutputSurface( |
+ routing_id_, this); |
+ } |
+ cc::OutputSurface::DetachFromClient(); |
+} |
+ |
void SynchronousCompositorOutputSurface::SetCompositor( |
SynchronousCompositorImpl* compositor) { |
DCHECK(CalledOnValidThread()); |