• John Delaney's avatar
    [conversions] Add unified storage task runner · ddced547
    John Delaney authored
    What:
    Use a single LazyThreadPoolSequencedTaskRunner for all conversion
    storage operations.
    
    Why:
    Conversion Storage doesn't have strong ordering guarantees regarding
    databases being torn down and recreated for the same profile.
    
    E.g.
    
    Profile closed -> delete posted to task runner A
    Profile opened -> create posted to task runner B
    
    We assume that task runner A will finish executing the delete,
    freeing the database prior to task runner B trying to open it. However,
    if task runner A has a long running operation already sequenced, this
    isn't necessarily true.
    
    Using a unified task runner removes this edge case.
    
    This also removes the need to do any dependency injection which is
    discouraged for task runners.
    
    Bug: 1114783
    Change-Id: If09d0a9a68ec0d461321744f2734c28b0ccbe068
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2490256Reviewed-by: default avatarCharlie Harrison <csharrison@chromium.org>
    Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
    Commit-Queue: John Delaney <johnidel@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#821411}
    ddced547
conversion_storage_context.cc 3.76 KB