| Index: ui/views/corewm/visibility_controller.cc
|
| diff --git a/ui/views/corewm/visibility_controller.cc b/ui/views/corewm/visibility_controller.cc
|
| deleted file mode 100644
|
| index c34f4f379f8689019251f99966f128bcb813fd06..0000000000000000000000000000000000000000
|
| --- a/ui/views/corewm/visibility_controller.cc
|
| +++ /dev/null
|
| @@ -1,87 +0,0 @@
|
| -// Copyright (c) 2012 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.
|
| -
|
| -#include "ui/views/corewm/visibility_controller.h"
|
| -
|
| -#include "ui/aura/window.h"
|
| -#include "ui/aura/window_property.h"
|
| -#include "ui/compositor/layer.h"
|
| -#include "ui/views/corewm/window_animations.h"
|
| -
|
| -namespace views {
|
| -namespace corewm {
|
| -
|
| -namespace {
|
| -
|
| -// Property set on all windows whose child windows' visibility changes are
|
| -// animated.
|
| -DEFINE_WINDOW_PROPERTY_KEY(
|
| - bool, kChildWindowVisibilityChangesAnimatedKey, false);
|
| -
|
| -bool ShouldAnimateWindow(aura::Window* window) {
|
| - return window->parent() && window->parent()->GetProperty(
|
| - kChildWindowVisibilityChangesAnimatedKey);
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -VisibilityController::VisibilityController() {
|
| -}
|
| -
|
| -VisibilityController::~VisibilityController() {
|
| -}
|
| -
|
| -bool VisibilityController::CallAnimateOnChildWindowVisibilityChanged(
|
| - aura::Window* window,
|
| - bool visible) {
|
| - return AnimateOnChildWindowVisibilityChanged(window, visible);
|
| -}
|
| -
|
| -void VisibilityController::UpdateLayerVisibility(aura::Window* window,
|
| - bool visible) {
|
| - bool animated = window->type() != ui::wm::WINDOW_TYPE_CONTROL &&
|
| - window->type() != ui::wm::WINDOW_TYPE_UNKNOWN &&
|
| - ShouldAnimateWindow(window);
|
| - animated = animated &&
|
| - CallAnimateOnChildWindowVisibilityChanged(window, visible);
|
| -
|
| - if (!visible) {
|
| - // For window hiding animation, we want to check if the window is already
|
| - // animating, and not do SetVisible(false) if it is.
|
| - // TODO(vollick): remove this.
|
| - animated = animated || (window->layer()->GetAnimator()->
|
| - IsAnimatingProperty(ui::LayerAnimationElement::OPACITY) &&
|
| - window->layer()->GetTargetOpacity() == 0.0f);
|
| - }
|
| -
|
| - // When a window is made visible, we always make its layer visible
|
| - // immediately. When a window is hidden, the layer must be left visible and
|
| - // only made not visible once the animation is complete.
|
| - if (!animated || visible)
|
| - window->layer()->SetVisible(visible);
|
| -}
|
| -
|
| -SuspendChildWindowVisibilityAnimations::SuspendChildWindowVisibilityAnimations(
|
| - aura::Window* window)
|
| - : window_(window),
|
| - original_enabled_(window->GetProperty(
|
| - kChildWindowVisibilityChangesAnimatedKey)) {
|
| - window_->ClearProperty(kChildWindowVisibilityChangesAnimatedKey);
|
| -}
|
| -
|
| -SuspendChildWindowVisibilityAnimations::
|
| - ~SuspendChildWindowVisibilityAnimations() {
|
| - if (original_enabled_)
|
| - window_->SetProperty(kChildWindowVisibilityChangesAnimatedKey, true);
|
| - else
|
| - window_->ClearProperty(kChildWindowVisibilityChangesAnimatedKey);
|
| -}
|
| -
|
| -void SetChildWindowVisibilityChangesAnimated(aura::Window* window) {
|
| - window->SetProperty(kChildWindowVisibilityChangesAnimatedKey, true);
|
| -}
|
| -
|
| -} // namespace corewm
|
| -} // namespace views
|
| -
|
|
|