| Index: app/slide_animation.cc
 | 
| diff --git a/app/slide_animation.cc b/app/slide_animation.cc
 | 
| index ca468d2bc94e49800a6053e320289d5022f7a95e..c79e3ec308201b5dc12a2022d1c8d8914996cc14 100644
 | 
| --- a/app/slide_animation.cc
 | 
| +++ b/app/slide_animation.cc
 | 
| @@ -1,4 +1,4 @@
 | 
| -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
 | 
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
 | 
|  // Use of this source code is governed by a BSD-style license that can be
 | 
|  // found in the LICENSE file.
 | 
|  
 | 
| @@ -13,9 +13,9 @@ static const int kDefaultFramerateHz = 50;
 | 
|  static const int kDefaultDurationMs = 120;
 | 
|  
 | 
|  SlideAnimation::SlideAnimation(AnimationDelegate* target)
 | 
| -    : Animation(kDefaultFramerateHz, target),
 | 
| +    : LinearAnimation(kDefaultFramerateHz, target),
 | 
|        target_(target),
 | 
| -      tween_type_(EASE_OUT),
 | 
| +      tween_type_(Tween::EASE_OUT),
 | 
|        showing_(false),
 | 
|        value_start_(0),
 | 
|        value_end_(0),
 | 
| @@ -84,36 +84,13 @@ void SlideAnimation::AnimateToState(double state) {
 | 
|    if (state > 1.0)
 | 
|      state = 1.0;
 | 
|  
 | 
| -  // Make our animation ease-out.
 | 
| -  switch (tween_type_) {
 | 
| -    case EASE_IN:
 | 
| -      state = pow(state, 2);
 | 
| -      break;
 | 
| -    case EASE_IN_OUT:
 | 
| -      if (state < 0.5)
 | 
| -        state = pow(state * 2, 2) / 2.0;
 | 
| -      else
 | 
| -        state = 1.0 - (pow((state - 1.0) * 2, 2) / 2.0);
 | 
| -      break;
 | 
| -    case FAST_IN_OUT:
 | 
| -      state = (pow(state - 0.5, 3) + 0.125) / 0.25;
 | 
| -      break;
 | 
| -    case NONE:
 | 
| -      // state remains linear.
 | 
| -      break;
 | 
| -    case EASE_OUT_SNAP:
 | 
| -      state = 0.95 * (1.0 - pow(1.0 - state, 2));
 | 
| -      break;
 | 
| -    case EASE_OUT:
 | 
| -    default:
 | 
| -      state = 1.0 - pow(1.0 - state, 2);
 | 
| -      break;
 | 
| -  }
 | 
| +  state = Tween::CalculateValue(tween_type_, state);
 | 
|  
 | 
|    value_current_ = value_start_ + (value_end_ - value_start_) * state;
 | 
|  
 | 
|    // Implement snapping.
 | 
| -  if (tween_type_ == EASE_OUT_SNAP && fabs(value_current_ - value_end_) <= 0.06)
 | 
| +  if (tween_type_ == Tween::EASE_OUT_SNAP &&
 | 
| +      fabs(value_current_ - value_end_) <= 0.06)
 | 
|      value_current_ = value_end_;
 | 
|  
 | 
|    // Correct for any overshoot (while state may be capped at 1.0, let's not
 | 
| 
 |