Add a new enterprise policy (backed by a command line flag for consumer testing) to select the local sync backend. A second policy should dictate where the local sync db is to be placed.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a commit d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a Author: pastarmovj <pastarmovj@chromium.org> Date: Wed Nov 02 14:57:47 2016 Adds a new switch for enabling the new local server backend. Actually two flags which play in tandem: --enable-local-sync-backend and --local-sync-backend-dir The second is respected only if the first one is specified. Eventually those will be controlled by policy but the flags will allow easier testing and potentially unlock the feature for advanced users. For now sign-in is needed to kick the sync logic on but the data is only stored locally when this flag is specified. BUG= 651411 TEST=unit_tests/manual. Review-Url: https://codereview.chromium.org/2442453002 Cr-Commit-Position: refs/heads/master@{#429280} [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/browser_sync/browser_sync_switches.cc [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/browser_sync/browser_sync_switches.h [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/browser_sync/profile_sync_service.cc [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/browser_sync/profile_sync_service_unittest.cc [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/driver/glue/sync_backend_host.h [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/driver/glue/sync_backend_host_core.cc [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/driver/glue/sync_backend_host_core.h [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/driver/glue/sync_backend_host_impl.cc [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/driver/glue/sync_backend_host_impl.h [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/driver/glue/sync_backend_host_impl_unittest.cc [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/driver/glue/sync_backend_host_mock.cc [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/driver/glue/sync_backend_host_mock.h [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/engine/sync_manager.cc [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/engine/sync_manager.h [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/engine_impl/loopback_server/loopback_server.cc [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/engine_impl/sync_manager_impl.cc [modify] https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a/components/sync/engine_impl/sync_manager_impl.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/78dd9909be3e5dc00573387ba54e79010624d198 commit 78dd9909be3e5dc00573387ba54e79010624d198 Author: rouslan <rouslan@chromium.org> Date: Wed Nov 02 15:46:10 2016 Revert of [Sync] Adds a new switch for enabling the new local server backend. (patchset #6 id:100001 of https://codereview.chromium.org/2442453002/ ) Reason for revert: Speculative revert to fix "sizes" on "Linux x64" bot. Failed build: https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/27974 Error message: FAILED linux-release-64/sizes/chrome-si/initializers: actual 8, expected 7, better lower Most likely due to using: const base::FilePath::StringType kLoopbackServerBackendFilename instead of static const base::FilePath::CharType kLoopbackServerBackendFilename[] as on line 153 in profile_sync_service.cc. Original issue's description: > Adds a new switch for enabling the new local server backend. > > Actually two flags which play in tandem: > > --enable-local-sync-backend and --local-sync-backend-dir > > The second is respected only if the first one is specified. > Eventually those will be controlled by policy but the flags will allow > easier testing and potentially unlock the feature for advanced users. > > For now sign-in is needed to kick the sync logic on but the data > is only stored locally when this flag is specified. > > BUG= 651411 > TEST=unit_tests/manual. > > Committed: https://crrev.com/d69772aa33ea1ad4e53b5236bb66fc92c1e7cc0a > Cr-Commit-Position: refs/heads/master@{#429280} TBR=pavely@chromium.org,pastarmovj@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 651411 Review-Url: https://codereview.chromium.org/2470153002 Cr-Commit-Position: refs/heads/master@{#429284} [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/browser_sync/browser_sync_switches.cc [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/browser_sync/browser_sync_switches.h [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/browser_sync/profile_sync_service.cc [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/browser_sync/profile_sync_service_unittest.cc [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/driver/glue/sync_backend_host.h [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/driver/glue/sync_backend_host_core.cc [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/driver/glue/sync_backend_host_core.h [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/driver/glue/sync_backend_host_impl.cc [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/driver/glue/sync_backend_host_impl.h [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/driver/glue/sync_backend_host_impl_unittest.cc [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/driver/glue/sync_backend_host_mock.cc [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/driver/glue/sync_backend_host_mock.h [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/engine/sync_manager.cc [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/engine/sync_manager.h [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/engine_impl/loopback_server/loopback_server.cc [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/engine_impl/sync_manager_impl.cc [modify] https://crrev.com/78dd9909be3e5dc00573387ba54e79010624d198/components/sync/engine_impl/sync_manager_impl.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18 commit 43c6f026f1f50ed3e656f9c96f1b49b78afbfb18 Author: pastarmovj <pastarmovj@chromium.org> Date: Thu Nov 03 13:23:41 2016 Adds a new switch for enabling the new local server backend. Actually two flags which play in tandem: --enable-local-sync-backend and --local-sync-backend-dir The second is respected only if the first one is specified. Eventually those will be controlled by policy but the flags will allow easier testing and potentially unlock the feature for advanced users. For now sign-in is needed to kick the sync logic on but the data is only stored locally when this flag is specified. This CL is identical to https://codereview.chromium.org/2442453002/ with only a changed type of the kLoopbackServerBackendFilename constant according to the size bot recommendation. BUG= 651411 TEST=unit_tests/manual. TBR=pavely Review-Url: https://codereview.chromium.org/2473613003 Cr-Commit-Position: refs/heads/master@{#429558} [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/browser_sync/browser_sync_switches.cc [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/browser_sync/browser_sync_switches.h [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/browser_sync/profile_sync_service.cc [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/browser_sync/profile_sync_service_unittest.cc [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/driver/glue/sync_backend_host.h [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/driver/glue/sync_backend_host_core.cc [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/driver/glue/sync_backend_host_core.h [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/driver/glue/sync_backend_host_impl.cc [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/driver/glue/sync_backend_host_impl.h [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/driver/glue/sync_backend_host_impl_unittest.cc [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/driver/glue/sync_backend_host_mock.cc [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/driver/glue/sync_backend_host_mock.h [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/engine/sync_manager.cc [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/engine/sync_manager.h [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/engine_impl/loopback_server/loopback_server.cc [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/engine_impl/sync_manager_impl.cc [modify] https://crrev.com/43c6f026f1f50ed3e656f9c96f1b49b78afbfb18/components/sync/engine_impl/sync_manager_impl.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0c13de516027b0ac22acc891b40fea8b7149240b commit 0c13de516027b0ac22acc891b40fea8b7149240b Author: pastarmovj <pastarmovj@chromium.org> Date: Fri Dec 02 21:28:41 2016 Rewire the local sync switches through the pref store. This CL is precursor to backing the switches by policies. BUG= 651411 TEST=unit tests, manual Review-Url: https://codereview.chromium.org/2528163002 Cr-Commit-Position: refs/heads/master@{#436032} [modify] https://crrev.com/0c13de516027b0ac22acc891b40fea8b7149240b/chrome/browser/prefs/chrome_command_line_pref_store.cc [modify] https://crrev.com/0c13de516027b0ac22acc891b40fea8b7149240b/components/browser_sync/profile_sync_service.cc [modify] https://crrev.com/0c13de516027b0ac22acc891b40fea8b7149240b/components/sync/base/pref_names.cc [modify] https://crrev.com/0c13de516027b0ac22acc891b40fea8b7149240b/components/sync/base/pref_names.h [modify] https://crrev.com/0c13de516027b0ac22acc891b40fea8b7149240b/components/sync/base/sync_prefs.cc [modify] https://crrev.com/0c13de516027b0ac22acc891b40fea8b7149240b/components/sync/base/sync_prefs.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6c8750f1522c8c67c16d40de5d7c91ecb181b8f9 commit 6c8750f1522c8c67c16d40de5d7c91ecb181b8f9 Author: pastarmovj <pastarmovj@chromium.org> Date: Thu Dec 22 15:43:25 2016 Add policies for controlling the roaming profile status and location. Introduces two new policies: RoamingProfileSupportEnabled which is tied to the the kLocalSyncBackendEnabled pref and starts or stops the roaming profile support. RoamingProfileLocation which specifies the location for the roaming profile file and is tied to the kLocalSyncBackendLocation pref. BUG= 651411 TEST=browser_tests Review-Url: https://codereview.chromium.org/2588423005 Cr-Commit-Position: refs/heads/master@{#440427} [modify] https://crrev.com/6c8750f1522c8c67c16d40de5d7c91ecb181b8f9/chrome/browser/policy/configuration_policy_handler_list_factory.cc [modify] https://crrev.com/6c8750f1522c8c67c16d40de5d7c91ecb181b8f9/chrome/test/data/policy/policy_test_cases.json [modify] https://crrev.com/6c8750f1522c8c67c16d40de5d7c91ecb181b8f9/components/policy/resources/policy_templates.json [modify] https://crrev.com/6c8750f1522c8c67c16d40de5d7c91ecb181b8f9/tools/metrics/histograms/histograms.xml
Comment 1 by pastarmovj@chromium.org
, Oct 20 2016