Index: components/exo/surface.cc |
diff --git a/components/exo/surface.cc b/components/exo/surface.cc |
index 66784aebb22e03dc2573c159810fd03bab8fd187..d68aa04186364f6113f8e13ed4730a3f94e5829c 100644 |
--- a/components/exo/surface.cc |
+++ b/components/exo/surface.cc |
@@ -426,9 +426,14 @@ void Surface::Commit() { |
CommitSurfaceHierarchy(); |
} |
- if (begin_frame_source_ && current_begin_frame_ack_.sequence_number != |
- cc::BeginFrameArgs::kInvalidFrameNumber) { |
- begin_frame_source_->DidFinishFrame(this, current_begin_frame_ack_); |
+ if (current_begin_frame_ack_.sequence_number != |
+ cc::BeginFrameArgs::kInvalidFrameNumber) { |
+ if (begin_frame_source_) |
+ begin_frame_source_->DidFinishFrame(this, current_begin_frame_ack_); |
+ if (!current_begin_frame_ack_.has_damage) { |
+ compositor_frame_sink_holder_->GetCompositorFrameSink() |
+ ->DidNotProduceFrame(current_begin_frame_ack_); |
+ } |
current_begin_frame_ack_.sequence_number = |
cc::BeginFrameArgs::kInvalidFrameNumber; |
} |