| Index: chrome/browser/profiles/profile_impl.cc | 
| diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc | 
| index cce1253528ea7d313cd6b756e0f0a9cec4a064e5..8cf0d1b3e925b3959278ab4cf7185264b9a30f5a 100644 | 
| --- a/chrome/browser/profiles/profile_impl.cc | 
| +++ b/chrome/browser/profiles/profile_impl.cc | 
| @@ -118,6 +118,8 @@ | 
| #include "extensions/features/features.h" | 
| #include "ppapi/features/features.h" | 
| #include "printing/features/features.h" | 
| +#include "services/identity/identity_service.h" | 
| +#include "services/identity/public/interfaces/constants.mojom.h" | 
| #include "services/preferences/public/cpp/pref_service_main.h" | 
| #include "services/preferences/public/interfaces/preferences.mojom.h" | 
| #include "services/preferences/public/interfaces/tracked_preference_validation_delegate.mojom.h" | 
| @@ -1075,6 +1077,19 @@ void ProfileImpl::RegisterInProcessServices(StaticServiceMap* services) { | 
| content::BrowserThread::IO); | 
| services->insert(std::make_pair(prefs::mojom::kPrefStoreServiceName, info)); | 
| } | 
| + | 
| +  content::ServiceInfo identity_service_info; | 
| + | 
| +  // The Identity Service must run on the UI thread. | 
| +  identity_service_info.task_runner = base::ThreadTaskRunnerHandle::Get(); | 
| + | 
| +  // NOTE: The dependencies of the Identity Service have not yet been created, | 
| +  // so it is not possible to bind them here. Instead, bind them at the time | 
| +  // of the actual request to create the Identity Service. | 
| +  identity_service_info.factory = | 
| +      base::Bind(&ProfileImpl::CreateIdentityService, base::Unretained(this)); | 
| +  services->insert( | 
| +      std::make_pair(identity::mojom::kServiceName, identity_service_info)); | 
| } | 
|  | 
| bool ProfileImpl::IsSameProfile(Profile* profile) { | 
| @@ -1333,3 +1348,8 @@ ProfileImpl::CreateDomainReliabilityMonitor(PrefService* local_state) { | 
| return service->CreateMonitor( | 
| BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)); | 
| } | 
| + | 
| +std::unique_ptr<service_manager::Service> ProfileImpl::CreateIdentityService() { | 
| +  SigninManagerBase* signin_manager = SigninManagerFactory::GetForProfile(this); | 
| +  return base::MakeUnique<identity::IdentityService>(signin_manager); | 
| +} | 
|  |