| Index: components/arc/arc_util.cc
|
| diff --git a/components/arc/arc_util.cc b/components/arc/arc_util.cc
|
| index 6e74ad0de154926c7a1cd22abfe57b8691d70e73..32d97009a76ee6af9372c953aefb2dae38e9a8ef 100644
|
| --- a/components/arc/arc_util.cc
|
| +++ b/components/arc/arc_util.cc
|
| @@ -25,6 +25,8 @@ const base::Feature kEnableArcFeature{"EnableARC",
|
| constexpr char kAvailabilityNone[] = "none";
|
| constexpr char kAvailabilityInstalled[] = "installed";
|
| constexpr char kAvailabilityOfficiallySupported[] = "officially-supported";
|
| +constexpr char kAvailabilityOfficiallySupportedWithActiveDirectory[] =
|
| + "officially-supported-with-active-directory";
|
|
|
| } // namespace
|
|
|
| @@ -34,13 +36,14 @@ bool IsArcAvailable() {
|
| if (command_line->HasSwitch(chromeos::switches::kArcAvailability)) {
|
| std::string value = command_line->GetSwitchValueASCII(
|
| chromeos::switches::kArcAvailability);
|
| - DCHECK(value == kAvailabilityNone ||
|
| - value == kAvailabilityInstalled ||
|
| - value == kAvailabilityOfficiallySupported)
|
| + DCHECK(value == kAvailabilityNone || value == kAvailabilityInstalled ||
|
| + value == kAvailabilityOfficiallySupported ||
|
| + value == kAvailabilityOfficiallySupportedWithActiveDirectory)
|
| << "Unknown flag value: " << value;
|
| return value == kAvailabilityOfficiallySupported ||
|
| - (value == kAvailabilityInstalled &&
|
| - base::FeatureList::IsEnabled(kEnableArcFeature));
|
| + value == kAvailabilityOfficiallySupportedWithActiveDirectory ||
|
| + (value == kAvailabilityInstalled &&
|
| + base::FeatureList::IsEnabled(kEnableArcFeature));
|
| }
|
|
|
| // For transition, fallback to old flags.
|
| @@ -60,6 +63,17 @@ bool IsArcKioskMode() {
|
| return user_manager::UserManager::Get()->IsLoggedInAsArcKioskApp();
|
| }
|
|
|
| +bool IsArcAllowedForActiveDirectoryUsers() {
|
| + const auto* command_line = base::CommandLine::ForCurrentProcess();
|
| +
|
| + if (!command_line->HasSwitch(chromeos::switches::kArcAvailability))
|
| + return false;
|
| +
|
| + return command_line->GetSwitchValueASCII(
|
| + chromeos::switches::kArcAvailability) ==
|
| + kAvailabilityOfficiallySupportedWithActiveDirectory;
|
| +}
|
| +
|
| bool IsArcOptInVerificationDisabled() {
|
| const auto* command_line = base::CommandLine::ForCurrentProcess();
|
| return command_line->HasSwitch(
|
|
|