Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc |
index 732394d07ba0b1771d60a1c392333d15f63d27a2..3701b69d3cc69107e65f391294df914fd240b17d 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
@@ -937,12 +937,23 @@ void RenderWidgetHostViewAura::OnSwapCompositorFrame( |
selection.end.SetEdge(end_edge_top, end_edge_bottom); |
} |
+ cc::BeginFrameAck ack(frame.metadata.begin_frame_ack); |
+ |
if (delegated_frame_host_) { |
delegated_frame_host_->SwapDelegatedFrame(compositor_frame_sink_id, |
std::move(frame)); |
} |
selection_controller_->OnSelectionBoundsChanged(selection.start, |
selection.end); |
+ |
+ if (begin_frame_source_) |
+ begin_frame_source_->DidFinishFrame(this, ack); |
+} |
+ |
+void RenderWidgetHostViewAura::OnBeginFrameDidNotSwap( |
+ const cc::BeginFrameAck& ack) { |
+ if (begin_frame_source_) |
+ begin_frame_source_->DidFinishFrame(this, ack); |
} |
void RenderWidgetHostViewAura::ClearCompositorFrame() { |