Chromium Code Reviews| 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 4e4ec241d8ecce91df78072dc59b1317ab96673c..17dafac6871219e811e7066e9bc7cbb360d295aa 100644 |
| --- a/chrome/browser/chromeos/arc/arc_session_manager.cc |
| +++ b/chrome/browser/chromeos/arc/arc_session_manager.cc |
| @@ -496,7 +496,7 @@ void ArcSessionManager::StartPreferenceHandler() { |
| } |
| // Update the state based on the initial Google Play Store enabled value. |
| - if (IsArcPlayStoreEnabledForProfile(profile_)) { |
| + if (ShouldArcAlwaysStart() || IsArcPlayStoreEnabledForProfile(profile_)) { |
|
hidehiko
2017/03/03 12:52:47
FYI: I landed a CL to extract this part. The rebas
victorhsieh
2017/03/03 18:51:50
Done.
|
| VLOG(1) << "ARC is already enabled."; |
| DCHECK(!enable_requested_); |
| RequestEnable(); |
| @@ -550,10 +550,15 @@ void ArcSessionManager::OnOptInPreferenceChanged() { |
| if (profile_->GetPrefs()->HasPrefPath(prefs::kArcEnabled)) |
| ArcAuthNotification::Hide(); |
| - if (is_play_store_enabled) |
| - RequestEnable(); |
| - else |
| - RequestDisable(); |
| + if (ShouldArcAlwaysStart()) { |
| + // TODO(victorhsieh): Implement opt-in and opt-out flow. For now, do |
| + // nothing but keep the existing ARC instance running. |
|
stevenjb
2017/03/03 18:25:34
nit: Avoid an empty if clause; invert and move the
victorhsieh
2017/03/03 18:51:50
Acknowledged. This is no longer the case after re
|
| + } else { |
| + if (is_play_store_enabled) |
| + RequestEnable(); |
| + else |
| + RequestDisable(); |
| + } |
| for (auto& observer : observer_list_) |
| observer.OnArcPlayStoreEnabledChanged(is_play_store_enabled); |
| @@ -712,12 +717,12 @@ void ArcSessionManager::RequestEnableImpl() { |
| if (AreArcAllOptInPreferencesManaged()) |
| prefs->SetBoolean(prefs::kArcTermsAccepted, true); |
| - // If it is marked that sign in has been successfully done, then directly |
| - // start ARC. |
| + // If it is marked that sign in has been successfully done, if ARC has been |
| + // set up to always start, then directly start ARC. |
| // For testing, and for Kiosk mode, we also skip ToS negotiation procedure. |
| // For backward compatibility, this check needs to be prior to the |
| // kArcTermsAccepted check below. |
| - if (prefs->GetBoolean(prefs::kArcSignedIn) || |
| + if (prefs->GetBoolean(prefs::kArcSignedIn) || ShouldArcAlwaysStart() || |
| IsArcOptInVerificationDisabled() || IsArcKioskMode()) { |
| StartArc(); |