| 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 3544f007a7645d368c16cdb8ec58aa1cd3f15a64..c7e942e18715b226ac7d4119e3f2f13ae25427f8 100644
|
| --- a/chrome/browser/chromeos/arc/arc_session_manager.cc
|
| +++ b/chrome/browser/chromeos/arc/arc_session_manager.cc
|
| @@ -722,13 +722,15 @@ void ArcSessionManager::CancelAuthCode() {
|
| return;
|
| }
|
|
|
| - // In case |state_| is ACTIVE, UI page can be ARC_LOADING (which means normal
|
| - // ARC booting) or ERROR (in case ARC can not be started). If ARC is booting
|
| - // normally don't stop it on progress close.
|
| + // If ARC failed to boot normally, stop ARC. Similarly, if the current page is
|
| + // LSO, closing the window should stop ARC since the user activity chooses to
|
| + // not sign in. In any other case, ARC is booting normally and the instance
|
| + // should not be stopped.
|
| if ((state_ != State::SHOWING_TERMS_OF_SERVICE &&
|
| state_ != State::CHECKING_ANDROID_MANAGEMENT) &&
|
| (!support_host_ ||
|
| - support_host_->ui_page() != ArcSupportHost::UIPage::ERROR)) {
|
| + (support_host_->ui_page() != ArcSupportHost::UIPage::ERROR &&
|
| + support_host_->ui_page() != ArcSupportHost::UIPage::LSO))) {
|
| return;
|
| }
|
|
|
|
|