Index: ash/wm/ash_focus_rules_unittest.cc |
diff --git a/ash/wm/ash_focus_rules_unittest.cc b/ash/wm/ash_focus_rules_unittest.cc |
index faabf2d7e3a75e5f61a420401dd8f289577a8856..8e847febeddf802a6cafeb104aeb6b96fcd11683 100644 |
--- a/ash/wm/ash_focus_rules_unittest.cc |
+++ b/ash/wm/ash_focus_rules_unittest.cc |
@@ -2,18 +2,18 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "ash/common/session/session_state_delegate.h" |
-#include "ash/common/test/test_session_state_delegate.h" |
+#include "ash/common/session/session_controller.h" |
+#include "ash/common/test/test_session_controller_client.h" |
#include "ash/common/wm/window_state.h" |
#include "ash/common/wm_shell.h" |
#include "ash/public/cpp/shell_window_ids.h" |
#include "ash/shell.h" |
#include "ash/test/ash_test_base.h" |
#include "ash/test/ash_test_helper.h" |
-#include "ash/test/test_shell_delegate.h" |
#include "ash/wm/lock_state_controller.h" |
#include "ash/wm/window_state_aura.h" |
#include "ash/wm/window_util.h" |
+#include "base/memory/ptr_util.h" |
#include "services/ui/public/interfaces/window_manager_constants.mojom.h" |
#include "ui/aura/client/aura_constants.h" |
#include "ui/aura/client/window_parenting_client.h" |
@@ -26,21 +26,26 @@ namespace test { |
namespace { |
-// Defines a |SessionStateDelegate| that is used to create and destroy the |
+// Defines a |SessionControllerClient| that is used to create and destroy the |
// test lock screen widget. |
-class LockScreenSessionStateDelegate : public TestSessionStateDelegate { |
+class LockScreenSessionControllerClient : public TestSessionControllerClient { |
public: |
- LockScreenSessionStateDelegate() {} |
- ~LockScreenSessionStateDelegate() override {} |
+ explicit LockScreenSessionControllerClient(SessionController* controller) |
+ : TestSessionControllerClient(controller) { |
+ InitializeAndBind(); |
+ CreatePredefinedUserSessions(1); |
+ } |
+ ~LockScreenSessionControllerClient() override {} |
- void LockScreen() override { |
- TestSessionStateDelegate::LockScreen(); |
+ // TestSessionControllerClient: |
+ void RequestLockScreen() override { |
+ TestSessionControllerClient::RequestLockScreen(); |
CreateLockScreen(); |
Shell::GetInstance()->UpdateShelfVisibility(); |
} |
void UnlockScreen() override { |
- TestSessionStateDelegate::UnlockScreen(); |
+ TestSessionControllerClient::UnlockScreen(); |
if (lock_screen_widget_.get()) { |
lock_screen_widget_->Close(); |
lock_screen_widget_.reset(nullptr); |
@@ -73,24 +78,7 @@ class LockScreenSessionStateDelegate : public TestSessionStateDelegate { |
std::unique_ptr<views::Widget> lock_screen_widget_; |
- DISALLOW_COPY_AND_ASSIGN(LockScreenSessionStateDelegate); |
-}; |
- |
-//////////////////////////////////////////////////////////////////////////////// |
- |
-// Defines a |ShellDelegate| that is used to construct our lock screen |
-// |SessionStateDelegate|. |
-class LockScreenShellDelegate : public test::TestShellDelegate { |
- public: |
- LockScreenShellDelegate() {} |
- ~LockScreenShellDelegate() override {} |
- |
- TestSessionStateDelegate* CreateSessionStateDelegate() override { |
- return new LockScreenSessionStateDelegate(); |
- } |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(LockScreenShellDelegate); |
+ DISALLOW_COPY_AND_ASSIGN(LockScreenSessionControllerClient); |
}; |
//////////////////////////////////////////////////////////////////////////////// |
@@ -103,8 +91,10 @@ class LockScreenAshFocusRulesTest : public AshTestBase { |
~LockScreenAshFocusRulesTest() override {} |
void SetUp() override { |
- ash_test_helper()->set_test_shell_delegate(new LockScreenShellDelegate); |
AshTestBase::SetUp(); |
+ ash_test_helper()->set_test_session_controller_client( |
+ base::MakeUnique<LockScreenSessionControllerClient>( |
+ WmShell::Get()->session_controller())); |
} |
void TearDown() override { AshTestBase::TearDown(); } |
@@ -140,6 +130,8 @@ class LockScreenAshFocusRulesTest : public AshTestBase { |
return window; |
} |
+ std::unique_ptr<LockScreenSessionControllerClient> session_controller_client_; |
+ |
DISALLOW_COPY_AND_ASSIGN(LockScreenAshFocusRulesTest); |
}; |
@@ -171,7 +163,7 @@ TEST_F(LockScreenAshFocusRulesTest, RegainFocusAfterUnlock) { |
BlockUserSession(BLOCKED_BY_LOCK_SCREEN); |
- EXPECT_TRUE(WmShell::Get()->GetSessionStateDelegate()->IsScreenLocked()); |
+ EXPECT_TRUE(WmShell::Get()->session_controller()->IsScreenLocked()); |
EXPECT_FALSE(normal_window->HasFocus()); |
EXPECT_FALSE(always_on_top_window->HasFocus()); |
EXPECT_FALSE(normal_window_state->IsMinimized()); |
@@ -181,7 +173,7 @@ TEST_F(LockScreenAshFocusRulesTest, RegainFocusAfterUnlock) { |
UnblockUserSession(); |
- EXPECT_FALSE(WmShell::Get()->GetSessionStateDelegate()->IsScreenLocked()); |
+ EXPECT_FALSE(WmShell::Get()->session_controller()->IsScreenLocked()); |
EXPECT_FALSE(normal_window_state->IsMinimized()); |
EXPECT_FALSE(always_on_top_window_state->IsMinimized()); |
EXPECT_TRUE(normal_window_state->CanActivate()); |
@@ -194,7 +186,7 @@ TEST_F(LockScreenAshFocusRulesTest, RegainFocusAfterUnlock) { |
// view doesn't get focused if the widget shows behind the lock screen. |
TEST_F(LockScreenAshFocusRulesTest, PreventFocusChangeWithLockScreenPresent) { |
BlockUserSession(BLOCKED_BY_LOCK_SCREEN); |
- EXPECT_TRUE(WmShell::Get()->GetSessionStateDelegate()->IsScreenLocked()); |
+ EXPECT_TRUE(WmShell::Get()->session_controller()->IsScreenLocked()); |
views::test::TestInitialFocusWidgetDelegate delegate(CurrentContext()); |
EXPECT_FALSE(delegate.view()->HasFocus()); |
@@ -203,7 +195,7 @@ TEST_F(LockScreenAshFocusRulesTest, PreventFocusChangeWithLockScreenPresent) { |
EXPECT_FALSE(delegate.view()->HasFocus()); |
UnblockUserSession(); |
- EXPECT_FALSE(WmShell::Get()->GetSessionStateDelegate()->IsScreenLocked()); |
+ EXPECT_FALSE(WmShell::Get()->session_controller()->IsScreenLocked()); |
EXPECT_TRUE(delegate.GetWidget()->IsActive()); |
EXPECT_TRUE(delegate.view()->HasFocus()); |
} |