Index: blimp/client/core/compositor/blimp_compositor.cc |
diff --git a/blimp/client/core/compositor/blimp_compositor.cc b/blimp/client/core/compositor/blimp_compositor.cc |
index 0ac6944f9b496aba9a4aa3cdb8091343b7eb03ce..e7ebe2c25e5ae54fd01fa70a4cc953898cc204e8 100644 |
--- a/blimp/client/core/compositor/blimp_compositor.cc |
+++ b/blimp/client/core/compositor/blimp_compositor.cc |
@@ -243,8 +243,18 @@ void BlimpCompositor::SwapCompositorFrame(cc::CompositorFrame frame) { |
layer_->AddChild(content_layer); |
} |
- surface_factory_->SubmitCompositorFrame(local_frame_id_, std::move(frame), |
- base::Closure()); |
+ surface_factory_->SubmitCompositorFrame( |
+ local_frame_id_, std::move(frame), |
+ base::Bind(&BlimpCompositor::SubmitCompositorFrameAck, |
+ weak_ptr_factory_.GetWeakPtr())); |
+} |
+ |
+void BlimpCompositor::SubmitCompositorFrameAck() { |
+ DCHECK(surface_factory_); |
+ compositor_dependencies_->GetCompositorTaskRunner()->PostTask( |
+ FROM_HERE, |
+ base::Bind(&BlimpCompositorFrameSinkProxyClient::SwapCompositorFrameAck, |
+ proxy_client_)); |
} |
void BlimpCompositor::UnbindProxyClient() { |