[iOS] Bring up support for per-user services on iOS
This CL augments the existing ServiceManager embedding on iOS with support for per-user embedded services. A "per-user" service is one that has one instance per user, rather than a shared instance for all users. Concretely, each BrowserState has a unique UserID, and there is one instance of a per-user service per UserID. Essentially, one can think of per-user services as the equivalent of profile-keyed services in the services world. The support added in this CL closely follows that of //content: - Public APIs are identical - Implementation in BrowserState follows that of BrowserContext with minor changes: - iOS doesn't use File Service at this time - No client of //ios/web needs to override how a user ID is generated This CL adds an Earl Grey test of web_shell that a per-user service can be embedded and if connected to from a given BrowserState, has its user ID properly associated with that of the BrowserState. Finally, this added support requires that all BrowserState subclasses call BrowserState::Initialize(). This is also done in this CL. Bug: 731588 Change-Id: Ie3bb79d4f754aecddd9c35c72576262dfc87cb55 Reviewed-on: https://chromium-review.googlesource.com/559529Reviewed-by:Ken Rockot <rockot@chromium.org> Reviewed-by:
Eugene But <eugenebut@chromium.org> Reviewed-by:
Tom Sepez <tsepez@chromium.org> Reviewed-by:
Sylvain Defresne <sdefresne@chromium.org> Commit-Queue: Colin Blundell <blundell@chromium.org> Cr-Commit-Position: refs/heads/master@{#485547}
Showing
Please register or sign in to comment