| Index: components/signin/core/browser/account_reconcilor.cc
|
| diff --git a/components/signin/core/browser/account_reconcilor.cc b/components/signin/core/browser/account_reconcilor.cc
|
| index 6156603ab89105b5ab052ed69f2869164afcb501..c5077bb1f12136e3d854f64fcb99c0d2308bd395 100644
|
| --- a/components/signin/core/browser/account_reconcilor.cc
|
| +++ b/components/signin/core/browser/account_reconcilor.cc
|
| @@ -359,8 +359,10 @@ void AccountReconcilor::GoogleSignedOut(const std::string& username) {
|
| }
|
|
|
| void AccountReconcilor::PerformMergeAction(const std::string& account_id) {
|
| - if (!switches::IsNewProfileManagement())
|
| + if (!switches::IsNewProfileManagement()) {
|
| + MarkAccountAsAddedToCookie(account_id);
|
| return;
|
| + }
|
| VLOG(1) << "AccountReconcilor::PerformMergeAction: " << account_id;
|
| merge_session_helper_.LogIn(account_id);
|
| }
|
| @@ -398,8 +400,10 @@ void AccountReconcilor::PerformFinishRemoveAction(
|
|
|
| void AccountReconcilor::PerformAddToChromeAction(const std::string& account_id,
|
| int session_index) {
|
| - if (!switches::IsNewProfileManagement())
|
| + if (!switches::IsNewProfileManagement()) {
|
| + MarkAccountAsAddedToChrome(account_id);
|
| return;
|
| + }
|
| VLOG(1) << "AccountReconcilor::PerformAddToChromeAction:"
|
| << " account=" << account_id << " session_index=" << session_index;
|
|
|
| @@ -708,13 +712,9 @@ void AccountReconcilor::ScheduleStartReconcileIfChromeAccountsChanged() {
|
| }
|
| }
|
|
|
| -void AccountReconcilor::MergeSessionCompleted(
|
| - const std::string& account_id,
|
| - const GoogleServiceAuthError& error) {
|
| - VLOG(1) << "AccountReconcilor::MergeSessionCompleted: account_id="
|
| - << account_id;
|
| -
|
| - // Remove the account from the list that is being merged.
|
| +// Remove the account from the list that is being merged.
|
| +void AccountReconcilor::MarkAccountAsAddedToCookie(
|
| + const std::string& account_id) {
|
| for (std::vector<std::string>::iterator i = add_to_cookie_.begin();
|
| i != add_to_cookie_.end();
|
| ++i) {
|
| @@ -723,7 +723,15 @@ void AccountReconcilor::MergeSessionCompleted(
|
| break;
|
| }
|
| }
|
| +}
|
| +
|
| +void AccountReconcilor::MergeSessionCompleted(
|
| + const std::string& account_id,
|
| + const GoogleServiceAuthError& error) {
|
| + VLOG(1) << "AccountReconcilor::MergeSessionCompleted: account_id="
|
| + << account_id;
|
|
|
| + MarkAccountAsAddedToCookie(account_id);
|
| CalculateIfReconcileIsDone();
|
| ScheduleStartReconcileIfChromeAccountsChanged();
|
| }
|
| @@ -750,13 +758,9 @@ void AccountReconcilor::PerformAddAccountToTokenService(
|
| token_service_->UpdateCredentials(account_id, refresh_token);
|
| }
|
|
|
| -void AccountReconcilor::HandleRefreshTokenFetched(
|
| - const std::string& account_id,
|
| - const std::string& refresh_token) {
|
| - if (!refresh_token.empty()) {
|
| - PerformAddAccountToTokenService(account_id, refresh_token);
|
| - }
|
| - // Remove the account from the list that is being updated.
|
| +// Remove the account from the list that is being updated.
|
| +void AccountReconcilor::MarkAccountAsAddedToChrome(
|
| + const std::string& account_id) {
|
| for (std::vector<std::pair<std::string, int> >::iterator i =
|
| add_to_chrome_.begin();
|
| i != add_to_chrome_.end();
|
| @@ -766,6 +770,14 @@ void AccountReconcilor::HandleRefreshTokenFetched(
|
| break;
|
| }
|
| }
|
| +}
|
| +
|
| +void AccountReconcilor::HandleRefreshTokenFetched(
|
| + const std::string& account_id,
|
| + const std::string& refresh_token) {
|
| + if (!refresh_token.empty())
|
| + PerformAddAccountToTokenService(account_id, refresh_token);
|
|
|
| + MarkAccountAsAddedToChrome(account_id);
|
| CalculateIfReconcileIsDone();
|
| }
|
|
|