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

Unified Diff: ash/wm/dock/docked_window_layout_manager.cc

Issue 105673008: Remove unneeded ScopedLayerAnimationSettings::LockTransitionDuration() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 12 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
Index: ash/wm/dock/docked_window_layout_manager.cc
diff --git a/ash/wm/dock/docked_window_layout_manager.cc b/ash/wm/dock/docked_window_layout_manager.cc
index 4d72f1b045c08e1b948a55874313d1d4ffe7a537..60a00de0de3a5390c02632a7ccb305e595848315 100644
--- a/ash/wm/dock/docked_window_layout_manager.cc
+++ b/ash/wm/dock/docked_window_layout_manager.cc
@@ -150,6 +150,7 @@ class DockedBackgroundWidget : public views::Widget,
params.accept_events = false;
set_focus_on_creation(false);
Init(params);
+ SetVisibilityChangedAnimationsEnabled(false);
GetNativeWindow()->SetProperty(internal::kStayInSameRootWindowKey, true);
opaque_background_.SetColor(SK_ColorBLACK);
opaque_background_.SetBounds(gfx::Rect(GetWindowBoundsInScreen().size()));
@@ -464,12 +465,18 @@ void DockedWindowLayoutManager::FinishDragging(DockedAction action,
wm::GetWindowState(dragged_window_)->RemoveObserver(this);
if (last_active_window_ == dragged_window_)
last_active_window_ = NULL;
+
+ views::corewm::SetWindowShowAnimationDuration(dragged_window_,
+ base::TimeDelta());
varkha 2014/01/02 22:26:41 nit: Could this be called once after if-else?
pkotwicz 2014/01/02 22:45:51 Given that the two durations are different, I do n
} else {
// A window is no longer dragged and is a child.
// When a window becomes a child at drag start this is
// the only opportunity we will have to enforce a window
// count limit so do it here.
MaybeMinimizeChildrenExcept(dragged_window_);
+
+ views::corewm::SetWindowShowAnimationDuration(dragged_window_,
+ base::TimeDelta::FromMilliseconds(kFadeDurationMs));
}
dragged_window_ = NULL;
dragged_bounds_ = gfx::Rect();
@@ -603,6 +610,8 @@ void DockedWindowLayoutManager::OnWindowAddedToLayout(aura::Window* child) {
wm::GetWindowState(child)->AddObserver(this);
Relayout();
UpdateDockBounds(DockedWindowLayoutManagerObserver::CHILD_CHANGED);
+ views::corewm::SetWindowShowAnimationDuration(child,
+ base::TimeDelta::FromMilliseconds(kFadeDurationMs));
}
void DockedWindowLayoutManager::OnWindowRemovedFromLayout(aura::Window* child) {
@@ -624,6 +633,7 @@ void DockedWindowLayoutManager::OnWindowRemovedFromLayout(aura::Window* child) {
wm::GetWindowState(child)->RemoveObserver(this);
Relayout();
UpdateDockBounds(DockedWindowLayoutManagerObserver::CHILD_CHANGED);
+ views::corewm::SetWindowShowAnimationDuration(child, base::TimeDelta());
}
void DockedWindowLayoutManager::OnChildWindowVisibilityChanged(
@@ -762,21 +772,6 @@ void DockedWindowLayoutManager::OnWindowBoundsChanged(
Relayout();
}
-void DockedWindowLayoutManager::OnWindowVisibilityChanging(
- aura::Window* window, bool visible) {
- if (IsPopupOrTransient(window))
- return;
- int animation_type = views::corewm::WINDOW_VISIBILITY_ANIMATION_TYPE_DEFAULT;
- if (visible) {
- animation_type = views::corewm::WINDOW_VISIBILITY_ANIMATION_TYPE_DROP;
- views::corewm::SetWindowVisibilityAnimationDuration(
- window, base::TimeDelta::FromMilliseconds(kFadeDurationMs));
- } else if (wm::GetWindowState(window)->IsMinimized()) {
- animation_type = WINDOW_VISIBILITY_ANIMATION_TYPE_MINIMIZE;
- }
- views::corewm::SetWindowVisibilityAnimationType(window, animation_type);
-}
-
void DockedWindowLayoutManager::OnWindowDestroying(aura::Window* window) {
if (dragged_window_ == window) {
FinishDragging(DOCKED_ACTION_NONE, DOCKED_ACTION_SOURCE_UNKNOWN);
@@ -832,21 +827,25 @@ void DockedWindowLayoutManager::MaybeMinimizeChildrenExcept(
if (available_room > room_needed) {
available_room -= room_needed;
} else {
- // Slow down minimizing animations. Lock duration so that it is not
- // overridden by other ScopedLayerAnimationSettings down the stack.
- ui::ScopedLayerAnimationSettings settings(window->layer()->GetAnimator());
- settings.SetTransitionDuration(
+ // Slow down the minimize animation.
+ views::corewm::SetWindowHideAnimationDuration(
+ window,
base::TimeDelta::FromMilliseconds(kMinimizeDurationMs));
- settings.LockTransitionDuration();
wm::GetWindowState(window)->Minimize();
+ views::corewm::SetWindowHideAnimationDuration(window, base::TimeDelta());
}
}
}
void DockedWindowLayoutManager::MinimizeDockedWindow(
wm::WindowState* window_state) {
- DCHECK(!IsPopupOrTransient(window_state->window()));
- window_state->window()->Hide();
+ aura::Window* window = window_state->window();
+ DCHECK(!IsPopupOrTransient(window));
+ views::corewm::SetWindowVisibilityAnimationType(window,
+ ash::WINDOW_VISIBILITY_ANIMATION_TYPE_MINIMIZE);
+ window->Hide();
+ views::corewm::SetWindowVisibilityAnimationType(window,
+ views::corewm::WINDOW_VISIBILITY_ANIMATION_TYPE_DEFAULT);
if (window_state->IsActive())
window_state->Deactivate();
RecordUmaAction(DOCKED_ACTION_MINIMIZE, DOCKED_ACTION_SOURCE_UNKNOWN);

Powered by Google App Engine
This is Rietveld 408576698