Hi everyone,
We want to raise awareness about ongoing and upcoming changes to how chromium deals with sign-in state and synchronization.
Code under components/signin and components/sync is evolving to deprecate signin::ConsentLevel::kSync and unify all signed-in states into signin::ConsentLevel::kSignin. Similarly, syncer::SyncMode::kFull is getting deprecated to exclusively support syncer::SyncMode::kTransportOnly, which cascades to several other API deprecations such as SyncService::HasSyncConsent().
This may imply that features that sync today need to have support for separating local-only data from sync (account) data, because signin::ConsentLevel::kSignin (or syncer::SyncMode::kTransportOnly) is not meant to merge pre-existing local data with sync (account) data.
This transition has started already on mobile platforms and will continue on desktop. Once all platforms are migrated, and earlier for platform-specific code, we intend to proceed with significant code cleanups and will remove the aforementioned enums from the codebase, as well as the infrastructure and UI components used to support them. This process is estimated to complete in about 1 year from now.
Best regards,
Mikel Astiz, on behalf of the Chrome Identity team