We conceptually want the bridge to be a delegate to ClientTagBasedModelTypeProcessor, because bookmarks is not planning to adopt this interface.
Independently of that real need, hiding the complexity of the bridge will anyway be a benefit and an improved design (right now the bridge interface mixes various roles).
This will likely involve introducing a new interface that supports:
- OnSyncStarting(), possibly renamed to StartSync().
- DisableSync().
- GetAllNodes(), possibly renamed to GetAllNodesForDebug(); or alternatively the combination of GetAllData()+GetAllMetadata() as is the case today (very ugly).
It might be preferable that the last above is moved somewhere else, either ModelTypeProcessor interface or a dedicated interface for debugging.
Comment 1 by mamir@chromium.org
, Mar 8 2018