Index: content/browser/compositor/browser_compositor_output_surface.cc |
diff --git a/content/browser/compositor/browser_compositor_output_surface.cc b/content/browser/compositor/browser_compositor_output_surface.cc |
index 6f82df4bb921fdd70f16b86e3b44de91f10649da..b1cdd90e54e068b94c6e7ffe509192199beb3863 100644 |
--- a/content/browser/compositor/browser_compositor_output_surface.cc |
+++ b/content/browser/compositor/browser_compositor_output_surface.cc |
@@ -40,6 +40,9 @@ BrowserCompositorOutputSurface::BrowserCompositorOutputSurface( |
BrowserCompositorOutputSurface::~BrowserCompositorOutputSurface() { |
DCHECK(CalledOnValidThread()); |
+ if (reflector_) |
+ reflector_->DetachFromOutputSurface(); |
+ DCHECK(!reflector_); |
if (!HasClient()) |
return; |
output_surface_map_->Remove(surface_id_); |
@@ -62,18 +65,11 @@ bool BrowserCompositorOutputSurface::BindToClient( |
output_surface_map_->AddWithID(this, surface_id_); |
if (reflector_) |
- reflector_->OnSourceSurfaceReady(surface_id_); |
+ reflector_->OnSourceSurfaceReady(this); |
vsync_manager_->AddObserver(this); |
return true; |
} |
-void BrowserCompositorOutputSurface::Reshape(const gfx::Size& size, |
- float scale_factor) { |
- OutputSurface::Reshape(size, scale_factor); |
- if (reflector_.get()) |
- reflector_->OnReshape(size); |
-} |
- |
void BrowserCompositorOutputSurface::OnUpdateVSyncParameters( |
base::TimeTicks timebase, |
base::TimeDelta interval) { |