| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/viz/frame_sinks/gpu_root_compositor_frame_sink.h" | 5 #include "components/viz/frame_sinks/gpu_root_compositor_frame_sink.h" |
| 6 | 6 |
| 7 #include "cc/surfaces/compositor_frame_sink_support.h" | 7 #include "cc/surfaces/compositor_frame_sink_support.h" |
| 8 #include "cc/surfaces/display.h" | 8 #include "cc/surfaces/display.h" |
| 9 | 9 |
| 10 namespace viz { | 10 namespace viz { |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 support_->EvictCurrentSurface(); | 79 support_->EvictCurrentSurface(); |
| 80 } | 80 } |
| 81 | 81 |
| 82 void GpuRootCompositorFrameSink::SetNeedsBeginFrame(bool needs_begin_frame) { | 82 void GpuRootCompositorFrameSink::SetNeedsBeginFrame(bool needs_begin_frame) { |
| 83 support_->SetNeedsBeginFrame(needs_begin_frame); | 83 support_->SetNeedsBeginFrame(needs_begin_frame); |
| 84 } | 84 } |
| 85 | 85 |
| 86 void GpuRootCompositorFrameSink::SubmitCompositorFrame( | 86 void GpuRootCompositorFrameSink::SubmitCompositorFrame( |
| 87 const cc::LocalSurfaceId& local_surface_id, | 87 const cc::LocalSurfaceId& local_surface_id, |
| 88 cc::CompositorFrame frame) { | 88 cc::CompositorFrame frame) { |
| 89 support_->SubmitCompositorFrame(local_surface_id, std::move(frame)); | 89 if (!support_->SubmitCompositorFrame(local_surface_id, std::move(frame))) { |
| 90 compositor_frame_sink_binding_.Close(); |
| 91 OnClientConnectionLost(); |
| 92 } |
| 90 } | 93 } |
| 91 | 94 |
| 92 void GpuRootCompositorFrameSink::DidNotProduceFrame( | 95 void GpuRootCompositorFrameSink::DidNotProduceFrame( |
| 93 const cc::BeginFrameAck& begin_frame_ack) { | 96 const cc::BeginFrameAck& begin_frame_ack) { |
| 94 support_->DidNotProduceFrame(begin_frame_ack); | 97 support_->DidNotProduceFrame(begin_frame_ack); |
| 95 } | 98 } |
| 96 | 99 |
| 97 void GpuRootCompositorFrameSink::ClaimTemporaryReference( | 100 void GpuRootCompositorFrameSink::ClaimTemporaryReference( |
| 98 const cc::SurfaceId& surface_id) { | 101 const cc::SurfaceId& surface_id) { |
| 99 support_->ClaimTemporaryReference(surface_id); | 102 support_->ClaimTemporaryReference(surface_id); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 } | 147 } |
| 145 | 148 |
| 146 void GpuRootCompositorFrameSink::OnPrivateConnectionLost() { | 149 void GpuRootCompositorFrameSink::OnPrivateConnectionLost() { |
| 147 private_connection_lost_ = true; | 150 private_connection_lost_ = true; |
| 148 // Request destruction of |this| only if both connections are lost. | 151 // Request destruction of |this| only if both connections are lost. |
| 149 delegate_->OnPrivateConnectionLost(support_->frame_sink_id(), | 152 delegate_->OnPrivateConnectionLost(support_->frame_sink_id(), |
| 150 client_connection_lost_); | 153 client_connection_lost_); |
| 151 } | 154 } |
| 152 | 155 |
| 153 } // namespace viz | 156 } // namespace viz |
| OLD | NEW |