Index: cc/trees/layer_tree_host.cc |
diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc |
index 808bf21a767fc772ecc909c88242c3e27f93584f..2bfd343ed12746bea07e9a0173263e4f5d59577a 100644 |
--- a/cc/trees/layer_tree_host.cc |
+++ b/cc/trees/layer_tree_host.cc |
@@ -136,7 +136,8 @@ LayerTreeHost::LayerTreeHost( |
shared_bitmap_manager_(shared_bitmap_manager), |
gpu_memory_buffer_manager_(gpu_memory_buffer_manager), |
surface_id_namespace_(0u), |
- next_surface_sequence_(1u) { |
+ next_surface_sequence_(1u), |
+ did_complete_scale_animation_before_commit_(false) { |
if (settings_.accelerated_animation_enabled) |
animation_registrar_ = AnimationRegistrar::Create(); |
rendering_stats_instrumentation_->set_record_rendering_stats( |
@@ -431,6 +432,10 @@ void LayerTreeHost::UpdateHudLayer() { |
void LayerTreeHost::CommitComplete() { |
source_frame_number_++; |
client_->DidCommit(); |
+ if (did_complete_scale_animation_before_commit_) { |
+ client_->DidCompletePageScaleAnimation(); |
+ did_complete_scale_animation_before_commit_ = false; |
+ } |
} |
void LayerTreeHost::SetOutputSurface(scoped_ptr<OutputSurface> surface) { |
@@ -762,6 +767,10 @@ bool LayerTreeHost::UpdateLayers(ResourceUpdateQueue* queue) { |
return result || next_commit_forces_redraw_; |
} |
+void LayerTreeHost::DidCompletePageScaleAnimationBeforeCommit() { |
+ did_complete_scale_animation_before_commit_ = true; |
+} |
+ |
static Layer* FindFirstScrollableLayer(Layer* layer) { |
if (!layer) |
return NULL; |