Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(238)

Unified Diff: ui/views/corewm/window_animations.cc

Issue 139013006: Revert 245031 "This CL" (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1795/src/
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/corewm/window_animations.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/corewm/window_animations.cc
===================================================================
--- ui/views/corewm/window_animations.cc (revision 245869)
+++ ui/views/corewm/window_animations.cc (working copy)
@@ -56,8 +56,7 @@
DEFINE_WINDOW_PROPERTY_KEY(int,
kWindowVisibilityAnimationTypeKey,
WINDOW_VISIBILITY_ANIMATION_TYPE_DEFAULT);
-DEFINE_WINDOW_PROPERTY_KEY(int, kWindowShowAnimationDurationKey, 0);
-DEFINE_WINDOW_PROPERTY_KEY(int, kWindowHideAnimationDurationKey, 0);
+DEFINE_WINDOW_PROPERTY_KEY(int, kWindowVisibilityAnimationDurationKey, 0);
DEFINE_WINDOW_PROPERTY_KEY(WindowVisibilityAnimationTransition,
kWindowVisibilityAnimationTransitionKey,
ANIMATE_BOTH);
@@ -67,7 +66,6 @@
namespace {
-const int kDefaultAnimationDurationMS = 200;
const int kDefaultAnimationDurationForMenuMS = 150;
const float kWindowAnimation_HideOpacity = 0.f;
@@ -86,11 +84,14 @@
const int kWindowAnimation_Bounce_DurationMS = 180;
const int kWindowAnimation_Bounce_GrowShrinkDurationPercent = 40;
-base::TimeDelta GetDefaultWindowVisibilityAnimationDuration(
- aura::Window* window) {
- int duration_ms = (window->type() == ui::wm::WINDOW_TYPE_MENU) ?
- kDefaultAnimationDurationForMenuMS : kDefaultAnimationDurationMS;
- return base::TimeDelta::FromMilliseconds(duration_ms);
+base::TimeDelta GetWindowVisibilityAnimationDuration(aura::Window* window) {
+ int duration =
+ window->GetProperty(kWindowVisibilityAnimationDurationKey);
+ if (duration == 0 && window->type() == ui::wm::WINDOW_TYPE_MENU) {
+ return base::TimeDelta::FromMilliseconds(
+ kDefaultAnimationDurationForMenuMS);
+ }
+ return TimeDelta::FromInternalValue(duration);
}
// Gets/sets the WindowVisibilityAnimationType associated with a window.
@@ -254,9 +255,9 @@
{
// Property sets within this scope will be implicitly animated.
ui::ScopedLayerAnimationSettings settings(window->layer()->GetAnimator());
- base::TimeDelta duration = GetWindowShowAnimationDuration(window,
- GetDefaultWindowVisibilityAnimationDuration(window));
- settings.SetTransitionDuration(duration);
+ base::TimeDelta duration = GetWindowVisibilityAnimationDuration(window);
+ if (duration.ToInternalValue() > 0)
+ settings.SetTransitionDuration(duration);
window->layer()->SetTransform(end_transform);
window->layer()->SetOpacity(kWindowAnimation_ShowOpacity);
@@ -272,11 +273,12 @@
// Property sets within this scope will be implicitly animated.
ui::ScopedLayerAnimationSettings settings(window->layer()->GetAnimator());
- settings.AddObserver(CreateHidingWindowAnimationObserver(window));
- base::TimeDelta duration = GetWindowHideAnimationDuration(window,
- GetDefaultWindowVisibilityAnimationDuration(window));
- settings.SetTransitionDuration(duration);
+ settings.AddObserver(new HidingWindowAnimationObserver(window));
+ base::TimeDelta duration = GetWindowVisibilityAnimationDuration(window);
+ if (duration.ToInternalValue() > 0)
+ settings.SetTransitionDuration(duration);
+
window->layer()->SetOpacity(kWindowAnimation_HideOpacity);
window->layer()->SetTransform(end_transform);
window->layer()->SetVisible(false);
@@ -368,26 +370,17 @@
void AddLayerAnimationsForRotate(aura::Window* window, bool show) {
window->layer()->set_delegate(window);
- if (show) {
+ if (show)
window->layer()->SetOpacity(kWindowAnimation_HideOpacity);
- window->layer()->SetVisible(true);
- }
- base::TimeDelta default_duration = base::TimeDelta::FromMilliseconds(
+ base::TimeDelta duration = base::TimeDelta::FromMilliseconds(
kWindowAnimation_Rotate_DurationMS);
- base::TimeDelta duration = show ?
- GetWindowShowAnimationDuration(window, default_duration) :
- GetWindowHideAnimationDuration(window, default_duration);
- ui::ScopedLayerAnimationSettings settings(window->layer()->GetAnimator());
- settings.SetTransitionDuration(duration);
-
if (!show) {
- settings.AddObserver(CreateHidingWindowAnimationObserver(window));
+ new HidingWindowAnimationObserver(window);
window->layer()->GetAnimator()->SchedulePauseForProperties(
duration * (100 - kWindowAnimation_Rotate_OpacityDurationPercent) / 100,
ui::LayerAnimationElement::OPACITY);
- window->layer()->SetVisible(false);
}
scoped_ptr<ui::LayerAnimationElement> opacity(
ui::LayerAnimationElement::CreateOpacityElement(
@@ -529,34 +522,12 @@
return (prop & transition) != 0;
}
-void SetWindowShowAnimationDuration(aura::Window* window,
- const base::TimeDelta& duration) {
- window->SetProperty(kWindowShowAnimationDurationKey,
+void SetWindowVisibilityAnimationDuration(aura::Window* window,
+ const TimeDelta& duration) {
+ window->SetProperty(kWindowVisibilityAnimationDurationKey,
static_cast<int>(duration.ToInternalValue()));
}
-void SetWindowHideAnimationDuration(aura::Window* window,
- const base::TimeDelta& duration) {
- window->SetProperty(kWindowHideAnimationDurationKey,
- static_cast<int>(duration.ToInternalValue()));
-}
-
-base::TimeDelta GetWindowShowAnimationDuration(
- aura::Window* window,
- const base::TimeDelta& default_duration) {
- int duration = window->GetProperty(kWindowShowAnimationDurationKey);
- return (duration == 0) ?
- default_duration : base::TimeDelta::FromInternalValue(duration);
-}
-
-base::TimeDelta GetWindowHideAnimationDuration(
- aura::Window* window,
- const base::TimeDelta& default_duration) {
- int duration = window->GetProperty(kWindowHideAnimationDurationKey);
- return (duration == 0) ?
- default_duration : base::TimeDelta::FromInternalValue(duration);
-}
-
void SetWindowVisibilityAnimationVerticalPosition(aura::Window* window,
float position) {
window->SetProperty(kWindowVisibilityAnimationVerticalPositionKey, position);
« no previous file with comments | « ui/views/corewm/window_animations.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698