Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(810)

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 2740833005: [cc] Pass on BeginFrameAcks from CompositorEBFS through RWHVAura, DFH. (Closed)
Patch Set: add struct_traits tests. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {

Powered by Google App Engine
This is Rietveld 408576698