Bridges have access to the processor, which implements SyncErrorFactory but not DataTypeErrorHandler, so they don't actually have a way to report errors back to sync.
ModelTypeChangeProcessor should be changed to implement DTEH. A concrete example of the issue can be seen in DeviceInfoSyncBridge::OnCommit(), where it is clearly failing to inform sync of a serious error:
https://cs.chromium.org/chromium/src/components/sync/device_info/device_info_sync_bridge.cc?l=388
Bridges have access to the processor, which implements SyncErrorFactory but not DataTypeErrorHandler, so they don't actually have a way to report errors back to sync. A concrete example of the issue can be seen in DeviceInfoSyncBridge::OnCommit(), where it is clearly failing to inform sync of a serious error:
https://cs.chromium.org/chromium/src/components/sync/device_info/device_info_sync_bridge.cc?l=388
USS should get a new way of handling errors: a ModelError object that's significantly simpler than SyncError, and a ReportError method on the processor.
Comment 1 by bugdroid1@chromium.org
, Jan 9 2017