Index: components/signin/core/browser/signin_manager.cc |
diff --git a/components/signin/core/browser/signin_manager.cc b/components/signin/core/browser/signin_manager.cc |
index 2a943cb11316f9c07a4184aa0e3f5a312f447a5c..144242615a9b0fc851069d0c4d50a095e4733b06 100644 |
--- a/components/signin/core/browser/signin_manager.cc |
+++ b/components/signin/core/browser/signin_manager.cc |
@@ -17,6 +17,7 @@ |
#include "components/signin/core/browser/signin_client.h" |
#include "components/signin/core/browser/signin_internals_util.h" |
#include "components/signin/core/browser/signin_manager_cookie_helper.h" |
+#include "components/signin/core/browser/signin_metrics.h" |
#include "components/signin/core/common/signin_pref_names.h" |
#include "google_apis/gaia/gaia_auth_util.h" |
#include "google_apis/gaia/gaia_urls.h" |
@@ -171,9 +172,11 @@ void SigninManager::HandleAuthError(const GoogleServiceAuthError& error) { |
FOR_EACH_OBSERVER(Observer, observer_list_, GoogleSigninFailed(error)); |
} |
-void SigninManager::SignOut() { |
+void SigninManager::SignOut( |
+ signin_metrics::ProfileSignout signout_source_metric) { |
DCHECK(IsInitialized()); |
+ signin_metrics::LogSignout(signout_source_metric); |
if (GetAuthenticatedUsername().empty()) { |
if (AuthInProgress()) { |
// If the user is in the process of signing in, then treat a call to |
@@ -235,7 +238,7 @@ void SigninManager::Initialize(PrefService* local_state) { |
if ((!user.empty() && !IsAllowedUsername(user)) || !IsSigninAllowed()) { |
// User is signed in, but the username is invalid - the administrator must |
// have changed the policy since the last signin, so sign out the user. |
- SignOut(); |
+ SignOut(signin_metrics::SIGNIN_PREF_CHANGED_DURING_SIGNIN); |
} |
InitTokenService(); |
@@ -257,7 +260,7 @@ void SigninManager::OnGoogleServicesUsernamePatternChanged() { |
!IsAllowedUsername(GetAuthenticatedUsername())) { |
// Signed in user is invalid according to the current policy so sign |
// the user out. |
- SignOut(); |
+ SignOut(signin_metrics::GOOGLE_SERVICE_NAME_PATTERN_CHANGED); |
} |
} |
@@ -267,7 +270,7 @@ bool SigninManager::IsSigninAllowed() const { |
void SigninManager::OnSigninAllowedPrefChanged() { |
if (!IsSigninAllowed()) |
- SignOut(); |
+ SignOut(signin_metrics::SIGNOUT_PREF_CHANGED); |
} |
// static |