Chromium Code Reviews| OLD | NEW |
|---|---|
| 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_tracker_service.h" | 5 #include "components/signin/core/browser/account_tracker_service.h" |
| 6 | 6 |
| 7 #include "base/debug/trace_event.h" | 7 #include "base/debug/trace_event.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "base/prefs/scoped_user_pref_update.h" | 9 #include "base/prefs/scoped_user_pref_update.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 435 } | 435 } |
| 436 } | 436 } |
| 437 | 437 |
| 438 void AccountTrackerService::LoadFromTokenService() { | 438 void AccountTrackerService::LoadFromTokenService() { |
| 439 std::vector<std::string> accounts = token_service_->GetAccounts(); | 439 std::vector<std::string> accounts = token_service_->GetAccounts(); |
| 440 for (std::vector<std::string>::const_iterator it = accounts.begin(); | 440 for (std::vector<std::string>::const_iterator it = accounts.begin(); |
| 441 it != accounts.end(); ++it) { | 441 it != accounts.end(); ++it) { |
| 442 OnRefreshTokenAvailable(*it); | 442 OnRefreshTokenAvailable(*it); |
| 443 } | 443 } |
| 444 } | 444 } |
| 445 | |
| 446 std::string AccountTrackerService::PickAccountIdForAccount( | |
| 447 const std::string& gaia, | |
| 448 const std::string& email) { | |
| 449 return PickAccountIdForAccount(pref_service_, gaia, email); | |
| 450 } | |
| 451 | |
| 452 // static | |
| 453 std::string AccountTrackerService::PickAccountIdForAccount( | |
| 454 PrefService* pref_service, | |
| 455 const std::string& gaia, | |
| 456 const std::string& email) { | |
| 457 DCHECK(!gaia.empty()); | |
|
bartfab (slow)
2014/10/14 17:12:38
Nit: #include "base/logging.h"
Roger Tawa OOO till Jul 10th
2014/10/16 02:39:32
Done.
| |
| 458 DCHECK(!email.empty()); | |
| 459 switch(GetMigrationState(pref_service)) { | |
| 460 case MIGRATION_NOT_STARTED: | |
| 461 case MIGRATION_IN_PROGRESS: | |
| 462 return gaia::CanonicalizeEmail(gaia::SanitizeEmail(email)); | |
| 463 case MIGRATION_DONE: | |
| 464 return gaia; | |
| 465 default: | |
| 466 NOTREACHED(); | |
| 467 return email; | |
| 468 } | |
| 469 } | |
| 470 | |
| 471 void AccountTrackerService::SeedAccountInfo(const std::string& gaia, | |
| 472 const std::string& email) { | |
| 473 DCHECK(!gaia.empty()); | |
| 474 DCHECK(!email.empty()); | |
| 475 const std::string account_id = PickAccountIdForAccount(gaia, email); | |
| 476 bool already_exists = ContainsKey(accounts_, account_id); | |
|
bartfab (slow)
2014/10/14 17:12:38
Nit: const.
Roger Tawa OOO till Jul 10th
2014/10/16 02:39:32
Done.
| |
| 477 StartTrackingAccount(account_id); | |
| 478 AccountState& state = accounts_[account_id]; | |
| 479 DCHECK(!already_exists || state.info.gaia == gaia); | |
| 480 state.info.gaia = gaia; | |
| 481 state.info.email = email; | |
| 482 SaveToPrefs(state); | |
| 483 } | |
| OLD | NEW |