New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 705982 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Bug


Sign in to add a comment

Integrate //services on iOS

Project Member Reported by blundell@chromium.org, Mar 28 2017

Issue description

The iOS port should be able to use //services and associated infrastructure (connect to a service via Service Manager, etc). In contrast with the current approach to //content of layered components, features should be able to freely connect to a service in code shared between iOS and other ports. This will enable us to significantly ease the integration of the iOS port in the codebase in the long term.

In particular, once this bug is fixed, code should not be excluded from iOS simply because it connects to a service.

Example first services to use as milestones for integration of //services on iOS: the Device Service and the Identity Service. Both of these will be needed by the iOS port.
 
BTW, concrete motivation for this bug:

Engineers are starting to move code to layered components because that code connects to services, e.g., https://codereview.chromium.org/2763103002/. We don't want this to make significant inroads into the codebase.
Components: Platform
Blockedon: 731581
Blockedon: 731582
Blockedon: 731587
Blockedon: 731588
Blockedon: 731589
Blockedon: 731590
Blockedon: 733631
Blockedon: 734561
Cc: pinkerton@chromium.org
Cc: yzshen@chromium.org
Blockedon: 739450
Blockedon: 746447
Project Member

Comment 15 by bugdroid1@chromium.org, Dec 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e3a4e201f013213ea9c61a45e7f9967070a5c91f

commit e3a4e201f013213ea9c61a45e7f9967070a5c91f
Author: Colin Blundell <blundell@chromium.org>
Date: Fri Dec 08 11:32:46 2017

Embed the Identity Service in //ios/chrome's chrome_browser service

This CL embeds the Identity Service in //ios/chrome's chrome_browser
service in preparation for upcoming work that will connect to the
Identity Service on iOS. The embedding follows that done for //chrome.

As this is the first service embedded in //ios/chrome, there is some
setup work with manifest overlays done in this CL as well.

Finally, this CL adds an EarlGrey test that tests that the connection to
the Identity Service is set up. This test can and should be extended to
test setup of other services as those are embedded in //ios/chrome.

Bug: 705982,  683120 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: If03f4215b4e7d008eb1ecb22ceb7565e72f0b891
Reviewed-on: https://chromium-review.googlesource.com/776797
Commit-Queue: Colin Blundell <blundell@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522761}
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/app/BUILD.gn
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/app/resources/BUILD.gn
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/app/resources/ios_resources.grd
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/DEPS
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/OWNERS
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/browser_state/BUILD.gn
[add] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/browser_state/browser_state_services_egtest.mm
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/browser_state/chrome_browser_state_impl.cc
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/browser_state/chrome_browser_state_impl.h
[add] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/chrome_browser_manifest_overlay.json
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/signin/BUILD.gn
[add] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/signin/DEPS
[add] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/signin/identity_service_creator.cc
[add] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/signin/identity_service_creator.h
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/web/BUILD.gn
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/web/chrome_web_client.h
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/browser/web/chrome_web_client.mm
[modify] https://crrev.com/e3a4e201f013213ea9c61a45e7f9967070a5c91f/ios/chrome/test/earl_grey/BUILD.gn

Cc: -roc...@chromium.org rockot@google.com

Sign in to add a comment