Don't clobber active page scale animation with null pointer.
r297913 introduced the bug that if another activation happens
during a page scale animation, it's clobbered by a null pointer.
Only copy into LTHI::page_scale_animation_ when the LTI has an instance
of it.
NOTRY=true
BUG=419450
Review URL: https://codereview.chromium.org/650353003
Cr-Commit-Position: refs/heads/master@{#299421}
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 4af0fdf..d022fdc7 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -1887,8 +1887,10 @@
if (time_source_client_adapter_ && time_source_client_adapter_->Active())
DCHECK(active_tree_->root_layer());
- page_scale_animation_ = active_tree_->TakePageScaleAnimation();
- if (page_scale_animation_) {
+ scoped_ptr<PageScaleAnimation> page_scale_animation =
+ active_tree_->TakePageScaleAnimation();
+ if (page_scale_animation) {
+ page_scale_animation_ = page_scale_animation.Pass();
SetNeedsAnimate();
client_->SetNeedsCommitOnImplThread();
client_->RenewTreePriority();