Index: components/exo/surface.cc |
diff --git a/components/exo/surface.cc b/components/exo/surface.cc |
index d2419a5b64bc41a7e3ad84c24a9f16e80ddad2c3..48567f6279c54802c6cec4644b705c25fd0ba380 100644 |
--- a/components/exo/surface.cc |
+++ b/components/exo/surface.cc |
@@ -454,6 +454,12 @@ void Surface::Commit() { |
CheckIfSurfaceHierarchyNeedsCommitToNewSurfaces(); |
CommitSurfaceHierarchy(); |
} |
+ |
+ cc::BeginFrameAck ack(last_begin_frame_args_.source_id, |
+ last_begin_frame_args_.sequence_number, true, |
+ last_begin_frame_args_.sequence_number, 0); |
+ if (begin_frame_source_) |
+ begin_frame_source_->DidFinishFrame(this, ack); |
} |
void Surface::CommitSurfaceHierarchy() { |
@@ -647,11 +653,11 @@ void Surface::OnWindowRemovingFromRootWindow(aura::Window* window, |
} |
void Surface::OnBeginFrame(const cc::BeginFrameArgs& args) { |
+ last_begin_frame_args_ = args; |
while (!active_frame_callbacks_.empty()) { |
active_frame_callbacks_.front().Run(args.frame_time); |
active_frame_callbacks_.pop_front(); |
} |
- last_begin_frame_args_ = args; |
} |
const cc::BeginFrameArgs& Surface::LastUsedBeginFrameArgs() const { |