#include "ui/wm/core/window_animations.h"
#include <memory>
#include "base/containers/contains.h"
#include "base/ranges/algorithm.h"
#include "base/time/time.h"
#include "ui/aura/test/aura_test_base.h"
#include "ui/aura/test/test_windows.h"
#include "ui/aura/window.h"
#include "ui/compositor/layer.h"
#include "ui/compositor/layer_animator.h"
#include "ui/compositor/scoped_animation_duration_scale_mode.h"
#include "ui/gfx/animation/animation_container_element.h"
#include "ui/gfx/geometry/vector2d.h"
#include "ui/wm/core/transient_window_manager.h"
#include "ui/wm/core/transient_window_stacking_client.h"
#include "ui/wm/core/window_util.h"
#include "ui/wm/public/animation_host.h"
Window;
Layer;
namespace wm {
namespace {
template<typename T>int GetZPosition(const T* child) { … }
int GetWindowZPosition(const aura::Window* child) { … }
int GetLayerZPosition(const ui::Layer* child) { … }
}
class WindowAnimationsTest : public aura::test::AuraTestBase { … };
TEST_F(WindowAnimationsTest, LayerTargetVisibility) { … }
TEST_F(WindowAnimationsTest, LayerTargetVisibility_AnimateShow) { … }
TEST_F(WindowAnimationsTest, LayerTargetVisibility_AnimateHide) { … }
TEST_F(WindowAnimationsTest, HideAnimationDetachLayers) { … }
TEST_F(WindowAnimationsTest, HideAnimationDetachLayersWithTransientChildren) { … }
class NotifyHideCompletedAnimationHost : public AnimationHost { … };
TEST_F(WindowAnimationsTest, NotifyHideCompleted) { … }
TEST_F(WindowAnimationsTest, RotateHideNoLeak) { … }
TEST_F(WindowAnimationsTest, RotateHideNoCrashZeroDuration) { … }
TEST_F(WindowAnimationsTest, RotateHideCreatesNewLayer) { … }
TEST_F(WindowAnimationsTest, RotateHideNoCrash) { … }
}