diff options
author | bartfab@google.com <bartfab@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-17 12:21:57 +0000 |
---|---|---|
committer | bartfab@google.com <bartfab@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-17 12:21:57 +0000 |
commit | 5b5495c70de838b40cc9e5990140fd9b2ad16987 (patch) | |
tree | b5b02aa5e8392edd79a275ffc613c0241e396414 /ash/accelerators | |
parent | bac6ffd0f853d003e235a29d51f138ec4d70f034 (diff) | |
download | chromium_src-5b5495c70de838b40cc9e5990140fd9b2ad16987.zip chromium_src-5b5495c70de838b40cc9e5990140fd9b2ad16987.tar.gz chromium_src-5b5495c70de838b40cc9e5990140fd9b2ad16987.tar.bz2 |
Add ash SessionStateDelegate
This CL refactors the ShellDelegate by adding a SessionStateDelegate to
which methods dealing with the session state can be moved. This cleans up
the huge ShellDelegate interface and paves the way for further Chrome OS
multiprofile work which will need to add several new methods related to
the session state.
This CL is only the first step. Several other methods should also move to
SessionStateDelegate but I do not want to overburden a single CL.
BUG=None
TEST=Manual and browser/unit tests
TBR=sky (for c/b/idle_chromeos.cc and c/chrome_browser_ui.gypi)
Review URL: https://codereview.chromium.org/14295008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194578 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/accelerators')
-rw-r--r-- | ash/accelerators/accelerator_controller.cc | 11 | ||||
-rw-r--r-- | ash/accelerators/nested_dispatcher_controller_unittest.cc | 6 |
2 files changed, 7 insertions, 10 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc index 9face4f..a98c4b36 100644 --- a/ash/accelerators/accelerator_controller.cc +++ b/ash/accelerators/accelerator_controller.cc @@ -26,6 +26,7 @@ #include "ash/root_window_controller.h" #include "ash/rotator/screen_rotation.h" #include "ash/screenshot_delegate.h" +#include "ash/session_state_delegate.h" #include "ash/shelf/shelf_widget.h" #include "ash/shell.h" #include "ash/shell_delegate.h" @@ -101,7 +102,7 @@ void HandleCycleWindowLinear(CycleDirection direction) { #if defined(OS_CHROMEOS) bool HandleLock() { - Shell::GetInstance()->delegate()->LockScreen(); + Shell::GetInstance()->session_state_delegate()->LockScreen(); return true; } @@ -427,16 +428,12 @@ bool AcceleratorController::IsReservedAccelerator( bool AcceleratorController::PerformAction(int action, const ui::Accelerator& accelerator) { ash::Shell* shell = ash::Shell::GetInstance(); - bool at_login_screen = false; -#if defined(OS_CHROMEOS) - at_login_screen = !shell->delegate()->IsSessionStarted(); -#endif - if (at_login_screen && + if (!shell->session_state_delegate()->IsActiveUserSessionStarted() && actions_allowed_at_login_screen_.find(action) == actions_allowed_at_login_screen_.end()) { return false; } - if (shell->IsScreenLocked() && + if (shell->session_state_delegate()->IsScreenLocked() && actions_allowed_at_lock_screen_.find(action) == actions_allowed_at_lock_screen_.end()) { return false; diff --git a/ash/accelerators/nested_dispatcher_controller_unittest.cc b/ash/accelerators/nested_dispatcher_controller_unittest.cc index 3cf1721..ecc7972 100644 --- a/ash/accelerators/nested_dispatcher_controller_unittest.cc +++ b/ash/accelerators/nested_dispatcher_controller_unittest.cc @@ -3,8 +3,8 @@ // found in the LICENSE file. #include "ash/accelerators/accelerator_controller.h" +#include "ash/session_state_delegate.h" #include "ash/shell.h" -#include "ash/shell_delegate.h" #include "ash/shell_window_ids.h" #include "ash/test/ash_test_base.h" #include "base/bind.h" @@ -109,7 +109,7 @@ TEST_F(NestedDispatcherTest, AssociatedWindowBelowLockScreen) { MockDispatcher inner_dispatcher; scoped_ptr<aura::Window> associated_window(CreateTestWindowInShellWithId(0)); - Shell::GetInstance()->delegate()->LockScreen(); + Shell::GetInstance()->session_state_delegate()->LockScreen(); DispatchKeyReleaseA(); aura::RootWindow* root_window = ash::Shell::GetPrimaryRootWindow(); aura::client::GetDispatcherClient(root_window)->RunWithDispatcher( @@ -117,7 +117,7 @@ TEST_F(NestedDispatcherTest, AssociatedWindowBelowLockScreen) { associated_window.get(), true /* nestable_tasks_allowed */); EXPECT_EQ(0, inner_dispatcher.num_key_events_dispatched()); - Shell::GetInstance()->delegate()->UnlockScreen(); + Shell::GetInstance()->session_state_delegate()->UnlockScreen(); } // Aura window above lock screen in z order. |