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 b614fe8811b7dff661545abf62c54a390754023e..44a6f62ab3637d78e5ebf93e709a1510ea423319 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::BeginFrameDidNotSwap( |