| Index: cc/surfaces/surface_display_output_surface.cc
|
| diff --git a/cc/surfaces/surface_display_output_surface.cc b/cc/surfaces/surface_display_output_surface.cc
|
| index 53d781fb102335e0feecf05c93b5bc935e291473..c91a140509776181b7c64c0dd612330bd9ef8a03 100644
|
| --- a/cc/surfaces/surface_display_output_surface.cc
|
| +++ b/cc/surfaces/surface_display_output_surface.cc
|
| @@ -30,6 +30,9 @@ SurfaceDisplayOutputSurface::SurfaceDisplayOutputSurface(
|
| // Display and SurfaceDisplayOutputSurface share a GL context, so sync
|
| // points aren't needed when passing resources between them.
|
| capabilities_.delegated_sync_points_required = false;
|
| +
|
| + factory_.manager()->RegisterSurfaceFactoryClient(allocator_->id_namespace(),
|
| + this);
|
| }
|
|
|
| SurfaceDisplayOutputSurface::~SurfaceDisplayOutputSurface() {
|
| @@ -84,6 +87,13 @@ void SurfaceDisplayOutputSurface::ForceReclaimResources() {
|
| SurfaceFactory::DrawCallback());
|
| }
|
|
|
| +void SurfaceDisplayOutputSurface::DetachFromClient() {
|
| + // Unregister the SurfaceFactoryClient here instead of the dtor so that only
|
| + // one client is alive for this namespace at any given time.
|
| + factory_.manager()->RegisterSurfaceFactoryClient(allocator_->id_namespace(),
|
| + nullptr);
|
| +}
|
| +
|
| void SurfaceDisplayOutputSurface::ReturnResources(
|
| const ReturnedResourceArray& resources) {
|
| CompositorFrameAck ack;
|
| @@ -93,7 +103,6 @@ void SurfaceDisplayOutputSurface::ReturnResources(
|
| }
|
|
|
| void SurfaceDisplayOutputSurface::SetBeginFrameSource(
|
| - SurfaceId surface_id,
|
| BeginFrameSource* begin_frame_source) {
|
| // TODO(tansell): Hook this up.
|
| }
|
|
|