| Index: ash/wm/window_animations.cc
|
| diff --git a/ash/wm/window_animations.cc b/ash/wm/window_animations.cc
|
| index ae7188a323f1b1a58a8a2b44cee44cc815e2d99f..dc010c45b8ee891f004356bd814d0c48e66e7bda 100644
|
| --- a/ash/wm/window_animations.cc
|
| +++ b/ash/wm/window_animations.cc
|
| @@ -71,7 +71,9 @@ int64 Round64(float f) {
|
|
|
| const int kCrossFadeDurationMS = 200;
|
|
|
| -void AddLayerAnimationsForMinimize(aura::Window* window, bool show) {
|
| +void AddLayerAnimationsForMinimize(aura::Window* window,
|
| + const base::TimeDelta& duration,
|
| + bool show) {
|
| // Recalculate the transform at restore time since the launcher item may have
|
| // moved while the window was minimized.
|
| gfx::Rect bounds = window->bounds();
|
| @@ -105,9 +107,6 @@ void AddLayerAnimationsForMinimize(aura::Window* window, bool show) {
|
|
|
| rotation_about_pivot->SetReversed(show);
|
|
|
| - base::TimeDelta duration = window->layer()->GetAnimator()->
|
| - GetTransitionDuration();
|
| -
|
| scoped_ptr<ui::LayerAnimationElement> transition(
|
| ui::LayerAnimationElement::CreateInterpolatedTransformElement(
|
| rotation_about_pivot.release(), duration));
|
| @@ -137,10 +136,11 @@ void AnimateShowWindow_Minimize(aura::Window* window) {
|
| window->layer()->set_delegate(window);
|
| window->layer()->SetOpacity(kWindowAnimation_HideOpacity);
|
| ui::ScopedLayerAnimationSettings settings(window->layer()->GetAnimator());
|
| - base::TimeDelta duration = base::TimeDelta::FromMilliseconds(
|
| - kLayerAnimationsForMinimizeDurationMS);
|
| + base::TimeDelta duration = views::corewm::GetWindowShowAnimationDuration(
|
| + window,
|
| + base::TimeDelta::FromMilliseconds(kLayerAnimationsForMinimizeDurationMS));
|
| settings.SetTransitionDuration(duration);
|
| - AddLayerAnimationsForMinimize(window, true);
|
| + AddLayerAnimationsForMinimize(window, duration, true);
|
|
|
| // Now that the window has been restored, we need to clear its animation style
|
| // to default so that normal animation applies.
|
| @@ -153,14 +153,15 @@ void AnimateHideWindow_Minimize(aura::Window* window) {
|
|
|
| // Property sets within this scope will be implicitly animated.
|
| ui::ScopedLayerAnimationSettings settings(window->layer()->GetAnimator());
|
| - base::TimeDelta duration = base::TimeDelta::FromMilliseconds(
|
| - kLayerAnimationsForMinimizeDurationMS);
|
| + base::TimeDelta duration = views::corewm::GetWindowHideAnimationDuration(
|
| + window,
|
| + base::TimeDelta::FromMilliseconds(kLayerAnimationsForMinimizeDurationMS));
|
| settings.SetTransitionDuration(duration);
|
| settings.AddObserver(
|
| views::corewm::CreateHidingWindowAnimationObserver(window));
|
| window->layer()->SetVisible(false);
|
|
|
| - AddLayerAnimationsForMinimize(window, false);
|
| + AddLayerAnimationsForMinimize(window, duration, false);
|
| }
|
|
|
| void AnimateShowHideWindowCommon_BrightnessGrayscale(aura::Window* window,
|
| @@ -183,8 +184,11 @@ void AnimateShowHideWindowCommon_BrightnessGrayscale(aura::Window* window,
|
| window->layer()->SetVisible(true);
|
| }
|
|
|
| - base::TimeDelta duration =
|
| + base::TimeDelta default_duration =
|
| base::TimeDelta::FromMilliseconds(kBrightnessGrayscaleFadeDurationMs);
|
| + base::TimeDelta duration = show ?
|
| + views::corewm::GetWindowShowAnimationDuration(window, default_duration) :
|
| + views::corewm::GetWindowHideAnimationDuration(window, default_duration);
|
|
|
| ui::ScopedLayerAnimationSettings settings(window->layer()->GetAnimator());
|
| settings.SetTransitionDuration(duration);
|
|
|