• Marijn Kruisselbrink's avatar
    [FileAPI] Refactor how BlobURLLoaderFactory works. · 889eb719
    Marijn Kruisselbrink authored
    Rather than resolving a mojo Blob to a BlobDataHandle, just forward the
    request to the Blob and let the blob create the URL Loader. This way we
    decouple BlobURLLoaderFactory from any blob internals, paving the way
    for further separating out the blob URL registry from the rest of the
    blob system, making it easier to change where parts of the blob system
    live (for example moving Blob URLs to be per storage partition, or in
    the future perhaps per agent cluster).
    
    This does increase binary size significantly because the added mojom
    method results in java bindings being generated for a lot of interfaces
    and structs that were previously not generated. In the future this
    increase can be eliminated by making it possible to tag methods in
    mojom files with what languages they should create bindings for, or by
    rewriting BlobURLLoader itself to operate on a mojo Blob, rather than
    forward the entire URLRequest to the mojo blob (https://crbug.com/1111835).
    
    Bug: 1106890
    Binary-Size: Size increase is unavoidable (see above).
    Change-Id: I4fa3c6a5ddf6f8be5ce299e9d1fd95eaef75ec5e
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2330311Reviewed-by: default avatarTom Sepez <tsepez@chromium.org>
    Reviewed-by: default avatarVictor Costan <pwnall@chromium.org>
    Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#795695}
    889eb719
blob.mojom 3.58 KB