Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(848)

Side by Side Diff: components/signin/core/browser/account_reconcilor.cc

Issue 372033002: Change semantics of newProfileManagement() to accountConsistency() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix profile_chooser_controller_test Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/signin/core/browser/account_reconcilor.h" 5 #include "components/signin/core/browser/account_reconcilor.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 VLOG(1) << "AccountReconcilor::GoogleSignedOut: signed out"; 353 VLOG(1) << "AccountReconcilor::GoogleSignedOut: signed out";
354 gaia_fetcher_.reset(); 354 gaia_fetcher_.reset();
355 get_gaia_accounts_callbacks_.clear(); 355 get_gaia_accounts_callbacks_.clear();
356 AbortReconcile(); 356 AbortReconcile();
357 UnregisterWithTokenService(); 357 UnregisterWithTokenService();
358 UnregisterForCookieChanges(); 358 UnregisterForCookieChanges();
359 PerformLogoutAllAccountsAction(); 359 PerformLogoutAllAccountsAction();
360 } 360 }
361 361
362 void AccountReconcilor::PerformMergeAction(const std::string& account_id) { 362 void AccountReconcilor::PerformMergeAction(const std::string& account_id) {
363 if (!switches::IsNewProfileManagement()) { 363 if (!switches::IsEnableAccountConsistency()) {
364 MarkAccountAsAddedToCookie(account_id); 364 MarkAccountAsAddedToCookie(account_id);
365 return; 365 return;
366 } 366 }
367 VLOG(1) << "AccountReconcilor::PerformMergeAction: " << account_id; 367 VLOG(1) << "AccountReconcilor::PerformMergeAction: " << account_id;
368 merge_session_helper_.LogIn(account_id); 368 merge_session_helper_.LogIn(account_id);
369 } 369 }
370 370
371 void AccountReconcilor::PerformStartRemoveAction( 371 void AccountReconcilor::PerformStartRemoveAction(
372 const std::string& account_id) { 372 const std::string& account_id) {
373 VLOG(1) << "AccountReconcilor::PerformStartRemoveAction: " << account_id; 373 VLOG(1) << "AccountReconcilor::PerformStartRemoveAction: " << account_id;
374 GetAccountsFromCookie(base::Bind( 374 GetAccountsFromCookie(base::Bind(
375 &AccountReconcilor::PerformFinishRemoveAction, 375 &AccountReconcilor::PerformFinishRemoveAction,
376 base::Unretained(this), 376 base::Unretained(this),
377 account_id)); 377 account_id));
378 } 378 }
379 379
380 void AccountReconcilor::PerformFinishRemoveAction( 380 void AccountReconcilor::PerformFinishRemoveAction(
381 const std::string& account_id, 381 const std::string& account_id,
382 const GoogleServiceAuthError& error, 382 const GoogleServiceAuthError& error,
383 const std::vector<std::pair<std::string, bool> >& accounts) { 383 const std::vector<std::pair<std::string, bool> >& accounts) {
384 if (!switches::IsNewProfileManagement()) 384 if (!switches::IsEnableAccountConsistency())
385 return; 385 return;
386 VLOG(1) << "AccountReconcilor::PerformFinishRemoveAction:" 386 VLOG(1) << "AccountReconcilor::PerformFinishRemoveAction:"
387 << " account=" << account_id << " error=" << error.ToString(); 387 << " account=" << account_id << " error=" << error.ToString();
388 if (error.state() == GoogleServiceAuthError::NONE) { 388 if (error.state() == GoogleServiceAuthError::NONE) {
389 AbortReconcile(); 389 AbortReconcile();
390 std::vector<std::string> accounts_only; 390 std::vector<std::string> accounts_only;
391 for (std::vector<std::pair<std::string, bool> >::const_iterator i = 391 for (std::vector<std::pair<std::string, bool> >::const_iterator i =
392 accounts.begin(); 392 accounts.begin();
393 i != accounts.end(); 393 i != accounts.end();
394 ++i) { 394 ++i) {
395 accounts_only.push_back(i->first); 395 accounts_only.push_back(i->first);
396 } 396 }
397 merge_session_helper_.LogOut(account_id, accounts_only); 397 merge_session_helper_.LogOut(account_id, accounts_only);
398 } 398 }
399 // Wait for the next ReconcileAction if there is an error. 399 // Wait for the next ReconcileAction if there is an error.
400 } 400 }
401 401
402 void AccountReconcilor::PerformAddToChromeAction( 402 void AccountReconcilor::PerformAddToChromeAction(
403 const std::string& account_id, 403 const std::string& account_id,
404 int session_index, 404 int session_index,
405 const std::string& signin_scoped_device_id) { 405 const std::string& signin_scoped_device_id) {
406 if (!switches::IsNewProfileManagement()) { 406 if (!switches::IsEnableAccountConsistency()) {
407 MarkAccountAsAddedToChrome(account_id); 407 MarkAccountAsAddedToChrome(account_id);
408 return; 408 return;
409 } 409 }
410 VLOG(1) << "AccountReconcilor::PerformAddToChromeAction:" 410 VLOG(1) << "AccountReconcilor::PerformAddToChromeAction:"
411 << " account=" << account_id << " session_index=" << session_index; 411 << " account=" << account_id << " session_index=" << session_index;
412 412
413 #if !defined(OS_ANDROID) && !defined(OS_IOS) 413 #if !defined(OS_ANDROID) && !defined(OS_IOS)
414 refresh_token_fetchers_.push_back(new RefreshTokenFetcher( 414 refresh_token_fetchers_.push_back(new RefreshTokenFetcher(
415 this, account_id, session_index, signin_scoped_device_id)); 415 this, account_id, session_index, signin_scoped_device_id));
416 #endif 416 #endif
417 } 417 }
418 418
419 void AccountReconcilor::PerformLogoutAllAccountsAction() { 419 void AccountReconcilor::PerformLogoutAllAccountsAction() {
420 if (!switches::IsNewProfileManagement()) 420 if (!switches::IsEnableAccountConsistency())
421 return; 421 return;
422 VLOG(1) << "AccountReconcilor::PerformLogoutAllAccountsAction"; 422 VLOG(1) << "AccountReconcilor::PerformLogoutAllAccountsAction";
423 merge_session_helper_.LogOutAllAccounts(); 423 merge_session_helper_.LogOutAllAccounts();
424 } 424 }
425 425
426 void AccountReconcilor::StartReconcile() { 426 void AccountReconcilor::StartReconcile() {
427 if (!IsProfileConnected() || is_reconcile_started_ || 427 if (!IsProfileConnected() || is_reconcile_started_ ||
428 get_gaia_accounts_callbacks_.size() > 0 || 428 get_gaia_accounts_callbacks_.size() > 0 ||
429 merge_session_helper_.is_running()) 429 merge_session_helper_.is_running())
430 return; 430 return;
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 const std::string& account_id) { 756 const std::string& account_id) {
757 invalid_chrome_accounts_.insert(account_id); 757 invalid_chrome_accounts_.insert(account_id);
758 FinishReconcile(); 758 FinishReconcile();
759 } 759 }
760 760
761 void AccountReconcilor::PerformAddAccountToTokenService( 761 void AccountReconcilor::PerformAddAccountToTokenService(
762 const std::string& account_id, 762 const std::string& account_id,
763 const std::string& refresh_token) { 763 const std::string& refresh_token) {
764 // The flow should never get to this method if new_profile_management is 764 // The flow should never get to this method if new_profile_management is
765 // false, but better safe than sorry. 765 // false, but better safe than sorry.
766 if (!switches::IsNewProfileManagement()) 766 if (!switches::IsEnableAccountConsistency())
767 return; 767 return;
768 token_service_->UpdateCredentials(account_id, refresh_token); 768 token_service_->UpdateCredentials(account_id, refresh_token);
769 } 769 }
770 770
771 // Remove the account from the list that is being updated. 771 // Remove the account from the list that is being updated.
772 void AccountReconcilor::MarkAccountAsAddedToChrome( 772 void AccountReconcilor::MarkAccountAsAddedToChrome(
773 const std::string& account_id) { 773 const std::string& account_id) {
774 for (std::vector<std::pair<std::string, int> >::iterator i = 774 for (std::vector<std::pair<std::string, int> >::iterator i =
775 add_to_chrome_.begin(); 775 add_to_chrome_.begin();
776 i != add_to_chrome_.end(); 776 i != add_to_chrome_.end();
777 ++i) { 777 ++i) {
778 if (gaia::AreEmailsSame(account_id, i->first)) { 778 if (gaia::AreEmailsSame(account_id, i->first)) {
779 add_to_chrome_.erase(i); 779 add_to_chrome_.erase(i);
780 break; 780 break;
781 } 781 }
782 } 782 }
783 } 783 }
784 784
785 void AccountReconcilor::HandleRefreshTokenFetched( 785 void AccountReconcilor::HandleRefreshTokenFetched(
786 const std::string& account_id, 786 const std::string& account_id,
787 const std::string& refresh_token) { 787 const std::string& refresh_token) {
788 if (!refresh_token.empty()) 788 if (!refresh_token.empty())
789 PerformAddAccountToTokenService(account_id, refresh_token); 789 PerformAddAccountToTokenService(account_id, refresh_token);
790 790
791 MarkAccountAsAddedToChrome(account_id); 791 MarkAccountAsAddedToChrome(account_id);
792 CalculateIfReconcileIsDone(); 792 CalculateIfReconcileIsDone();
793 } 793 }
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_content_renderer_client.cc ('k') | components/signin/core/common/profile_management_switches.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698