Index: components/viz/frame_sinks/gpu_compositor_frame_sink.cc |
diff --git a/components/viz/frame_sinks/gpu_compositor_frame_sink.cc b/components/viz/frame_sinks/gpu_compositor_frame_sink.cc |
index dd020e30a3971f11278002522c16f3942222186c..a2b6007c19c981ba98f06d3cd1ae61c4e9368e89 100644 |
--- a/components/viz/frame_sinks/gpu_compositor_frame_sink.cc |
+++ b/components/viz/frame_sinks/gpu_compositor_frame_sink.cc |
@@ -47,7 +47,10 @@ void GpuCompositorFrameSink::SetNeedsBeginFrame(bool needs_begin_frame) { |
void GpuCompositorFrameSink::SubmitCompositorFrame( |
const cc::LocalSurfaceId& local_surface_id, |
cc::CompositorFrame frame) { |
- support_->SubmitCompositorFrame(local_surface_id, std::move(frame)); |
+ if (!support_->SubmitCompositorFrame(local_surface_id, std::move(frame))) { |
+ compositor_frame_sink_binding_.Close(); |
+ OnClientConnectionLost(); |
+ } |
} |
void GpuCompositorFrameSink::DidNotProduceFrame( |