summaryrefslogtreecommitdiffstats
path: root/ash/session_state_delegate_stub.cc
diff options
context:
space:
mode:
authorbartfab@google.com <bartfab@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-17 12:21:57 +0000
committerbartfab@google.com <bartfab@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-17 12:21:57 +0000
commit5b5495c70de838b40cc9e5990140fd9b2ad16987 (patch)
treeb5b02aa5e8392edd79a275ffc613c0241e396414 /ash/session_state_delegate_stub.cc
parentbac6ffd0f853d003e235a29d51f138ec4d70f034 (diff)
downloadchromium_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/session_state_delegate_stub.cc')
-rw-r--r--ash/session_state_delegate_stub.cc45
1 files changed, 45 insertions, 0 deletions
diff --git a/ash/session_state_delegate_stub.cc b/ash/session_state_delegate_stub.cc
new file mode 100644
index 0000000..b913b5f
--- /dev/null
+++ b/ash/session_state_delegate_stub.cc
@@ -0,0 +1,45 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ash/session_state_delegate_stub.h"
+
+#include "ash/shell.h"
+#include "ash/shell/example_factory.h"
+
+namespace ash {
+
+SessionStateDelegateStub::SessionStateDelegateStub() : screen_locked_(false) {
+}
+
+SessionStateDelegateStub::~SessionStateDelegateStub() {
+}
+
+bool SessionStateDelegateStub::HasActiveUser() const {
+ return true;
+}
+
+bool SessionStateDelegateStub::IsActiveUserSessionStarted() const {
+ return true;
+}
+
+bool SessionStateDelegateStub::CanLockScreen() const {
+ return true;
+}
+
+bool SessionStateDelegateStub::IsScreenLocked() const {
+ return screen_locked_;
+}
+
+void SessionStateDelegateStub::LockScreen() {
+ shell::CreateLockScreen();
+ screen_locked_ = true;
+ Shell::GetInstance()->UpdateShelfVisibility();
+}
+
+void SessionStateDelegateStub::UnlockScreen() {
+ screen_locked_ = false;
+ Shell::GetInstance()->UpdateShelfVisibility();
+}
+
+} // namespace ash