| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ash/shelf/shelf_view.h" | 5 #include "ash/shelf/shelf_view.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 2098 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2109 } | 2109 } |
| 2110 | 2110 |
| 2111 private: | 2111 private: |
| 2112 std::unique_ptr<TestAppListPresenter> app_list_presenter_; | 2112 std::unique_ptr<TestAppListPresenter> app_list_presenter_; |
| 2113 | 2113 |
| 2114 DISALLOW_COPY_AND_ASSIGN(TestAppListShellDelegate); | 2114 DISALLOW_COPY_AND_ASSIGN(TestAppListShellDelegate); |
| 2115 }; | 2115 }; |
| 2116 | 2116 |
| 2117 } // namespace | 2117 } // namespace |
| 2118 | 2118 |
| 2119 // Test fixture that forces material design mode in order to test ink drop |
| 2120 // ripples on shelf. |
| 2119 class ShelfViewInkDropTest : public ShelfViewTest { | 2121 class ShelfViewInkDropTest : public ShelfViewTest { |
| 2120 public: | 2122 public: |
| 2121 ShelfViewInkDropTest() {} | 2123 ShelfViewInkDropTest() {} |
| 2122 ~ShelfViewInkDropTest() override {} | 2124 ~ShelfViewInkDropTest() override {} |
| 2123 | 2125 |
| 2124 void SetUp() override { | 2126 void SetUp() override { |
| 2125 shell_delegate_ = new TestAppListShellDelegate; | 2127 shell_delegate_ = new TestAppListShellDelegate; |
| 2126 ash_test_helper()->set_test_shell_delegate(shell_delegate_); | 2128 ash_test_helper()->set_test_shell_delegate(shell_delegate_); |
| 2127 | 2129 |
| 2130 set_material_mode(ash::MaterialDesignController::MATERIAL_EXPERIMENTAL); |
| 2131 |
| 2128 ShelfViewTest::SetUp(); | 2132 ShelfViewTest::SetUp(); |
| 2129 | |
| 2130 // TODO(mohsen): Ideally, we would want to set material mode before calling | |
| 2131 // ShelfViewTest::SetUp() so that everything is set up with the correct | |
| 2132 // material mode. Currently, this is not possible as it expects material | |
| 2133 // mode be UNINITIALIZED. (See https://crbug.com/620093) | |
| 2134 ash_md_controller_.reset(new ash::test::MaterialDesignControllerTestAPI( | |
| 2135 ash::MaterialDesignController::MATERIAL_EXPERIMENTAL)); | |
| 2136 } | |
| 2137 | |
| 2138 void TearDown() override { | |
| 2139 ash_md_controller_.reset(); | |
| 2140 | |
| 2141 ShelfViewTest::TearDown(); | |
| 2142 } | 2133 } |
| 2143 | 2134 |
| 2144 protected: | 2135 protected: |
| 2145 void InitAppListButtonInkDrop() { | 2136 void InitAppListButtonInkDrop() { |
| 2146 app_list_button_ = shelf_view_->GetAppListButton(); | 2137 app_list_button_ = shelf_view_->GetAppListButton(); |
| 2147 | 2138 |
| 2148 views::InkDropImpl* ink_drop_impl = | 2139 views::InkDropImpl* ink_drop_impl = |
| 2149 new views::InkDropImpl(app_list_button_); | 2140 new views::InkDropImpl(app_list_button_); |
| 2150 app_list_button_ink_drop_ = new InkDropSpy(base::WrapUnique(ink_drop_impl)); | 2141 app_list_button_ink_drop_ = new InkDropSpy(base::WrapUnique(ink_drop_impl)); |
| 2151 views::test::InkDropHostViewTestApi(app_list_button_) | 2142 views::test::InkDropHostViewTestApi(app_list_button_) |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2172 shell_delegate_->app_list_presenter()->Dismiss(); | 2163 shell_delegate_->app_list_presenter()->Dismiss(); |
| 2173 // Similar to real AppListPresenter, notify button that the app list is | 2164 // Similar to real AppListPresenter, notify button that the app list is |
| 2174 // dismissed. | 2165 // dismissed. |
| 2175 app_list_button_->OnAppListDismissed(); | 2166 app_list_button_->OnAppListDismissed(); |
| 2176 } | 2167 } |
| 2177 | 2168 |
| 2178 void FinishAppListVisibilityChange() { | 2169 void FinishAppListVisibilityChange() { |
| 2179 shell_delegate_->app_list_presenter()->FinishVisibilityChange(); | 2170 shell_delegate_->app_list_presenter()->FinishVisibilityChange(); |
| 2180 } | 2171 } |
| 2181 | 2172 |
| 2182 std::unique_ptr<ash::test::MaterialDesignControllerTestAPI> | |
| 2183 ash_md_controller_; | |
| 2184 | |
| 2185 TestAppListShellDelegate* shell_delegate_ = nullptr; // Owned by Shell. | 2173 TestAppListShellDelegate* shell_delegate_ = nullptr; // Owned by Shell. |
| 2186 | 2174 |
| 2187 AppListButton* app_list_button_ = nullptr; | 2175 AppListButton* app_list_button_ = nullptr; |
| 2188 InkDropSpy* app_list_button_ink_drop_ = nullptr; | 2176 InkDropSpy* app_list_button_ink_drop_ = nullptr; |
| 2189 ShelfButton* browser_button_ = nullptr; | 2177 ShelfButton* browser_button_ = nullptr; |
| 2190 InkDropSpy* browser_button_ink_drop_ = nullptr; | 2178 InkDropSpy* browser_button_ink_drop_ = nullptr; |
| 2191 | 2179 |
| 2192 private: | 2180 private: |
| 2193 DISALLOW_COPY_AND_ASSIGN(ShelfViewInkDropTest); | 2181 DISALLOW_COPY_AND_ASSIGN(ShelfViewInkDropTest); |
| 2194 }; | 2182 }; |
| (...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2575 test_api_->CloseMenu(); | 2563 test_api_->CloseMenu(); |
| 2576 EXPECT_EQ(views::InkDropState::HIDDEN, | 2564 EXPECT_EQ(views::InkDropState::HIDDEN, |
| 2577 browser_button_ink_drop_->GetTargetInkDropState()); | 2565 browser_button_ink_drop_->GetTargetInkDropState()); |
| 2578 EXPECT_THAT(browser_button_ink_drop_->GetAndResetRequestedStates(), | 2566 EXPECT_THAT(browser_button_ink_drop_->GetAndResetRequestedStates(), |
| 2579 ElementsAre(views::InkDropState::ACTIVATED, | 2567 ElementsAre(views::InkDropState::ACTIVATED, |
| 2580 views::InkDropState::DEACTIVATED)); | 2568 views::InkDropState::DEACTIVATED)); |
| 2581 } | 2569 } |
| 2582 | 2570 |
| 2583 } // namespace test | 2571 } // namespace test |
| 2584 } // namespace ash | 2572 } // namespace ash |
| OLD | NEW |