Index: content/browser/web_contents/aura/overscroll_window_animation_unittest.cc |
diff --git a/content/browser/web_contents/aura/overscroll_window_animation_unittest.cc b/content/browser/web_contents/aura/overscroll_window_animation_unittest.cc |
deleted file mode 100644 |
index 527b0c7bd6ef8880d064e7d6a6353a0e6e6e5b86..0000000000000000000000000000000000000000 |
--- a/content/browser/web_contents/aura/overscroll_window_animation_unittest.cc |
+++ /dev/null |
@@ -1,226 +0,0 @@ |
-// Copyright 2015 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 "content/browser/web_contents/aura/overscroll_window_animation.h" |
- |
-#include "testing/gtest/include/gtest/gtest.h" |
-#include "ui/aura/test/aura_test_base.h" |
-#include "ui/aura/window.h" |
-#include "ui/compositor/scoped_animation_duration_scale_mode.h" |
-#include "ui/compositor/scoped_layer_animation_settings.h" |
-#include "ui/compositor/test/layer_animator_test_controller.h" |
-#include "ui/gfx/frame_time.h" |
- |
-namespace content { |
- |
-class OverscrollWindowAnimationTest |
- : public OverscrollWindowAnimation::Delegate, |
- public aura::test::AuraTestBase { |
- public: |
- OverscrollWindowAnimationTest() |
- : create_window_(true), |
- overscroll_started_(false), |
- overscroll_completing_(false), |
- overscroll_completed_(false), |
- overscroll_aborted_(false), |
- main_window_(nullptr) {} |
- |
- ~OverscrollWindowAnimationTest() override {} |
- |
- OverscrollWindowAnimation* owa() { return owa_.get(); } |
- |
- // Set to true to return a window in the Create*Window functions, false to |
- // return null. |
- void set_create_window(bool create_window) { create_window_ = create_window; } |
- |
- // The following functions indicate if the events have been called on this |
- // delegate. |
- bool overscroll_started() { return overscroll_started_; } |
- bool overscroll_completing() { return overscroll_completing_; } |
- bool overscroll_completed() { return overscroll_completed_; } |
- bool overscroll_aborted() { return overscroll_aborted_; } |
- |
- void ResetFlags() { |
- overscroll_started_ = false; |
- overscroll_completing_ = false; |
- overscroll_completed_ = false; |
- overscroll_aborted_ = false; |
- } |
- |
- protected: |
- // aura::test::AuraTestBase: |
- void SetUp() override { |
- aura::test::AuraTestBase::SetUp(); |
- main_window_.reset(CreateNormalWindow(0, root_window(), nullptr)); |
- ResetFlags(); |
- create_window_ = true; |
- last_window_id_ = 0; |
- owa_.reset(new OverscrollWindowAnimation(this)); |
- } |
- |
- void TearDown() override { |
- owa_.reset(); |
- main_window_.reset(); |
- aura::test::AuraTestBase::TearDown(); |
- } |
- |
- // OverscrollWindowAnimation::Delegate: |
- scoped_ptr<aura::Window> CreateFrontWindow(const gfx::Rect& bounds) override { |
- return CreateSlideWindow(bounds); |
- } |
- |
- scoped_ptr<aura::Window> CreateBackWindow(const gfx::Rect& bounds) override { |
- return CreateSlideWindow(bounds); |
- } |
- |
- aura::Window* GetMainWindow() const override { return main_window_.get(); } |
- |
- void OnOverscrollCompleting() override { overscroll_completing_ = true; } |
- |
- void OnOverscrollCompleted(scoped_ptr<aura::Window> window) override { |
- overscroll_completed_ = true; |
- } |
- |
- void OnOverscrollCancelled() override { overscroll_aborted_ = true; } |
- |
- private: |
- // The overscroll window animation under test. |
- scoped_ptr<OverscrollWindowAnimation> owa_; |
- |
- scoped_ptr<aura::Window> CreateSlideWindow(const gfx::Rect& bounds) { |
- overscroll_started_ = true; |
- if (create_window_) { |
- scoped_ptr<aura::Window> window( |
- CreateNormalWindow(++last_window_id_, root_window(), nullptr)); |
- window->SetBounds(bounds); |
- return window.Pass(); |
- } |
- return nullptr; |
- } |
- |
- // Controls if we return a window for the window creation callbacks or not. |
- bool create_window_; |
- |
- // State flags. |
- bool overscroll_started_; |
- bool overscroll_completing_; |
- bool overscroll_completed_; |
- bool overscroll_aborted_; |
- |
- int last_window_id_; |
- |
- // The dummy target window we provide. |
- scoped_ptr<aura::Window> main_window_; |
- |
- DISALLOW_COPY_AND_ASSIGN(OverscrollWindowAnimationTest); |
-}; |
- |
-// Tests a simple overscroll gesture. |
-TEST_F(OverscrollWindowAnimationTest, BasicOverscroll) { |
- EXPECT_FALSE(owa()->is_active()); |
- EXPECT_FALSE(overscroll_started()); |
- EXPECT_FALSE(overscroll_completing()); |
- EXPECT_FALSE(overscroll_completed()); |
- EXPECT_FALSE(overscroll_aborted()); |
- |
- // Start an OVERSCROLL_EAST gesture. |
- owa()->OnOverscrollModeChange(OVERSCROLL_NONE, OVERSCROLL_EAST); |
- EXPECT_TRUE(owa()->is_active()); |
- EXPECT_TRUE(overscroll_started()); |
- EXPECT_FALSE(overscroll_completing()); |
- EXPECT_FALSE(overscroll_completed()); |
- EXPECT_FALSE(overscroll_aborted()); |
- |
- // Complete the overscroll. |
- owa()->OnOverscrollComplete(OVERSCROLL_EAST); |
- EXPECT_FALSE(owa()->is_active()); |
- EXPECT_TRUE(overscroll_started()); |
- EXPECT_TRUE(overscroll_completing()); |
- EXPECT_TRUE(overscroll_completed()); |
- EXPECT_FALSE(overscroll_aborted()); |
-} |
- |
-// Tests aborting an overscroll gesture. |
-TEST_F(OverscrollWindowAnimationTest, BasicAbort) { |
- // Start an OVERSCROLL_EAST gesture. |
- owa()->OnOverscrollModeChange(OVERSCROLL_NONE, OVERSCROLL_EAST); |
- // Abort the overscroll. |
- owa()->OnOverscrollModeChange(OVERSCROLL_EAST, OVERSCROLL_NONE); |
- EXPECT_FALSE(owa()->is_active()); |
- EXPECT_TRUE(overscroll_started()); |
- EXPECT_FALSE(overscroll_completing()); |
- EXPECT_FALSE(overscroll_completed()); |
- EXPECT_TRUE(overscroll_aborted()); |
-} |
- |
-// Tests starting an overscroll gesture when the slide window cannot be created. |
-TEST_F(OverscrollWindowAnimationTest, BasicCannotNavigate) { |
- set_create_window(false); |
- // Start an OVERSCROLL_EAST gesture. |
- owa()->OnOverscrollModeChange(OVERSCROLL_NONE, OVERSCROLL_EAST); |
- EXPECT_FALSE(owa()->is_active()); |
- EXPECT_TRUE(overscroll_started()); |
- EXPECT_FALSE(overscroll_completing()); |
- EXPECT_FALSE(overscroll_completed()); |
- EXPECT_FALSE(overscroll_aborted()); |
-} |
- |
-// Tests starting an overscroll gesture while another one was in progress |
-// completes the first one. |
-TEST_F(OverscrollWindowAnimationTest, NewOverscrollCompletesPreviousGesture) { |
- // This test requires a normal animation duration so that |
- // OnImplicitAnimationsCancelled is not called as soon as the first overscroll |
- // finishes. |
- ui::ScopedAnimationDurationScaleMode normal_duration( |
- ui::ScopedAnimationDurationScaleMode::NORMAL_DURATION); |
- ui::LayerAnimator* animator = GetMainWindow()->layer()->GetAnimator(); |
- ui::ScopedLayerAnimationSettings settings(animator); |
- animator->set_disable_timer_for_test(true); |
- ui::LayerAnimatorTestController test_controller(animator); |
- // Start an OVERSCROLL_EAST gesture. |
- owa()->OnOverscrollModeChange(OVERSCROLL_NONE, OVERSCROLL_EAST); |
- |
- // Finishes the OVERSCROLL_EAST gesture. At this point the window should be |
- // being animated to its final position. |
- owa()->OnOverscrollComplete(OVERSCROLL_EAST); |
- EXPECT_TRUE(owa()->is_active()); |
- EXPECT_TRUE(overscroll_started()); |
- EXPECT_TRUE(overscroll_completing()); |
- EXPECT_FALSE(overscroll_completed()); |
- EXPECT_FALSE(overscroll_aborted()); |
- |
- // Start another OVERSCROLL_EAST gesture. |
- owa()->OnOverscrollModeChange(OVERSCROLL_NONE, OVERSCROLL_EAST); |
- EXPECT_TRUE(owa()->is_active()); |
- EXPECT_TRUE(overscroll_started()); |
- EXPECT_TRUE(overscroll_completing()); |
- EXPECT_TRUE(overscroll_completed()); |
- EXPECT_FALSE(overscroll_aborted()); |
- |
- // Complete the overscroll gesture. |
- ResetFlags(); |
- owa()->OnOverscrollComplete(OVERSCROLL_EAST); |
- |
- base::TimeDelta duration = settings.GetTransitionDuration(); |
- test_controller.StartThreadedAnimationsIfNeeded(); |
- base::TimeTicks start_time = gfx::FrameTime::Now(); |
- |
- // Halfway through the animation, OverscrollCompleting should have been fired. |
- animator->Step(start_time + duration / 2); |
- EXPECT_TRUE(owa()->is_active()); |
- EXPECT_FALSE(overscroll_started()); |
- EXPECT_TRUE(overscroll_completing()); |
- EXPECT_FALSE(overscroll_completed()); |
- EXPECT_FALSE(overscroll_aborted()); |
- |
- // The animation has finished, OverscrollCompleted should have been fired. |
- animator->Step(start_time + duration); |
- EXPECT_FALSE(owa()->is_active()); |
- EXPECT_FALSE(overscroll_started()); |
- EXPECT_TRUE(overscroll_completing()); |
- EXPECT_TRUE(overscroll_completed()); |
- EXPECT_FALSE(overscroll_aborted()); |
-} |
- |
-} // namespace content |