| Index: ash/root_window_controller_unittest.cc
|
| diff --git a/ash/root_window_controller_unittest.cc b/ash/root_window_controller_unittest.cc
|
| index d1ced436f3bc89794370120861e25bd084d20d0f..c6781cbbd3c78fff4943de5619283cb65ec56512 100644
|
| --- a/ash/root_window_controller_unittest.cc
|
| +++ b/ash/root_window_controller_unittest.cc
|
| @@ -357,6 +357,55 @@ TEST_F(RootWindowControllerTest, ModalContainerNotLoggedInLoggedIn) {
|
| session_modal_widget->GetNativeView()));
|
| }
|
|
|
| +TEST_F(RootWindowControllerTest, ModalContainerBlockedSession) {
|
| + UpdateDisplay("600x600");
|
| + Shell* shell = Shell::GetInstance();
|
| + internal::RootWindowController* controller =
|
| + shell->GetPrimaryRootWindowController();
|
| + aura::Window* lock_container =
|
| + Shell::GetContainer(controller->root_window(),
|
| + internal::kShellWindowId_LockScreenContainer);
|
| + for (int block_reason = FIRST_BLOCK_REASON;
|
| + block_reason < NUMBER_OF_BLOCK_REASONS;
|
| + ++block_reason) {
|
| + views::Widget* session_modal_widget =
|
| + CreateModalWidget(gfx::Rect(300, 10, 100, 100));
|
| + EXPECT_EQ(Shell::GetContainer(controller->root_window(),
|
| + internal::kShellWindowId_SystemModalContainer)->layout_manager(),
|
| + controller->GetSystemModalLayoutManager(
|
| + session_modal_widget->GetNativeView()));
|
| + EXPECT_EQ(Shell::GetContainer(controller->root_window(),
|
| + internal::kShellWindowId_SystemModalContainer)->layout_manager(),
|
| + controller->GetSystemModalLayoutManager(NULL));
|
| + session_modal_widget->Close();
|
| +
|
| + BlockUserSession(static_cast<UserSessionBlockReason>(block_reason));
|
| +
|
| + EXPECT_EQ(Shell::GetContainer(controller->root_window(),
|
| + internal::kShellWindowId_LockSystemModalContainer)->layout_manager(),
|
| + controller->GetSystemModalLayoutManager(NULL));
|
| +
|
| + views::Widget* lock_modal_widget =
|
| + CreateModalWidgetWithParent(gfx::Rect(300, 10, 100, 100),
|
| + lock_container);
|
| + EXPECT_EQ(Shell::GetContainer(controller->root_window(),
|
| + internal::kShellWindowId_LockSystemModalContainer)->layout_manager(),
|
| + controller->GetSystemModalLayoutManager(
|
| + lock_modal_widget->GetNativeView()));
|
| +
|
| + session_modal_widget =
|
| + CreateModalWidget(gfx::Rect(300, 10, 100, 100));
|
| + EXPECT_EQ(Shell::GetContainer(controller->root_window(),
|
| + internal::kShellWindowId_SystemModalContainer)->layout_manager(),
|
| + controller->GetSystemModalLayoutManager(
|
| + session_modal_widget->GetNativeView()));
|
| + session_modal_widget->Close();
|
| +
|
| + lock_modal_widget->Close();
|
| + UnblockUserSession();
|
| + }
|
| +}
|
| +
|
| // Test that GetFullscreenWindow() returns a fullscreen window only if the
|
| // fullscreen window is in the active workspace.
|
| TEST_F(RootWindowControllerTest, GetFullscreenWindow) {
|
| @@ -403,21 +452,16 @@ TEST_F(RootWindowControllerTest, FocusBlockedWindow) {
|
| CreateTestWidget(gfx::Rect(0, 0, 100, 100))->GetNativeView();
|
| session_window->Show();
|
|
|
| - // Lock screen.
|
| - Shell::GetInstance()->session_state_delegate()->LockScreen();
|
| - lock_window->Focus();
|
| - EXPECT_TRUE(lock_window->HasFocus());
|
| - session_window->Focus();
|
| - EXPECT_FALSE(session_window->HasFocus());
|
| - Shell::GetInstance()->session_state_delegate()->UnlockScreen();
|
| -
|
| - // Session not started yet.
|
| - SetSessionStarted(false);
|
| - lock_window->Focus();
|
| - EXPECT_TRUE(lock_window->HasFocus());
|
| - session_window->Focus();
|
| - EXPECT_FALSE(session_window->HasFocus());
|
| - SetSessionStarted(true);
|
| + for (int block_reason = FIRST_BLOCK_REASON;
|
| + block_reason < NUMBER_OF_BLOCK_REASONS;
|
| + ++block_reason) {
|
| + BlockUserSession(static_cast<UserSessionBlockReason>(block_reason));
|
| + lock_window->Focus();
|
| + EXPECT_TRUE(lock_window->HasFocus());
|
| + session_window->Focus();
|
| + EXPECT_FALSE(session_window->HasFocus());
|
| + UnblockUserSession();
|
| + }
|
| }
|
|
|
| } // namespace test
|
|
|