| Index: ash/wm/window_animations.cc
|
| diff --git a/ash/wm/window_animations.cc b/ash/wm/window_animations.cc
|
| index 66831b27469b20f4c13e2fe74575932383d149d9..bd56fa0f344ec85fc811678242415995779f6a38 100644
|
| --- a/ash/wm/window_animations.cc
|
| +++ b/ash/wm/window_animations.cc
|
| @@ -87,9 +87,6 @@ const float kWindowAnimation_ScaleFactor = .95f;
|
| // TODO(sky): if we end up sticking with 0, nuke the code doing the rotation.
|
| const float kWindowAnimation_MinimizeRotate = 0.f;
|
|
|
| -// Amount windows are scaled during workspace animations.
|
| -const float kWorkspaceScale = .95f;
|
| -
|
| // Tween type when cross fading a workspace window.
|
| const ui::Tween::Type kCrossFadeTweenType = ui::Tween::EASE_IN_OUT;
|
|
|
| @@ -321,81 +318,6 @@ void AnimateHideWindow_Fade(aura::Window* window) {
|
| AnimateHideWindowCommon(window, gfx::Transform());
|
| }
|
|
|
| -// Builds the transform used when switching workspaces for the specified
|
| -// window.
|
| -gfx::Transform BuildWorkspaceSwitchTransform(aura::Window* window,
|
| - float scale) {
|
| - // Animations for transitioning workspaces scale all windows. To give the
|
| - // effect of scaling from the center of the screen the windows are translated.
|
| - gfx::Rect bounds = window->bounds();
|
| - gfx::Rect parent_bounds(window->parent()->bounds());
|
| -
|
| - float mid_x = static_cast<float>(parent_bounds.width()) / 2.0f;
|
| - float initial_x =
|
| - (static_cast<float>(bounds.x()) - mid_x) * scale + mid_x;
|
| - float mid_y = static_cast<float>(parent_bounds.height()) / 2.0f;
|
| - float initial_y =
|
| - (static_cast<float>(bounds.y()) - mid_y) * scale + mid_y;
|
| -
|
| - gfx::Transform transform;
|
| - transform.ConcatTranslate(
|
| - initial_x - static_cast<float>(bounds.x()),
|
| - initial_y - static_cast<float>(bounds.y()));
|
| - transform.ConcatScale(scale, scale);
|
| - return transform;
|
| -}
|
| -
|
| -void AnimateShowWindow_Workspace(aura::Window* window) {
|
| - gfx::Transform transform(
|
| - BuildWorkspaceSwitchTransform(window, kWorkspaceScale));
|
| - // When we call SetOpacity here, if a hide sequence is already running,
|
| - // the default animation preemption strategy fast forwards the hide sequence
|
| - // to completion and notifies the WorkspaceHidingWindowAnimationObserver to
|
| - // set the layer to be invisible. We should call SetVisible after SetOpacity
|
| - // to ensure our layer is visible again.
|
| - window->layer()->SetOpacity(0.0f);
|
| - window->layer()->SetTransform(transform);
|
| - window->layer()->SetVisible(true);
|
| -
|
| - {
|
| - // Property sets within this scope will be implicitly animated.
|
| - ui::ScopedLayerAnimationSettings settings(window->layer()->GetAnimator());
|
| -
|
| - window->layer()->SetTransform(gfx::Transform());
|
| - // Opacity animates only during the first half of the animation.
|
| - settings.SetTransitionDuration(settings.GetTransitionDuration() / 2);
|
| - window->layer()->SetOpacity(1.0f);
|
| - }
|
| -}
|
| -
|
| -void AnimateHideWindow_Workspace(aura::Window* window) {
|
| - gfx::Transform transform(
|
| - BuildWorkspaceSwitchTransform(window, kWorkspaceScale));
|
| - window->layer()->SetOpacity(1.0f);
|
| - window->layer()->SetTransform(gfx::Transform());
|
| -
|
| - // Opacity animates from 1 to 0 only over the second half of the animation. To
|
| - // get this functionality two animations are schedule for opacity, the first
|
| - // from 1 to 1 (which effectively does nothing) the second from 1 to 0.
|
| - // Because we're scheduling two animations of the same property we need to
|
| - // change the preemption strategy.
|
| - ui::LayerAnimator* animator = window->layer()->GetAnimator();
|
| - animator->set_preemption_strategy(ui::LayerAnimator::ENQUEUE_NEW_ANIMATION);
|
| - {
|
| - // Property sets within this scope will be implicitly animated.
|
| - ui::ScopedLayerAnimationSettings settings(window->layer()->GetAnimator());
|
| - // Add an observer that sets visibility of the layer to false once animation
|
| - // completes.
|
| - settings.AddObserver(new WorkspaceHidingWindowAnimationObserver(window));
|
| - window->layer()->SetTransform(transform);
|
| - settings.SetTransitionDuration(settings.GetTransitionDuration() / 2);
|
| - window->layer()->SetOpacity(1.0f);
|
| - window->layer()->SetOpacity(0.0f);
|
| - }
|
| - animator->set_preemption_strategy(
|
| - ui::LayerAnimator::IMMEDIATELY_SET_NEW_TARGET);
|
| -}
|
| -
|
| gfx::Rect GetMinimizeRectForWindow(aura::Window* window) {
|
| gfx::Rect target_bounds = Shell::GetInstance()->launcher()->
|
| GetScreenBoundsOfItemIconForWindow(window);
|
| @@ -583,9 +505,6 @@ bool AnimateShowWindow(aura::Window* window) {
|
| case WINDOW_VISIBILITY_ANIMATION_TYPE_FADE:
|
| AnimateShowWindow_Fade(window);
|
| return true;
|
| - case WINDOW_VISIBILITY_ANIMATION_TYPE_WORKSPACE_SHOW:
|
| - AnimateShowWindow_Workspace(window);
|
| - return true;
|
| case WINDOW_VISIBILITY_ANIMATION_TYPE_MINIMIZE:
|
| AnimateShowWindow_Minimize(window);
|
| return true;
|
| @@ -612,9 +531,6 @@ bool AnimateHideWindow(aura::Window* window) {
|
| case WINDOW_VISIBILITY_ANIMATION_TYPE_FADE:
|
| AnimateHideWindow_Fade(window);
|
| return true;
|
| - case WINDOW_VISIBILITY_ANIMATION_TYPE_WORKSPACE_HIDE:
|
| - AnimateHideWindow_Workspace(window);
|
| - return true;
|
| case WINDOW_VISIBILITY_ANIMATION_TYPE_MINIMIZE:
|
| AnimateHideWindow_Minimize(window);
|
| return true;
|
| @@ -842,19 +758,17 @@ TimeDelta GetCrossFadeDuration(const gfx::Rect& old_bounds,
|
| ash::switches::kAshWindowAnimationsDisabled))
|
| return base::TimeDelta();
|
|
|
| - const int min_time_ms = internal::WorkspaceController::IsWorkspace2Enabled() ?
|
| - internal::kWorkspaceSwitchTimeMS : 0;
|
| int old_area = old_bounds.width() * old_bounds.height();
|
| int new_area = new_bounds.width() * new_bounds.height();
|
| int max_area = std::max(old_area, new_area);
|
| // Avoid divide by zero.
|
| if (max_area == 0)
|
| - return TimeDelta::FromMilliseconds(min_time_ms);
|
| + return TimeDelta::FromMilliseconds(internal::kWorkspaceSwitchTimeMS);
|
|
|
| int delta_area = std::abs(old_area - new_area);
|
| // If the area didn't change, the animation is instantaneous.
|
| if (delta_area == 0)
|
| - return TimeDelta::FromMilliseconds(min_time_ms);
|
| + return TimeDelta::FromMilliseconds(internal::kWorkspaceSwitchTimeMS);
|
|
|
| float factor =
|
| static_cast<float>(delta_area) / static_cast<float>(max_area);
|
|
|