| Index: components/exo/surface.cc
|
| diff --git a/components/exo/surface.cc b/components/exo/surface.cc
|
| index bdcd746536ddccae9d57dc5d578742f4868d6c1b..049c3c6070378bf1512e0e5a437d23e41ccb0de0 100644
|
| --- a/components/exo/surface.cc
|
| +++ b/components/exo/surface.cc
|
| @@ -838,7 +838,17 @@ void Surface::UpdateSurface(bool full_damage) {
|
| quad_state->opacity = state_.alpha;
|
|
|
| cc::CompositorFrame frame;
|
| - current_begin_frame_ack_.has_damage = true;
|
| + // If we commit while we don't have an active BeginFrame, we acknowledge a
|
| + // manual one.
|
| + if (current_begin_frame_ack_.sequence_number ==
|
| + cc::BeginFrameArgs::kInvalidFrameNumber) {
|
| + current_begin_frame_ack_ =
|
| + cc::BeginFrameAck(cc::BeginFrameArgs::kManualSourceId,
|
| + cc::BeginFrameArgs::kStartingFrameNumber,
|
| + cc::BeginFrameArgs::kStartingFrameNumber, 0, true);
|
| + } else {
|
| + current_begin_frame_ack_.has_damage = true;
|
| + }
|
| frame.metadata.begin_frame_ack = current_begin_frame_ack_;
|
|
|
| if (current_resource_.id) {
|
|
|