| Index: chrome/browser/chromeos/arc/auth/arc_auth_service.cc
|
| diff --git a/chrome/browser/chromeos/arc/auth/arc_auth_service.cc b/chrome/browser/chromeos/arc/auth/arc_auth_service.cc
|
| index 1aeb6106b5b88d092de67aac42f60597bed0b359..502dec1ea9e3178193fb67416a352c1d5fd9d7ea 100644
|
| --- a/chrome/browser/chromeos/arc/auth/arc_auth_service.cc
|
| +++ b/chrome/browser/chromeos/arc/auth/arc_auth_service.cc
|
| @@ -88,8 +88,9 @@ ProvisioningResult ConvertArcSignInFailureReasonToProvisioningResult(
|
| }
|
|
|
| mojom::ChromeAccountType GetAccountType() {
|
| - return IsArcKioskMode() ? mojom::ChromeAccountType::ROBOT_ACCOUNT
|
| - : mojom::ChromeAccountType::USER_ACCOUNT;
|
| + return IsArcKioskMode() || IsPublicSessionMode()
|
| + ? mojom::ChromeAccountType::ROBOT_ACCOUNT
|
| + : mojom::ChromeAccountType::USER_ACCOUNT;
|
| }
|
|
|
| } // namespace
|
| @@ -255,7 +256,7 @@ void ArcAuthService::GetAuthCodeDeprecated(
|
| const GetAuthCodeDeprecatedCallback& callback) {
|
| // For robot account we must use RequestAccountInfo because it allows
|
| // to specify account type.
|
| - DCHECK(!IsArcKioskMode());
|
| + DCHECK(!IsArcKioskMode() && !IsPublicSessionMode());
|
| RequestAccountInfoInternal(
|
| base::MakeUnique<ArcAuthService::AccountInfoNotifier>(callback));
|
| }
|
| @@ -303,8 +304,8 @@ void ArcAuthService::RequestAccountInfoInternal(
|
| }
|
| // For non-AD enrolled devices an auth code is fetched.
|
| std::unique_ptr<ArcAuthCodeFetcher> auth_code_fetcher;
|
| - if (IsArcKioskMode()) {
|
| - // In Kiosk mode, use Robot auth code fetching.
|
| + if (IsArcKioskMode() || IsPublicSessionMode()) {
|
| + // In Kiosk and public session mode, use Robot auth code fetching.
|
| auth_code_fetcher = base::MakeUnique<ArcRobotAuthCodeFetcher>();
|
| } else {
|
| // Optionally retrieve auth code in silent mode.
|
|
|