| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/web_contents/aura/window_slider.h" | 5 #include "content/browser/web_contents/aura/window_slider.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/time/time.h" | 8 #include "base/time/time.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 #include "ui/aura/test/aura_test_base.h" | 10 #include "ui/aura/test/aura_test_base.h" |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 ui::EventType type, | 65 ui::EventType type, |
| 66 const gfx::Vector2dF& delta) { | 66 const gfx::Vector2dF& delta) { |
| 67 EXPECT_FALSE(slider->IsSlideInProgress()); | 67 EXPECT_FALSE(slider->IsSlideInProgress()); |
| 68 } | 68 } |
| 69 | 69 |
| 70 // The window delegate does not receive any events. | 70 // The window delegate does not receive any events. |
| 71 class NoEventWindowDelegate : public aura::test::TestWindowDelegate { | 71 class NoEventWindowDelegate : public aura::test::TestWindowDelegate { |
| 72 public: | 72 public: |
| 73 NoEventWindowDelegate() { | 73 NoEventWindowDelegate() { |
| 74 } | 74 } |
| 75 virtual ~NoEventWindowDelegate() {} | 75 ~NoEventWindowDelegate() override {} |
| 76 | 76 |
| 77 private: | 77 private: |
| 78 // Overridden from aura::WindowDelegate: | 78 // Overridden from aura::WindowDelegate: |
| 79 virtual bool HasHitTestMask() const override { return true; } | 79 bool HasHitTestMask() const override { return true; } |
| 80 | 80 |
| 81 DISALLOW_COPY_AND_ASSIGN(NoEventWindowDelegate); | 81 DISALLOW_COPY_AND_ASSIGN(NoEventWindowDelegate); |
| 82 }; | 82 }; |
| 83 | 83 |
| 84 class WindowSliderDelegateTest : public WindowSlider::Delegate { | 84 class WindowSliderDelegateTest : public WindowSlider::Delegate { |
| 85 public: | 85 public: |
| 86 WindowSliderDelegateTest() | 86 WindowSliderDelegateTest() |
| 87 : can_create_layer_(true), | 87 : can_create_layer_(true), |
| 88 created_back_layer_(false), | 88 created_back_layer_(false), |
| 89 created_front_layer_(false), | 89 created_front_layer_(false), |
| 90 slide_completing_(false), | 90 slide_completing_(false), |
| 91 slide_completed_(false), | 91 slide_completed_(false), |
| 92 slide_aborted_(false), | 92 slide_aborted_(false), |
| 93 slider_destroyed_(false) { | 93 slider_destroyed_(false) { |
| 94 } | 94 } |
| 95 virtual ~WindowSliderDelegateTest() { | 95 ~WindowSliderDelegateTest() override { |
| 96 // Make sure slide_completed() gets called if slide_completing() was called. | 96 // Make sure slide_completed() gets called if slide_completing() was called. |
| 97 CHECK(!slide_completing_ || slide_completed_); | 97 CHECK(!slide_completing_ || slide_completed_); |
| 98 } | 98 } |
| 99 | 99 |
| 100 void Reset() { | 100 void Reset() { |
| 101 can_create_layer_ = true; | 101 can_create_layer_ = true; |
| 102 created_back_layer_ = false; | 102 created_back_layer_ = false; |
| 103 created_front_layer_ = false; | 103 created_front_layer_ = false; |
| 104 slide_completing_ = false; | 104 slide_completing_ = false; |
| 105 slide_completed_ = false; | 105 slide_completed_ = false; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 120 | 120 |
| 121 protected: | 121 protected: |
| 122 ui::Layer* CreateLayerForTest() { | 122 ui::Layer* CreateLayerForTest() { |
| 123 CHECK(can_create_layer_); | 123 CHECK(can_create_layer_); |
| 124 ui::Layer* layer = new ui::Layer(ui::LAYER_SOLID_COLOR); | 124 ui::Layer* layer = new ui::Layer(ui::LAYER_SOLID_COLOR); |
| 125 layer->SetColor(SK_ColorRED); | 125 layer->SetColor(SK_ColorRED); |
| 126 return layer; | 126 return layer; |
| 127 } | 127 } |
| 128 | 128 |
| 129 // Overridden from WindowSlider::Delegate: | 129 // Overridden from WindowSlider::Delegate: |
| 130 virtual ui::Layer* CreateBackLayer() override { | 130 ui::Layer* CreateBackLayer() override { |
| 131 if (!can_create_layer_) | 131 if (!can_create_layer_) |
| 132 return NULL; | 132 return NULL; |
| 133 created_back_layer_ = true; | 133 created_back_layer_ = true; |
| 134 return CreateLayerForTest(); | 134 return CreateLayerForTest(); |
| 135 } | 135 } |
| 136 | 136 |
| 137 virtual ui::Layer* CreateFrontLayer() override { | 137 ui::Layer* CreateFrontLayer() override { |
| 138 if (!can_create_layer_) | 138 if (!can_create_layer_) |
| 139 return NULL; | 139 return NULL; |
| 140 created_front_layer_ = true; | 140 created_front_layer_ = true; |
| 141 return CreateLayerForTest(); | 141 return CreateLayerForTest(); |
| 142 } | 142 } |
| 143 | 143 |
| 144 virtual void OnWindowSlideCompleted(scoped_ptr<ui::Layer> layer) override { | 144 void OnWindowSlideCompleted(scoped_ptr<ui::Layer> layer) override { |
| 145 slide_completed_ = true; | 145 slide_completed_ = true; |
| 146 } | 146 } |
| 147 | 147 |
| 148 virtual void OnWindowSlideCompleting() override { | 148 void OnWindowSlideCompleting() override { slide_completing_ = true; } |
| 149 slide_completing_ = true; | |
| 150 } | |
| 151 | 149 |
| 152 virtual void OnWindowSlideAborted() override { | 150 void OnWindowSlideAborted() override { slide_aborted_ = true; } |
| 153 slide_aborted_ = true; | |
| 154 } | |
| 155 | 151 |
| 156 virtual void OnWindowSliderDestroyed() override { | 152 void OnWindowSliderDestroyed() override { slider_destroyed_ = true; } |
| 157 slider_destroyed_ = true; | |
| 158 } | |
| 159 | 153 |
| 160 private: | 154 private: |
| 161 bool can_create_layer_; | 155 bool can_create_layer_; |
| 162 bool created_back_layer_; | 156 bool created_back_layer_; |
| 163 bool created_front_layer_; | 157 bool created_front_layer_; |
| 164 bool slide_completing_; | 158 bool slide_completing_; |
| 165 bool slide_completed_; | 159 bool slide_completed_; |
| 166 bool slide_aborted_; | 160 bool slide_aborted_; |
| 167 bool slider_destroyed_; | 161 bool slider_destroyed_; |
| 168 | 162 |
| 169 DISALLOW_COPY_AND_ASSIGN(WindowSliderDelegateTest); | 163 DISALLOW_COPY_AND_ASSIGN(WindowSliderDelegateTest); |
| 170 }; | 164 }; |
| 171 | 165 |
| 172 // This delegate destroys the owner window when the slider is destroyed. | 166 // This delegate destroys the owner window when the slider is destroyed. |
| 173 class WindowSliderDeleteOwnerOnDestroy : public WindowSliderDelegateTest { | 167 class WindowSliderDeleteOwnerOnDestroy : public WindowSliderDelegateTest { |
| 174 public: | 168 public: |
| 175 explicit WindowSliderDeleteOwnerOnDestroy(aura::Window* owner) | 169 explicit WindowSliderDeleteOwnerOnDestroy(aura::Window* owner) |
| 176 : owner_(owner) { | 170 : owner_(owner) { |
| 177 } | 171 } |
| 178 virtual ~WindowSliderDeleteOwnerOnDestroy() {} | 172 ~WindowSliderDeleteOwnerOnDestroy() override {} |
| 179 | 173 |
| 180 private: | 174 private: |
| 181 // Overridden from WindowSlider::Delegate: | 175 // Overridden from WindowSlider::Delegate: |
| 182 virtual void OnWindowSliderDestroyed() override { | 176 void OnWindowSliderDestroyed() override { |
| 183 WindowSliderDelegateTest::OnWindowSliderDestroyed(); | 177 WindowSliderDelegateTest::OnWindowSliderDestroyed(); |
| 184 delete owner_; | 178 delete owner_; |
| 185 } | 179 } |
| 186 | 180 |
| 187 aura::Window* owner_; | 181 aura::Window* owner_; |
| 188 DISALLOW_COPY_AND_ASSIGN(WindowSliderDeleteOwnerOnDestroy); | 182 DISALLOW_COPY_AND_ASSIGN(WindowSliderDeleteOwnerOnDestroy); |
| 189 }; | 183 }; |
| 190 | 184 |
| 191 // This delegate destroyes the owner window when a slide is completed. | 185 // This delegate destroyes the owner window when a slide is completed. |
| 192 class WindowSliderDeleteOwnerOnComplete : public WindowSliderDelegateTest { | 186 class WindowSliderDeleteOwnerOnComplete : public WindowSliderDelegateTest { |
| 193 public: | 187 public: |
| 194 explicit WindowSliderDeleteOwnerOnComplete(aura::Window* owner) | 188 explicit WindowSliderDeleteOwnerOnComplete(aura::Window* owner) |
| 195 : owner_(owner) { | 189 : owner_(owner) { |
| 196 } | 190 } |
| 197 virtual ~WindowSliderDeleteOwnerOnComplete() {} | 191 ~WindowSliderDeleteOwnerOnComplete() override {} |
| 198 | 192 |
| 199 private: | 193 private: |
| 200 // Overridden from WindowSlider::Delegate: | 194 // Overridden from WindowSlider::Delegate: |
| 201 virtual void OnWindowSlideCompleted(scoped_ptr<ui::Layer> layer) override { | 195 void OnWindowSlideCompleted(scoped_ptr<ui::Layer> layer) override { |
| 202 WindowSliderDelegateTest::OnWindowSlideCompleted(layer.Pass()); | 196 WindowSliderDelegateTest::OnWindowSlideCompleted(layer.Pass()); |
| 203 delete owner_; | 197 delete owner_; |
| 204 } | 198 } |
| 205 | 199 |
| 206 aura::Window* owner_; | 200 aura::Window* owner_; |
| 207 DISALLOW_COPY_AND_ASSIGN(WindowSliderDeleteOwnerOnComplete); | 201 DISALLOW_COPY_AND_ASSIGN(WindowSliderDeleteOwnerOnComplete); |
| 208 }; | 202 }; |
| 209 | 203 |
| 210 typedef aura::test::AuraTestBase WindowSliderTest; | 204 typedef aura::test::AuraTestBase WindowSliderTest; |
| 211 | 205 |
| (...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 639 animator->Step(start_time2 + duration); | 633 animator->Step(start_time2 + duration); |
| 640 // The animation for the second slide should now be completed. | 634 // The animation for the second slide should now be completed. |
| 641 EXPECT_TRUE(slider_delegate.slide_completed()); | 635 EXPECT_TRUE(slider_delegate.slide_completed()); |
| 642 slider_delegate.Reset(); | 636 slider_delegate.Reset(); |
| 643 | 637 |
| 644 window.reset(); | 638 window.reset(); |
| 645 EXPECT_TRUE(slider_delegate.slider_destroyed()); | 639 EXPECT_TRUE(slider_delegate.slider_destroyed()); |
| 646 } | 640 } |
| 647 | 641 |
| 648 } // namespace content | 642 } // namespace content |
| OLD | NEW |