• Tsuyoshi Horo's avatar
    Don't use PrefetchedSignedExchangeCache if related features are not enabled. · 088b8d24
    Tsuyoshi Horo authored
    crrev.com/c/1681309 accidentally enabled
    SignedExchangePrefetchCacheForNavigations feature. Prefetched SXGs are stored to
    PrefetchedSignedExchangeCache even if both
    SignedExchangePrefetchCacheForNavigations and SignedExchangeSubresourcePrefetch
    are disabled. This is unintentional. Prefetched SXGs should no be stored to the
    cache. This CL fix this.
    
    SignedExchangePrefetchCacheForNavigations feature can be enabled only by flags.
    But SignedExchangeSubresourcePrefetch feature can be enabled by both flags and
    OriginTrial token which is checked in the renderer process.
    So we need |is_signed_exchange_prefetch_cache_enabled| flag in ResourceRequest
    to let the PrefetchURLLoader in the browser process whether the prefetched SXG
    should be stored to PrefetchedSignedExchangeCache.
    
    This CL adds the flag in blink::FetchParameters, blink::ResourceRequest,
    bink::WebURLRequest, network::ResourceRequest and network::mojom::URLRequest,
    and sets the flag in PreloadHelper::PrefetchIfNeeded() if
    SignedExchangePrefetchCacheForNavigations feature or
    SignedExchangeSubresourcePrefetch feature is enabled.
    
    Change-Id: I719dbbd1093e05c30b6b0075ad87f56289f00ac7
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1703687Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
    Reviewed-by: default avatarKunihiko Sakamoto <ksakamoto@chromium.org>
    Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#678545}
    088b8d24
runtime_features.cc 22.8 KB