• Mikel Astiz's avatar
    Untrack/drop delete directives only if committed · b64e8b32
    Mikel Astiz authored
    syncer::WriteNode::Drop() guarantees that if the entity hasn't been
    committed to the server, the call gets ignored (i.e. the entity isn't
    actually dropped).
    
    Let's mimic the same behavior in the pseudo-USS codepath.
    Unfortunately, in order to do so, interface ModelTypeChangeProcessor
    needs to be extended.
    
    A TODO is introduced to improve this implementation in the future, when
    pseudo-USS is fully launched. This logic could be simplified a lot as
    well as the overall complexity of the SyncableService (logic
    implemented in DeleteDirectiveHandler) if everything was moved to
    history's backend thread.
    
    Bug: 870624
    Change-Id: Ic064d809371c49f4281d986b4b30bdb3fa37844a
    Reviewed-on: https://chromium-review.googlesource.com/c/1326001
    Commit-Queue: Mikel Astiz <mastiz@chromium.org>
    Reviewed-by: default avatarMohamed Amir Yosef <mamir@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#606452}
    b64e8b32
syncable_service_based_bridge.cc 27.9 KB