| Index: components/signin/core/browser/account_fetcher_service.cc
|
| diff --git a/components/signin/core/browser/account_fetcher_service.cc b/components/signin/core/browser/account_fetcher_service.cc
|
| index 22c804f6b496723a0a935e75abe82b37765e7d51..2e42959389cde3eaf39a16ed8fad40f9df1d20db 100644
|
| --- a/components/signin/core/browser/account_fetcher_service.cc
|
| +++ b/components/signin/core/browser/account_fetcher_service.cc
|
| @@ -55,6 +55,7 @@ AccountFetcherService::AccountFetcherService()
|
| invalidation_service_(nullptr),
|
| network_fetches_enabled_(false),
|
| shutdown_called_(false),
|
| + refresh_required_on_load_(false),
|
| child_info_request_(nullptr) {}
|
|
|
| AccountFetcherService::~AccountFetcherService() {
|
| @@ -168,7 +169,10 @@ void AccountFetcherService::ScheduleNextRefresh() {
|
|
|
| const base::TimeDelta time_since_update = base::Time::Now() - last_updated_;
|
| if(time_since_update > kRefreshFromTokenServiceDelay) {
|
| - RefreshAllAccountsAndScheduleNext();
|
| + // The service is due for a refresh but the TokenService isn't ready at this
|
| + // point so |refresh_required_on_load_| is set to make sure we update all
|
| + // the accounts in OnRefreshTokensLoaded().
|
| + refresh_required_on_load_ = true;
|
| } else {
|
| timer_.Start(FROM_HERE, kRefreshFromTokenServiceDelay - time_since_update,
|
| this,
|
| @@ -317,6 +321,6 @@ void AccountFetcherService::OnRefreshTokenRevoked(
|
| void AccountFetcherService::OnRefreshTokensLoaded() {
|
| // OnRefreshTokenAvailable has been called for all accounts by this point.
|
| // Maybe remove this after further investigation.
|
| - RefreshAllAccountInfo(true);
|
| + RefreshAllAccountInfo(!refresh_required_on_load_);
|
| UpdateChildInfo();
|
| }
|
|
|