cf. the discussion on https://chromium-review.googlesource.com/c/chromium/src/+/776797/4:
Q: Is this the pattern that is going to be used for all services? Add a method to create the instance to chrome_browser_state_impl.cc? Isn't this is a step back from KeyedServices?
A: This is a great question. You can think of this stage as being a rough analogue of ChromeBrowserMainExtraPartsProfiles::EnsureBrowserContextKeyedServicesBuilt(). *Something* needs to register all the services that are embedded in the chrome_browser service. We could certainly add a generic interface to ChromeBrowserState that adds a registration function; that interface would have to be invoked before this call to BrowserState::RegisterServices() is made. However, that just pushes the problem somewhere else: What is going to invoke that interface for e.g. the Identity Service to ensure that the Identity Service is registered with this ChromeBrowserState?
Comment 1 by sheriffbot@chromium.org
, Nov 22