• Varun Khaneja's avatar
    Start querying the high confidence allow list for Safe Browsing. · aad87b1d
    Varun Khaneja authored
    Here's how it works:
    1. Client calls V4LDbM::CheckUrlForHighConfidenceAllowlist()
    2. If the hash prefixes aren't ready or Safe Browsing is disabled, it
       returns NO_MATCH i.e. can't determine if the URL is safe.
    3. If no match is found in the local database, it returns NO_MATCH to
       indicate the URL isn't on the allowlist.
    4. If the full hash of the URL matches a full hash in the local
       database, MATCH is returned to indicate no further lookup is required.
    5. If a hash prefix match is found, it initiates a full hash lookup
       and returns ASYNC to indicate that the client will be notified later.
    
    If the returned value is ASYNC, a full hash request is sent to the
    backend to check if the URL's full hash matches a full hash of a URL on
    the high confidence allowlist. Once the response is received, the client's
    |OnCheckUrlForHighConfidenceAllowlist| method is called with the final
    result, whenever it is available (or a timeout happens).
    
    This entire feature is behind a different Finch flag:
    SafeBrowsingRealTimeUrlLookupEnabled
    
    R=drubery
    
    Bug: 963165, 966646
    Change-Id: Ifdc24d3f0b2e68013da5080febbe2aaf94edded4
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1661288
    Commit-Queue: Varun Khaneja <vakh@chromium.org>
    Reviewed-by: default avatarNathan Parker <nparker@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#671469}
    aad87b1d
BUILD.gn 9.81 KB