Add a new sync datatype specifically for UserConsents instead of special casing them in UserEvents. There is already a lot of special casing and the last argument for the separation was that we need to record user consents always and all other user events only when history sync is enabled (issue 839421).
Consents as a separate datatype should already work on non-iOS devices behind a flag (kSyncUserConsentSeparateType, "enable-sync-user-consent-separate-type"). The CL for iOS is ready, waiting for review from Markus.
https://chromium-review.googlesource.com/c/chromium/src/+/1087269
There is remaining cleanup work and we also need to check that the new type works when history sync is disabled. This work will be tracked in separate bugs (see the tracking bug).
There is still some followup work described in the tracking issue 851433.
The new type is behind SyncUserConsentSeparateType feature.
One can either enable it via about:flags or pass --enable-features=SyncUserConsentSeparateType to the executable
Comment 1 by bugdroid1@chromium.org
, May 17 2018