• Daniel Murphy's avatar
    [IndexedDB] Removing all raw pointers and IndexedDBFactory dependencies · a7dfd014
    Daniel Murphy authored
    This patch:
    * Changes most raw pointers to base::WeakPtr
    * Removes the IndexedDBFactory raw pointer in IndexedDBDatabase and
      instead uses callbacks to report:
      1. If blobs are in use for a given origin, and
      2. If the blob journal has been cleaned.
    * Changes the IndexedDBActiveBlobRegistry to use callbacks instead of
      the IndexedDBFactory as well, and also use callbacks for calling
      ReportUnusedBlob in IndexedDBOriginFactory. This simplifies the
      testing of that class.
    
    There are no functional changes in this patch, and while all of those
    raw pointers should be safe based on the architecture of the code, it
    is much safer to store them appropriately now that we have our fancy
    new pointer types.
    
    Finally, this patch also does some naming changing in
    IndexedDBActiveBlobRegistry to make that class easier to understand.
    
    Bug: 1018741,960992
    Change-Id: I6fd402c68d13870f347fe934b85e6281c396901d
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1885094
    Commit-Queue: Daniel Murphy <dmurph@chromium.org>
    Reviewed-by: default avatarKen Rockot <rockot@google.com>
    Cr-Commit-Position: refs/heads/master@{#711452}
    a7dfd014
database_impl.cc 21 KB