| 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_layout_manager.h" | 5 #include "ash/shelf/shelf_layout_manager.h" |
| 6 | 6 |
| 7 #include "ash/accelerators/accelerator_controller.h" | 7 #include "ash/accelerators/accelerator_controller.h" |
| 8 #include "ash/accelerators/accelerator_table.h" | 8 #include "ash/accelerators/accelerator_table.h" |
| 9 #include "ash/ash_switches.h" | 9 #include "ash/ash_switches.h" |
| 10 #include "ash/display/display_controller.h" | 10 #include "ash/display/display_controller.h" |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 373 | 373 |
| 374 // Turn off the lock screen. | 374 // Turn off the lock screen. |
| 375 void UnlockScreen() { | 375 void UnlockScreen() { |
| 376 Shell::GetInstance()->session_state_delegate()->UnlockScreen(); | 376 Shell::GetInstance()->session_state_delegate()->UnlockScreen(); |
| 377 // The test session state delegate does not fire the lock state change. | 377 // The test session state delegate does not fire the lock state change. |
| 378 Shell::GetInstance()->OnLockStateChanged(false); | 378 Shell::GetInstance()->OnLockStateChanged(false); |
| 379 } | 379 } |
| 380 | 380 |
| 381 // Open the add user screen if |show| is true, otherwise end it. | 381 // Open the add user screen if |show| is true, otherwise end it. |
| 382 void ShowAddUserScreen(bool show) { | 382 void ShowAddUserScreen(bool show) { |
| 383 SetUserAddingScreenRunning(show); |
| 383 ShelfLayoutManager* manager = GetShelfWidget()->shelf_layout_manager(); | 384 ShelfLayoutManager* manager = GetShelfWidget()->shelf_layout_manager(); |
| 384 manager->SessionStateChanged( | 385 manager->SessionStateChanged( |
| 385 show ? SessionStateDelegate::SESSION_STATE_LOGIN_SECONDARY : | 386 show ? SessionStateDelegate::SESSION_STATE_LOGIN_SECONDARY : |
| 386 SessionStateDelegate::SESSION_STATE_ACTIVE); | 387 SessionStateDelegate::SESSION_STATE_ACTIVE); |
| 387 } | 388 } |
| 388 | 389 |
| 389 private: | 390 private: |
| 390 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManagerTest); | 391 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManagerTest); |
| 391 }; | 392 }; |
| 392 | 393 |
| (...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 772 TEST_F(ShelfLayoutManagerTest, SideAlignmentInteractionWithAddUserScreen) { | 773 TEST_F(ShelfLayoutManagerTest, SideAlignmentInteractionWithAddUserScreen) { |
| 773 ShelfLayoutManager* manager = GetShelfWidget()->shelf_layout_manager(); | 774 ShelfLayoutManager* manager = GetShelfWidget()->shelf_layout_manager(); |
| 774 manager->SetAlignment(SHELF_ALIGNMENT_LEFT); | 775 manager->SetAlignment(SHELF_ALIGNMENT_LEFT); |
| 775 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, manager->GetAlignment()); | 776 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, manager->GetAlignment()); |
| 776 ShowAddUserScreen(true); | 777 ShowAddUserScreen(true); |
| 777 EXPECT_EQ(SHELF_ALIGNMENT_BOTTOM, manager->GetAlignment()); | 778 EXPECT_EQ(SHELF_ALIGNMENT_BOTTOM, manager->GetAlignment()); |
| 778 ShowAddUserScreen(false); | 779 ShowAddUserScreen(false); |
| 779 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, manager->GetAlignment()); | 780 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, manager->GetAlignment()); |
| 780 } | 781 } |
| 781 | 782 |
| 783 // Makes sure shelf alignment is correct for login screen. |
| 784 TEST_F(ShelfLayoutManagerTest, SideAlignmentInteractionWithLoginScreen) { |
| 785 ShelfLayoutManager* manager = GetShelfWidget()->shelf_layout_manager(); |
| 786 ASSERT_EQ(SHELF_ALIGNMENT_BOTTOM, manager->GetAlignment()); |
| 787 SetUserLoggedIn(false); |
| 788 SetSessionStarted(false); |
| 789 |
| 790 // The test session state delegate does not fire state changes. |
| 791 SetSessionStarting(); |
| 792 manager->SessionStateChanged( |
| 793 Shell::GetInstance()->session_state_delegate()->GetSessionState()); |
| 794 |
| 795 // Login sets alignment preferences before the session completes startup. |
| 796 manager->SetAlignment(SHELF_ALIGNMENT_LEFT); |
| 797 SetUserLoggedIn(true); |
| 798 SetSessionStarted(true); |
| 799 |
| 800 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, manager->GetAlignment()); |
| 801 // Ensure that the shelf has been notified. |
| 802 EXPECT_EQ(SHELF_ALIGNMENT_LEFT, GetShelfWidget()->shelf()->alignment()); |
| 803 } |
| 804 |
| 782 // Makes sure LayoutShelf invoked while animating cleans things up. | 805 // Makes sure LayoutShelf invoked while animating cleans things up. |
| 783 TEST_F(ShelfLayoutManagerTest, LayoutShelfWhileAnimating) { | 806 TEST_F(ShelfLayoutManagerTest, LayoutShelfWhileAnimating) { |
| 784 ShelfWidget* shelf = GetShelfWidget(); | 807 ShelfWidget* shelf = GetShelfWidget(); |
| 785 // Force an initial layout. | 808 // Force an initial layout. |
| 786 shelf->shelf_layout_manager()->LayoutShelf(); | 809 shelf->shelf_layout_manager()->LayoutShelf(); |
| 787 EXPECT_EQ(SHELF_VISIBLE, shelf->shelf_layout_manager()->visibility_state()); | 810 EXPECT_EQ(SHELF_VISIBLE, shelf->shelf_layout_manager()->visibility_state()); |
| 788 | 811 |
| 789 // Hide the shelf. | 812 // Hide the shelf. |
| 790 SetState(shelf->shelf_layout_manager(), SHELF_HIDDEN); | 813 SetState(shelf->shelf_layout_manager(), SHELF_HIDDEN); |
| 791 shelf->shelf_layout_manager()->LayoutShelf(); | 814 shelf->shelf_layout_manager()->LayoutShelf(); |
| (...skipping 1368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2160 shelf_manager->SetAutoHideBehavior(SHELF_AUTO_HIDE_ALWAYS_HIDDEN); | 2183 shelf_manager->SetAutoHideBehavior(SHELF_AUTO_HIDE_ALWAYS_HIDDEN); |
| 2161 gfx::Rect hide_target_bounds = status_window->GetTargetBounds(); | 2184 gfx::Rect hide_target_bounds = status_window->GetTargetBounds(); |
| 2162 EXPECT_GT(hide_target_bounds.y(), initial_bounds.y()); | 2185 EXPECT_GT(hide_target_bounds.y(), initial_bounds.y()); |
| 2163 | 2186 |
| 2164 shelf_manager->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); | 2187 shelf_manager->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); |
| 2165 gfx::Rect reshow_target_bounds = status_window->GetTargetBounds(); | 2188 gfx::Rect reshow_target_bounds = status_window->GetTargetBounds(); |
| 2166 EXPECT_EQ(initial_bounds, reshow_target_bounds); | 2189 EXPECT_EQ(initial_bounds, reshow_target_bounds); |
| 2167 } | 2190 } |
| 2168 | 2191 |
| 2169 } // namespace ash | 2192 } // namespace ash |
| OLD | NEW |