summaryrefslogtreecommitdiffstats
path: root/chromeos
diff options
context:
space:
mode:
authorharuki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-30 21:43:37 +0000
committerharuki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-30 21:43:37 +0000
commit45faa23346ec0497d9bffed0aa3d563b8cc37e71 (patch)
treeb04c40097619e29d5114df8224920118f7dfd3bc /chromeos
parent3cc5bbdef23d023309a487d30837f0b0043041d0 (diff)
downloadchromium_src-45faa23346ec0497d9bffed0aa3d563b8cc37e71.zip
chromium_src-45faa23346ec0497d9bffed0aa3d563b8cc37e71.tar.gz
chromium_src-45faa23346ec0497d9bffed0aa3d563b8cc37e71.tar.bz2
Chromium side change to add HandleLockScreen{Shown,Dismiss} methods for SessionManager,
and call them to confirm that Chromium Browser did lock/unlock the screen. BUG=chromium-os:32457 TEST=unittests and manually verify you can lock/unlock the screen. Review URL: https://chromiumcodereview.appspot.com/10869052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154273 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos')
-rw-r--r--chromeos/dbus/mock_session_manager_client.h2
-rw-r--r--chromeos/dbus/session_manager_client.cc12
-rw-r--r--chromeos/dbus/session_manager_client.h6
3 files changed, 20 insertions, 0 deletions
diff --git a/chromeos/dbus/mock_session_manager_client.h b/chromeos/dbus/mock_session_manager_client.h
index 2ea212fe..313ff36 100644
--- a/chromeos/dbus/mock_session_manager_client.h
+++ b/chromeos/dbus/mock_session_manager_client.h
@@ -27,7 +27,9 @@ class MockSessionManagerClient : public SessionManagerClient {
MOCK_METHOD1(StartSession, void(const std::string&));
MOCK_METHOD0(StopSession, void(void));
MOCK_METHOD0(RequestLockScreen, void(void));
+ MOCK_METHOD0(NotifyLockScreenShown, void(void));
MOCK_METHOD0(RequestUnlockScreen, void(void));
+ MOCK_METHOD0(NotifyLockScreenDismissed, void(void));
MOCK_METHOD0(GetIsScreenLocked, bool(void));
MOCK_METHOD1(RetrieveDevicePolicy, void(const RetrievePolicyCallback&));
MOCK_METHOD1(RetrieveUserPolicy, void(const RetrievePolicyCallback&));
diff --git a/chromeos/dbus/session_manager_client.cc b/chromeos/dbus/session_manager_client.cc
index 80dcc72..890a604 100644
--- a/chromeos/dbus/session_manager_client.cc
+++ b/chromeos/dbus/session_manager_client.cc
@@ -131,11 +131,21 @@ class SessionManagerClientImpl : public SessionManagerClient {
SimpleMethodCallToSessionManager(login_manager::kSessionManagerLockScreen);
}
+ virtual void NotifyLockScreenShown() OVERRIDE {
+ SimpleMethodCallToSessionManager(
+ login_manager::kSessionManagerHandleLockScreenShown);
+ }
+
virtual void RequestUnlockScreen() OVERRIDE {
SimpleMethodCallToSessionManager(
login_manager::kSessionManagerUnlockScreen);
}
+ virtual void NotifyLockScreenDismissed() OVERRIDE {
+ SimpleMethodCallToSessionManager(
+ login_manager::kSessionManagerHandleLockScreenDismissed);
+ }
+
virtual bool GetIsScreenLocked() OVERRIDE {
return screen_locked_;
}
@@ -345,10 +355,12 @@ class SessionManagerClientStubImpl : public SessionManagerClient {
screen_locked_ = true;
FOR_EACH_OBSERVER(Observer, observers_, LockScreen());
}
+ virtual void NotifyLockScreenShown() OVERRIDE {}
virtual void RequestUnlockScreen() OVERRIDE {
screen_locked_ = false;
FOR_EACH_OBSERVER(Observer, observers_, UnlockScreen());
}
+ virtual void NotifyLockScreenDismissed() OVERRIDE {}
virtual bool GetIsScreenLocked() OVERRIDE { return screen_locked_; }
virtual void RetrieveDevicePolicy(
const RetrievePolicyCallback& callback) OVERRIDE {
diff --git a/chromeos/dbus/session_manager_client.h b/chromeos/dbus/session_manager_client.h
index aed121e..ff24da4 100644
--- a/chromeos/dbus/session_manager_client.h
+++ b/chromeos/dbus/session_manager_client.h
@@ -65,9 +65,15 @@ class CHROMEOS_EXPORT SessionManagerClient {
// Locks the screen.
virtual void RequestLockScreen() = 0;
+ // Notifies that the lock screen is shown.
+ virtual void NotifyLockScreenShown() = 0;
+
// Unlocks the screen.
virtual void RequestUnlockScreen() = 0;
+ // Notifies that the lock screen is dismissed.
+ virtual void NotifyLockScreenDismissed() = 0;
+
// Returns whether or not the screen is locked. Implementation should cache
// this state so that it can return immediately. Useful for observers that
// need to know the current screen lock state when they are added.