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();