Index: chrome/browser/chromeos/arc/arc_auth_service.cc |
diff --git a/chrome/browser/chromeos/arc/arc_auth_service.cc b/chrome/browser/chromeos/arc/arc_auth_service.cc |
index 444063776658e23c5591542f6f87e3dd17b014af..e34e2e36b9798c17d2eae4edfad6b981fece0529 100644 |
--- a/chrome/browser/chromeos/arc/arc_auth_service.cc |
+++ b/chrome/browser/chromeos/arc/arc_auth_service.cc |
@@ -304,7 +304,7 @@ void ArcAuthService::GetAuthCodeDeprecated( |
void ArcAuthService::GetAuthCode(const GetAuthCodeCallback& callback) { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
// GetAuthCodeAndAccountType operation must not be in progress. |
- DCHECK(!auth_account_callback_.is_null()); |
+ DCHECK(auth_account_callback_.is_null()); |
const std::string auth_code = GetAndResetAuthCode(); |
const bool verification_disabled = IsOptInVerificationDisabled(); |
@@ -322,7 +322,7 @@ void ArcAuthService::GetAuthCodeAndAccountType( |
const GetAuthCodeAndAccountTypeCallback& callback) { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
// GetAuthCode operation must not be in progress. |
- DCHECK(!auth_callback_.is_null()); |
+ DCHECK(auth_callback_.is_null()); |
const std::string auth_code = GetAndResetAuthCode(); |
const bool verification_disabled = IsOptInVerificationDisabled(); |
@@ -337,6 +337,10 @@ void ArcAuthService::GetAuthCodeAndAccountType( |
StartUI(); |
} |
+bool ArcAuthService::IsAuthCodeRequest() { |
+ return !auth_callback_.is_null() || !auth_account_callback_.is_null(); |
+} |
+ |
void ArcAuthService::OnSignInComplete() { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
DCHECK_EQ(state_, State::ACTIVE); |
@@ -814,11 +818,11 @@ void ArcAuthService::DisableArc() { |
void ArcAuthService::StartUI() { |
hidehiko
2016/10/13 15:22:00
StartUI is called only from four places.
- GetAuth
khmel
2016/10/13 15:30:19
Checks I added is real condition that prevents And
hidehiko
2016/10/13 15:44:32
I meant;
- StartLso() should not use StartUI() con
khmel
2016/10/13 15:53:21
This is real case that blocks working re-auth proc
Yusuke Sato
2016/10/15 01:16:32
I'm wondering what's your request now based on the
hidehiko
2016/10/17 09:23:31
Or, maybe introducing two functions.
void StartSu
|
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
- if (!arc_bridge_service()->stopped()) { |
+ if (!IsAuthCodeRequest() && !arc_bridge_service()->stopped()) { |
// If the user attempts to re-enable ARC while the bridge is still running |
// the user should not be able to continue until the bridge has stopped. |
- ShowUI(UIPage::ERROR, l10n_util::GetStringUTF16( |
- IDS_ARC_SIGN_IN_SERVICE_UNAVAILABLE_ERROR)); |
khmel
2016/10/12 23:46:28
This error has nothing with "Couldn't reach Google
|
+ ShowUI(UIPage::ERROR, |
+ l10n_util::GetStringUTF16(IDS_ARC_SIGN_IN_UNKNOWN_ERROR)); |
return; |
} |
@@ -904,11 +908,12 @@ void ArcAuthService::OnAndroidManagementChecked( |
void ArcAuthService::StartArcIfSignedIn() { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
- if (state_ == State::ACTIVE) |
+ if (state_ == State::ACTIVE && !IsAuthCodeRequest()) |
hidehiko
2016/10/13 15:22:00
My understanding is that; ArcAuthService shows an
khmel
2016/10/13 15:30:19
It can be requested when Arc is running on second
hidehiko
2016/10/13 15:44:31
I understand |state_| can be ACTIVE in re-auth cas
khmel
2016/10/13 15:53:21
I don't see such case. I only see case with re-aut
Yusuke Sato
2016/10/15 01:16:32
Then we can revert line 911 to the original one?
hidehiko
2016/10/17 09:23:31
Reverting will cause a problem, because the new co
|
return; |
- if (profile_->GetPrefs()->GetBoolean(prefs::kArcSignedIn) || |
- IsOptInVerificationDisabled()) { |
+ if (!IsAuthCodeRequest() && |
hidehiko
2016/10/13 15:22:00
In this case, kArcSignedIn should be set to false
khmel
2016/10/13 15:30:19
If AuthCodeRequest is set then kArcSignedIn may be
hidehiko
2016/10/13 15:44:32
Isn't kArcSignedIn represents the ARC container si
khmel
2016/10/13 15:53:21
Re-auth may occur at any moment, with or without S
Yusuke Sato
2016/10/15 01:16:32
Ok, so we don't have to fix kArcSignedIn behavior
hidehiko
2016/10/17 09:23:31
https://cs.chromium.org/chromium/src/chrome/common
|
+ (profile_->GetPrefs()->GetBoolean(prefs::kArcSignedIn) || |
+ IsOptInVerificationDisabled())) { |
StartArc(); |
} else { |
const base::CommandLine* command_line = |