Index: components/viz/frame_sinks/gpu_root_compositor_frame_sink.cc |
diff --git a/components/viz/frame_sinks/gpu_root_compositor_frame_sink.cc b/components/viz/frame_sinks/gpu_root_compositor_frame_sink.cc |
index 850b6c7bbc74b0e5714427640d8dc937a73654b2..393f53fc2eb7d7d1b55226c84b1b895e1bfcf9d8 100644 |
--- a/components/viz/frame_sinks/gpu_root_compositor_frame_sink.cc |
+++ b/components/viz/frame_sinks/gpu_root_compositor_frame_sink.cc |
@@ -86,7 +86,10 @@ void GpuRootCompositorFrameSink::SetNeedsBeginFrame(bool needs_begin_frame) { |
void GpuRootCompositorFrameSink::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 GpuRootCompositorFrameSink::DidNotProduceFrame( |