| Index: services/ui/surfaces/gpu_compositor_frame_sink.cc
|
| diff --git a/services/ui/surfaces/gpu_compositor_frame_sink.cc b/services/ui/surfaces/gpu_compositor_frame_sink.cc
|
| index 34ef009d4fd1206f85067b472a8321c400c702b3..109a7bf925305e02357c677bd0be25fe7404c77c 100644
|
| --- a/services/ui/surfaces/gpu_compositor_frame_sink.cc
|
| +++ b/services/ui/surfaces/gpu_compositor_frame_sink.cc
|
| @@ -19,10 +19,11 @@ GpuCompositorFrameSink::GpuCompositorFrameSink(
|
| cc::mojom::MojoCompositorFrameSinkClientPtr client,
|
| cc::mojom::DisplayPrivateRequest display_private_request)
|
| : display_compositor_(display_compositor),
|
| + display_(std::move(display)),
|
| support_(this,
|
| display_compositor->manager(),
|
| frame_sink_id,
|
| - std::move(display),
|
| + display_.get(),
|
| std::move(begin_frame_source)),
|
| client_(std::move(client)),
|
| binding_(this, std::move(request)),
|
| @@ -30,6 +31,9 @@ GpuCompositorFrameSink::GpuCompositorFrameSink(
|
| this,
|
| std::move(compositor_frame_sink_private_request)),
|
| display_private_binding_(this, std::move(display_private_request)) {
|
| + support_.BindToClient();
|
| + support_.RegisterFrameSinkId();
|
| + support_.SetDisplayVisible(true);
|
| binding_.set_connection_error_handler(base::Bind(
|
| &GpuCompositorFrameSink::OnClientConnectionLost, base::Unretained(this)));
|
|
|
| @@ -38,7 +42,10 @@ GpuCompositorFrameSink::GpuCompositorFrameSink(
|
| base::Unretained(this)));
|
| }
|
|
|
| -GpuCompositorFrameSink::~GpuCompositorFrameSink() {}
|
| +GpuCompositorFrameSink::~GpuCompositorFrameSink() {
|
| + support_.DetachFromClient();
|
| + support_.InvalidateFrameSinkId();
|
| +}
|
|
|
| void GpuCompositorFrameSink::EvictFrame() {
|
| support_.EvictFrame();
|
|
|