Index: chrome/browser/managed_mode/managed_user_service.cc |
diff --git a/chrome/browser/managed_mode/managed_user_service.cc b/chrome/browser/managed_mode/managed_user_service.cc |
index d407d6eecf28269f409dfd3de72b7bda29088163..6e150ab99c6dc4cd09894775fc7f1b06ace260b3 100644 |
--- a/chrome/browser/managed_mode/managed_user_service.cc |
+++ b/chrome/browser/managed_mode/managed_user_service.cc |
@@ -450,7 +450,7 @@ void ManagedUserService::InitForTesting() { |
Init(); |
} |
-void ManagedUserService::InitSync(const std::string& sync_token) { |
+void ManagedUserService::InitSync(const std::string& refresh_token) { |
ProfileSyncService* service = |
ProfileSyncServiceFactory::GetForProfile(profile_); |
DCHECK(!service->sync_initialized()); |
@@ -459,7 +459,8 @@ void ManagedUserService::InitSync(const std::string& sync_token) { |
service->SetSetupInProgress(true); |
TokenService* token_service = TokenServiceFactory::GetForProfile(profile_); |
- token_service->AddAuthTokenManually(GaiaConstants::kSyncService, sync_token); |
+ token_service->UpdateCredentialsWithOAuth2( |
+ GaiaAuthConsumer::ClientOAuthResult(refresh_token, std::string(), 0)); |
bool sync_everything = false; |
syncer::ModelTypeSet synced_datatypes; |
@@ -486,6 +487,11 @@ void ManagedUserService::Init() { |
command_line->GetSwitchValueASCII(switches::kManagedUserSyncToken)); |
} |
+ // TokenService only loads tokens automatically if we're signed in, so we have |
+ // to nudge it ourselves. |
+ TokenService* token_service = TokenServiceFactory::GetForProfile(profile_); |
+ token_service->LoadTokensFromDB(); |
+ |
extensions::ExtensionSystem* extension_system = |
extensions::ExtensionSystem::Get(profile_); |
extensions::ManagementPolicy* management_policy = |