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..97c92a2220a00c95ba8258e48cb53031081dd976 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,34 @@ void RenderWidgetHostViewAura::OnSwapCompositorFrame( |
selection.end.SetEdge(end_edge_top, end_edge_bottom); |
} |
+ // |has_damage| is not transmitted. |
+ frame.metadata.begin_frame_ack.has_damage = true; |
piman
2017/03/15 21:17:10
nit: you could do this in RenderWidgetHostImpl, so
Eric Seckler
2017/03/16 10:24:14
Moved all to RWHI.
|
+ cc::BeginFrameAck ack(frame.metadata.begin_frame_ack); |
+ DCHECK_LE(cc::BeginFrameArgs::kStartingFrameNumber, ack.sequence_number); |
piman
2017/03/15 21:17:10
What makes this DCHECK true, if ack comes (after a
Eric Seckler
2017/03/16 10:24:15
Replaced it with a ReceivedBadMessage, assuming th
piman
2017/03/16 18:32:14
See comments in RWHI.
|
+ // |remaining_frames| is not transmitted, but 0 by default. |
+ DCHECK_EQ(0u, ack.remaining_frames); |
+ |
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) { |
+ DCHECK_LE(cc::BeginFrameArgs::kStartingFrameNumber, ack.sequence_number); |
piman
2017/03/15 21:17:10
Ditto here.
Eric Seckler
2017/03/16 10:24:15
Done, moved as well.
|
+ // |has_damage| is not transmitted but false by default. |
+ DCHECK(!ack.has_damage); |
+ // |remaining_frames| is not transmitted, but 0 by default. |
+ DCHECK_EQ(0u, ack.remaining_frames); |
+ |
+ if (begin_frame_source_) |
+ begin_frame_source_->DidFinishFrame(this, ack); |
} |
void RenderWidgetHostViewAura::ClearCompositorFrame() { |