Ideally, SyncClient should be about "core" dependencies that ProfileSyncService relies on to run sync. Datatype-specific dependencies should be listed elsewhere.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/24edd8dfc007d6972622e7cacead7f1fe75215fe commit 24edd8dfc007d6972622e7cacead7f1fe75215fe Author: Mikel Astiz <mastiz@chromium.org> Date: Mon Dec 17 12:04:29 2018 Remove sync CreateLocalDeviceInfoProvider Instead, the dependency can be injected as argument to ProfileSyncService's constructor. Bug: 915154 Change-Id: I01455716c83701014cc6c632709136e6b078f952 Reviewed-on: https://chromium-review.googlesource.com/c/1378090 Reviewed-by: John Wu <jzw@chromium.org> Reviewed-by: Marc Treib <treib@chromium.org> Commit-Queue: Mikel Astiz <mastiz@chromium.org> Cr-Commit-Position: refs/heads/master@{#617091} [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/chrome/browser/sync/chrome_sync_client.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/chrome/browser/sync/profile_sync_service_factory.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/chrome/browser/sync/profile_sync_test_util.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/browser_sync/profile_sync_components_factory_impl.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/browser_sync/profile_sync_components_factory_impl.h [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/browser_sync/profile_sync_service.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/browser_sync/profile_sync_service.h [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/browser_sync/profile_sync_service_unittest.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/browser_sync/profile_sync_test_util.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/sync/device_info/local_device_info_provider.h [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/sync/device_info/local_device_info_provider_impl.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/sync/device_info/local_device_info_provider_impl.h [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/sync/device_info/local_device_info_provider_mock.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/sync/device_info/local_device_info_provider_mock.h [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/sync/driver/sync_api_component_factory.h [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/sync/driver/sync_api_component_factory_mock.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/components/sync/driver/sync_api_component_factory_mock.h [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/ios/chrome/browser/sync/BUILD.gn [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/ios/chrome/browser/sync/ios_chrome_profile_sync_test_util.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/ios/chrome/browser/sync/ios_chrome_sync_client.mm [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/ios/chrome/browser/sync/profile_sync_service_factory.cc [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/ios/web_view/internal/sync/cwv_sync_controller_unittest.mm [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/ios/web_view/internal/sync/web_view_profile_sync_service_factory.mm [modify] https://crrev.com/24edd8dfc007d6972622e7cacead7f1fe75215fe/ios/web_view/internal/sync/web_view_sync_client.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/26f2a38310463295809c84c57c64a8fe98f7afb8 commit 26f2a38310463295809c84c57c64a8fe98f7afb8 Author: Mikel Astiz <mastiz@chromium.org> Date: Mon Dec 17 14:22:38 2018 Move ProfileSyncService init logic to constructor Mostly relevant for tests only, since all embedders call Initialize() immediately after the constructor. Doing more work in the constructor guarantees that datatype controllers already receive a fully-initialized (at least more initialized) SyncService during their construction. Bug: 915154 Change-Id: Iaf80556d928d3225a23317c0101818fc273d7e8b Reviewed-on: https://chromium-review.googlesource.com/c/1375711 Commit-Queue: Mikel Astiz <mastiz@chromium.org> Reviewed-by: Marc Treib <treib@chromium.org> Cr-Commit-Position: refs/heads/master@{#617113} [modify] https://crrev.com/26f2a38310463295809c84c57c64a8fe98f7afb8/components/browser_sync/profile_sync_service.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4cd2ad507796758b9844221f02110657e86c7dec commit 4cd2ad507796758b9844221f02110657e86c7dec Author: Mikel Astiz <mastiz@chromium.org> Date: Wed Dec 19 07:26:33 2018 Remove SigninScopedDeviceIdCallback from ProfileSyncService LocalDeviceInfoProvider fits better and simplifies core ProfileSyncService which is already complex enough. Bug: 915154 Change-Id: I62b276357877c20528d8a5794d1e5ff8073f1420 Reviewed-on: https://chromium-review.googlesource.com/c/1380011 Reviewed-by: Karan Bhatia <karandeepb@chromium.org> Reviewed-by: Peter Kasting <pkasting@chromium.org> Reviewed-by: Marc Treib <treib@chromium.org> Commit-Queue: Mikel Astiz <mastiz@chromium.org> Cr-Commit-Position: refs/heads/master@{#617756} [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/chrome/browser/extensions/api/sessions/sessions_apitest.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/chrome/browser/sync/profile_sync_service_factory.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/chrome/browser/sync/profile_sync_test_util.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/components/browser_sync/profile_sync_service.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/components/browser_sync/profile_sync_service.h [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/components/browser_sync/profile_sync_test_util.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/components/sync/device_info/local_device_info_provider.h [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/components/sync/device_info/local_device_info_provider_impl.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/components/sync/device_info/local_device_info_provider_impl.h [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/components/sync/device_info/local_device_info_provider_impl_unittest.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/components/sync/device_info/local_device_info_provider_mock.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/components/sync/device_info/local_device_info_provider_mock.h [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/ios/chrome/browser/sync/ios_chrome_profile_sync_test_util.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/ios/chrome/browser/sync/profile_sync_service_factory.cc [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/ios/web_view/internal/sync/cwv_sync_controller_unittest.mm [modify] https://crrev.com/4cd2ad507796758b9844221f02110657e86c7dec/ios/web_view/internal/sync/web_view_profile_sync_service_factory.mm
Comment 1 by bugdroid1@chromium.org
, Dec 17