| Index: cc/trees/layer_tree_host_impl.cc
|
| diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
| index 2d7a9323edf74e7bceb7eab96100f2d8996b12f6..8cf9d014e503fa9216faac5d255d4b1560ce57c1 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -3027,15 +3027,23 @@ void LayerTreeHostImpl::AnimatePageScale(base::TimeTicks monotonic_time) {
|
| void LayerTreeHostImpl::AnimateTopControls(base::TimeTicks time) {
|
| if (!top_controls_manager_ || !top_controls_manager_->animation())
|
| return;
|
| +
|
| gfx::Vector2dF scroll = top_controls_manager_->Animate(time);
|
| +
|
| + if (top_controls_manager_->animation())
|
| + SetNeedsAnimate();
|
| +
|
| if (active_tree_->TotalScrollOffset().y() == 0.f)
|
| return;
|
| - if (!scroll.IsZero()) {
|
| - ScrollViewportBy(gfx::ScaleVector2d(
|
| - scroll, 1.f / active_tree_->total_page_scale_factor()));
|
| - SetNeedsRedraw();
|
| - }
|
| - SetNeedsAnimate();
|
| +
|
| + if (scroll.IsZero())
|
| + return;
|
| +
|
| + ScrollViewportBy(gfx::ScaleVector2d(
|
| + scroll, 1.f / active_tree_->total_page_scale_factor()));
|
| + SetNeedsRedraw();
|
| + client_->SetNeedsCommitOnImplThread();
|
| + client_->RenewTreePriority();
|
| }
|
|
|
| void LayerTreeHostImpl::AnimateLayers(base::TimeTicks monotonic_time) {
|
|
|