| Index: chrome/browser/chromeos/arc/arc_auth_service.cc
|
| diff --git a/chrome/browser/chromeos/arc/arc_auth_service.cc b/chrome/browser/chromeos/arc/arc_auth_service.cc
|
| index 989f1a6907e3b85aae16e129fba043762d12480e..5bbe12753e3129e82e16afb4f4c7f8b566b648f7 100644
|
| --- a/chrome/browser/chromeos/arc/arc_auth_service.cc
|
| +++ b/chrome/browser/chromeos/arc/arc_auth_service.cc
|
| @@ -90,6 +90,7 @@ class ArcAuthService::AccountInfoNotifier {
|
|
|
| void Notify(bool is_enforced,
|
| const std::string& auth_info,
|
| + const std::string& account_name,
|
| mojom::ChromeAccountType account_type,
|
| bool is_managed) {
|
| switch (callback_type_) {
|
| @@ -104,6 +105,7 @@ class ArcAuthService::AccountInfoNotifier {
|
| case CallbackType::ACCOUNT_INFO:
|
| DCHECK(!account_info_callback_.is_null());
|
| mojom::AccountInfoPtr account_info = mojom::AccountInfo::New();
|
| + account_info->account_name = account_name;
|
| if (account_type ==
|
| mojom::ChromeAccountType::ACTIVE_DIRECTORY_ACCOUNT) {
|
| account_info->enrollment_token = auth_info;
|
| @@ -195,9 +197,18 @@ void ArcAuthService::ReportMetrics(mojom::MetricsType metrics_type,
|
| UpdateAuthTiming("ArcAuth.SignInTime",
|
| base::TimeDelta::FromMilliseconds(value));
|
| break;
|
| + case mojom::MetricsType::ACCOUNT_CHECK_MILLISECONDS:
|
| + UpdateAuthTiming("ArcAuth.AccountCheckTime",
|
| + base::TimeDelta::FromMilliseconds(value));
|
| + break;
|
| }
|
| }
|
|
|
| +void ArcAuthService::ReportAccountCheckStatus(
|
| + mojom::AccountCheckStatus status) {
|
| + UpdateAuthAccountCheckStatus(status);
|
| +}
|
| +
|
| void ArcAuthService::OnAccountInfoReady(mojom::AccountInfoPtr account_info) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| auto* instance = ARC_GET_INSTANCE_FOR_METHOD(arc_bridge_service()->auth(),
|
| @@ -243,7 +254,8 @@ void ArcAuthService::RequestAccountInfoInternal(
|
|
|
| if (IsArcOptInVerificationDisabled()) {
|
| notifier->Notify(
|
| - false /* = is_enforced */, std::string(), GetAccountType(),
|
| + false /* = is_enforced */, std::string() /* auth_info */,
|
| + std::string() /* auth_name */, GetAccountType(),
|
| policy_util::IsAccountManaged(ArcSessionManager::Get()->profile()));
|
| return;
|
| }
|
| @@ -255,6 +267,7 @@ void ArcAuthService::RequestAccountInfoInternal(
|
| const user_manager::User* user = nullptr;
|
| if (profile)
|
| user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile);
|
| +
|
| if (user && user->IsActiveDirectoryUser()) {
|
| // For Active Directory enrolled devices, we get an enrollment token for a
|
| // managed Google Play account from DMServer.
|
| @@ -297,6 +310,7 @@ void ArcAuthService::OnEnrollmentTokenFetched(
|
| switch (status) {
|
| case ArcAuthInfoFetcher::Status::SUCCESS:
|
| notifier_->Notify(true /*is_enforced*/, enrollment_token,
|
| + std::string() /* account_name */,
|
| mojom::ChromeAccountType::ACTIVE_DIRECTORY_ACCOUNT,
|
| true);
|
| notifier_.reset();
|
| @@ -324,7 +338,9 @@ void ArcAuthService::OnAuthCodeFetched(ArcAuthInfoFetcher::Status status,
|
| }
|
|
|
| notifier_->Notify(
|
| - !IsArcOptInVerificationDisabled(), auth_code, GetAccountType(),
|
| + !IsArcOptInVerificationDisabled(), auth_code,
|
| + ArcSessionManager::Get()->auth_context()->full_account_id(),
|
| + GetAccountType(),
|
| policy_util::IsAccountManaged(ArcSessionManager::Get()->profile()));
|
| notifier_.reset();
|
| }
|
|
|