diff options
author | Ben Murdoch <benm@google.com> | 2014-10-29 14:53:36 +0000 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2014-10-29 14:53:36 +0000 |
commit | ab8f6f0bd665d3c1ff476eb06c58c42630e462d4 (patch) | |
tree | 15b4406dfa6b28391b19bcf760f1aeb04d13898a /chrome/browser/signin/easy_unlock_service_signin_chromeos.cc | |
parent | 93b3e633be4a0f65c62fca1805fd44021e04beaa (diff) | |
download | chromium_org-ab8f6f0bd665d3c1ff476eb06c58c42630e462d4.tar.gz |
Merge from Chromium at DEPS revision 39.0.2171.44
This commit was generated by merge_to_master.py.
Change-Id: I12ecf158017b8be5f9a1d33f4152e5a3c812cb7f
Diffstat (limited to 'chrome/browser/signin/easy_unlock_service_signin_chromeos.cc')
-rw-r--r-- | chrome/browser/signin/easy_unlock_service_signin_chromeos.cc | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/chrome/browser/signin/easy_unlock_service_signin_chromeos.cc b/chrome/browser/signin/easy_unlock_service_signin_chromeos.cc index 225bdf2d0a..8dd9ed26cc 100644 --- a/chrome/browser/signin/easy_unlock_service_signin_chromeos.cc +++ b/chrome/browser/signin/easy_unlock_service_signin_chromeos.cc @@ -12,6 +12,7 @@ #include "base/thread_task_runner_handle.h" #include "base/time/time.h" #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h" +#include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_metrics.h" #include "chrome/browser/chromeos/login/session/user_session_manager.h" #include "chromeos/login/auth/user_context.h" @@ -170,6 +171,73 @@ std::string EasyUnlockServiceSignin::GetWrappedSecret() const { return data->devices[device_index].wrapped_secret; } +void EasyUnlockServiceSignin::RecordEasySignInOutcome( + const std::string& user_id, + bool success) const { + DCHECK_EQ(GetUserEmail(), user_id); + + chromeos::RecordEasyUnlockLoginEvent(success + ? chromeos::EASY_SIGN_IN_SUCCESS + : chromeos::EASY_SIGN_IN_FAILURE); + VLOG(1) << "Easy sign-in " << (success ? "success" : "failure"); +} + +void EasyUnlockServiceSignin::RecordPasswordLoginEvent( + const std::string& user_id) const { + DCHECK_EQ(GetUserEmail(), user_id); + + chromeos::EasyUnlockLoginEvent event = + chromeos::EASY_SIGN_IN_LOGIN_EVENT_COUNT; + if (!GetRemoteDevices() || + GetHardlockState() == EasyUnlockScreenlockStateHandler::NO_PAIRING) { + event = chromeos::PASSWORD_SIGN_IN_NO_PAIRING; + } else if (GetHardlockState() == + EasyUnlockScreenlockStateHandler::PAIRING_CHANGED) { + event = chromeos::PASSWORD_SIGN_IN_PAIRING_CHANGED; + } else if (GetHardlockState() == + EasyUnlockScreenlockStateHandler::USER_HARDLOCK) { + event = chromeos::PASSWORD_SIGN_IN_USER_HARDLOCK; + } else if (!screenlock_state_handler()) { + event = chromeos::PASSWORD_SIGN_IN_SERVICE_NOT_ACTIVE; + } else { + switch (screenlock_state_handler()->state()) { + case EasyUnlockScreenlockStateHandler::STATE_INACTIVE: + event = chromeos::PASSWORD_SIGN_IN_SERVICE_NOT_ACTIVE; + break; + case EasyUnlockScreenlockStateHandler::STATE_NO_BLUETOOTH: + event = chromeos::PASSWORD_SIGN_IN_NO_BLUETOOTH; + break; + case EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING: + event = chromeos::PASSWORD_SIGN_IN_BLUETOOTH_CONNECTING; + break; + case EasyUnlockScreenlockStateHandler::STATE_NO_PHONE: + event = chromeos::PASSWORD_SIGN_IN_NO_PHONE; + break; + case EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_AUTHENTICATED: + event = chromeos::PASSWORD_SIGN_IN_PHONE_NOT_AUTHENTICATED; + break; + case EasyUnlockScreenlockStateHandler::STATE_PHONE_LOCKED: + event = chromeos::PASSWORD_SIGN_IN_PHONE_LOCKED; + break; + case EasyUnlockScreenlockStateHandler::STATE_PHONE_UNLOCKABLE: + event = chromeos::PASSWORD_SIGN_IN_PHONE_NOT_LOCKABLE; + break; + case EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_NEARBY: + event = chromeos::PASSWORD_SIGN_IN_PHONE_NOT_NEARBY; + break; + case EasyUnlockScreenlockStateHandler::STATE_PHONE_UNSUPPORTED: + event = chromeos::PASSWORD_SIGN_IN_PHONE_UNSUPPORTED; + break; + case EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED: + event = chromeos::PASSWORD_SIGN_IN_WITH_AUTHENTICATED_PHONE; + break; + } + } + + chromeos::RecordEasyUnlockLoginEvent(event); + VLOG(1) << "EasySignIn password login event, event=" << event; +} + void EasyUnlockServiceSignin::InitializeInternal() { if (chromeos::LoginState::Get()->IsUserLoggedIn()) return; |