| Index: ash/shelf/shelf_layout_manager_unittest.cc
|
| diff --git a/ash/shelf/shelf_layout_manager_unittest.cc b/ash/shelf/shelf_layout_manager_unittest.cc
|
| index 1009ce98d7d55ec4398c5b35945de90c6b90cd87..220a257dad3949d6a25e994f0f9636d3703c00f7 100644
|
| --- a/ash/shelf/shelf_layout_manager_unittest.cc
|
| +++ b/ash/shelf/shelf_layout_manager_unittest.cc
|
| @@ -1296,8 +1296,8 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfAutoHideState) {
|
| EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state());
|
| }
|
|
|
| -// Makes sure shelf will be hidden when app list opens as shelf is in HIDDEN
|
| -// state, and toggling app list won't change shelf visibility state.
|
| +// Toggling the app list removes activation from the fullscreen window and so
|
| +// the shelf should be visible while the app list is shown.
|
| TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfHiddenState) {
|
| Shell* shell = Shell::GetInstance();
|
| ShelfLayoutManager* shelf = GetShelfLayoutManager();
|
| @@ -1318,7 +1318,7 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfHiddenState) {
|
| // Toggle app list to show.
|
| shell->ToggleAppList(NULL);
|
| EXPECT_TRUE(shell->GetAppListTargetVisibility());
|
| - EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state());
|
| + EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
|
|
|
| // Toggle app list to hide.
|
| shell->ToggleAppList(NULL);
|
| @@ -1326,6 +1326,31 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfHiddenState) {
|
| EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state());
|
| }
|
|
|
| +// Tests that the shelf is only hidden for an active fullscreen window and
|
| +// toggles visibility when another window is activated.
|
| +TEST_F(ShelfLayoutManagerTest, ActiveFullscreenWindowHidesShelf) {
|
| + ShelfLayoutManager* shelf = GetShelfLayoutManager();
|
| +
|
| + // Create a window and make it full screen.
|
| + aura::Window* window1 = CreateTestWindow();
|
| + window1->SetBounds(gfx::Rect(0, 0, 100, 100));
|
| + window1->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_FULLSCREEN);
|
| + window1->Show();
|
| +
|
| + aura::Window* window2 = CreateTestWindow();
|
| + window2->SetBounds(gfx::Rect(0, 0, 100, 100));
|
| + window2->Show();
|
| +
|
| + wm::GetWindowState(window1)->Activate();
|
| + EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state());
|
| +
|
| + wm::GetWindowState(window2)->Activate();
|
| + EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
|
| +
|
| + wm::GetWindowState(window1)->Activate();
|
| + EXPECT_EQ(SHELF_HIDDEN, shelf->visibility_state());
|
| +}
|
| +
|
| #if defined(OS_WIN)
|
| // RootWindow and Display can't resize on Windows Ash. http://crbug.com/165962
|
| #define MAYBE_SetAlignment DISABLED_SetAlignment
|
|
|