sync: Add support for separate Chrome OS user selectable types
Chrome OS is introducing a separate settings UI to control sync for OS types like printers, OS settings, and Wi-Fi config. See go/split-settings-sync for links to PRD and mocks. * Add UserSelectableOsType for OS data types * Add types for both OS preferences and printers. This CL does both because EnumSet requires at least 2 enum values and I want to add UserSelectableOsTypeSet for consistency with the browser enum set. * Change SyncUserSettings to support the new types, as well as a "sync all OS types" control. * Add new prefs for sync OS preferences and sync all OS types. There was an existing pref for sync printers that wasn't used -- now it is used. Not everything is wrapped in #if defined(OS_CHROMEOS) because the convention in the sync code seems to be that all ModelType values and pref names are compiled on all platforms. However, all references to UserSelectableOsType are ifdef'd to make it clear that "OS type" is Chrome OS only. Bug: 1013466 Test: added to components_unittests and sync_integration_tests Change-Id: I1cd6f7e663c20dfb0f36c55d204b92ea19a73852 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1895755 Commit-Queue: James Cook <jamescook@chromium.org> Reviewed-by:Marc Treib <treib@chromium.org> Cr-Commit-Position: refs/heads/master@{#712216}
Showing
Please register or sign in to comment