Introduce generic bridge for SyncableService-s
The class allows legacy datatypes (non-USS), which implement SyncableService, to be integrated within the USS architecture, making it possible to reuse central objects like ClientTagBasedModelTypeProcessor and ModelTypeWorker. Design Doc (Googlers only): https://docs.google.com/document/d/14ScYZ0sop921gjBwXuReIEuQJlwftqkuSM1jMK_A_x4 In this first patch, we introduce the bridge itself. Follow-up patches will introduce the necessary plumbing to exercise it. Expected main benefits: - Unify logic across datatypes by avoiding subtle behavioral differences across architectures. - Remove lots of code (~25K LoC), hence: a) reduce Chrome binary size. b) reduce maintenance cost. c) eng ramp-up time. - Improve resource footprint (less RAM, ~50% savings). - Reduce the gap for datatypes to actually migrate to USS. - Unblock multiple cleanup work, including a massive simplification of DataTypeManager and related classes, including controllers. Bug: 870624 Change-Id: I1bd7f553bf22886c5136e7e12f13b37a3dc77a39 Reviewed-on: https://chromium-review.googlesource.com/1164742Reviewed-by:Marc Treib <treib@chromium.org> Commit-Queue: Mikel Astiz <mastiz@chromium.org> Cr-Commit-Position: refs/heads/master@{#595017}
Showing
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment