| Index: chrome/browser/chromeos/arc/arc_session_manager.cc
|
| diff --git a/chrome/browser/chromeos/arc/arc_session_manager.cc b/chrome/browser/chromeos/arc/arc_session_manager.cc
|
| index 2be4bdc26e5af6b124e6df5010c8ba1920421e2a..7b4e2835292917c1adb46ed9feffef350d95bbfd 100644
|
| --- a/chrome/browser/chromeos/arc/arc_session_manager.cc
|
| +++ b/chrome/browser/chromeos/arc/arc_session_manager.cc
|
| @@ -22,6 +22,8 @@
|
| #include "chrome/browser/chromeos/arc/optin/arc_terms_of_service_negotiator.h"
|
| #include "chrome/browser/chromeos/arc/policy/arc_android_management_checker.h"
|
| #include "chrome/browser/chromeos/arc/policy/arc_policy_util.h"
|
| +#include "chrome/browser/chromeos/login/user_flow.h"
|
| +#include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
|
| #include "chrome/browser/chromeos/profiles/profile_helper.h"
|
| #include "chrome/browser/lifetime/application_lifetime.h"
|
| #include "chrome/browser/policy/profile_policy_connector.h"
|
| @@ -168,6 +170,13 @@ bool ArcSessionManager::IsAllowedForProfile(const Profile* profile) {
|
| return false;
|
| }
|
|
|
| + chromeos::UserFlow* user_flow =
|
| + chromeos::ChromeUserManager::Get()->GetUserFlow(user->GetAccountId());
|
| + if (!user_flow || !user_flow->CanStartArc()) {
|
| + VLOG(1) << "ARC is not allowed in the current user flow.";
|
| + return false;
|
| + }
|
| +
|
| if (user_manager::UserManager::Get()
|
| ->IsCurrentUserCryptohomeDataEphemeral()) {
|
| VLOG(2) << "Users with ephemeral data are not supported in Arc.";
|
|
|