diff options
author | haruki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-30 21:43:37 +0000 |
---|---|---|
committer | haruki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-30 21:43:37 +0000 |
commit | 45faa23346ec0497d9bffed0aa3d563b8cc37e71 (patch) | |
tree | b04c40097619e29d5114df8224920118f7dfd3bc /chromeos | |
parent | 3cc5bbdef23d023309a487d30837f0b0043041d0 (diff) | |
download | chromium_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.h | 2 | ||||
-rw-r--r-- | chromeos/dbus/session_manager_client.cc | 12 | ||||
-rw-r--r-- | chromeos/dbus/session_manager_client.h | 6 |
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. |