• James Cook's avatar
    sync: Add support for separate Chrome OS user selectable types · 1db4c558
    James Cook authored
    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: default avatarMarc Treib <treib@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#712216}
    1db4c558
BUILD.gn 3.29 KB