Index: cc/trees/layer_tree_host.cc |
diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc |
index 03969f2731c73b674b22ecf45f0f4bb01eb3145c..e5266ab758994005f66311f934883cd08458378d 100644 |
--- a/cc/trees/layer_tree_host.cc |
+++ b/cc/trees/layer_tree_host.cc |
@@ -122,7 +122,8 @@ LayerTreeHost::LayerTreeHost(LayerTreeHostClient* client, |
total_frames_used_for_lcd_text_metrics_(0), |
id_(s_layer_tree_host_sequence_number.GetNext() + 1), |
next_commit_forces_redraw_(false), |
- shared_bitmap_manager_(manager) { |
+ shared_bitmap_manager_(manager), |
+ begin_frame_requested_(false) { |
if (settings_.accelerated_animation_enabled) |
animation_registrar_ = AnimationRegistrar::Create(); |
rendering_stats_instrumentation_->set_record_rendering_stats( |
@@ -1295,4 +1296,17 @@ void LayerTreeHost::BreakSwapPromises(SwapPromise::DidNotSwapReason reason) { |
swap_promise_list_.clear(); |
} |
+void LayerTreeHost::SendBeginFrame(const BeginFrameArgs& args) { |
+ begin_frame_requested_ = false; |
+ client_->SendBeginFrame(args); |
+} |
+ |
+void LayerTreeHost::RequestBeginFrame() { |
+ // If next BeginFrame is already requested, we can use it. |
+ if (begin_frame_requested_) |
+ return; |
+ begin_frame_requested_ = true; |
+ proxy_->BeginFrameRequested(); |
+} |
+ |
} // namespace cc |