• Tsuyoshi Horo's avatar
    Support service worker handling of same origin favicon requests · 75783543
    Tsuyoshi Horo authored
    There was a bug that service workers can inject image into favicon cache of any
    origins (crbug.com/422250). This is becuase the icon URL is used as a key of the
    "favicons" table in ThumbnailDatabase. So currently
    MultiResolutionImageResourceFetcher sets the SkipServiceWorker flag of all
    favicon requests, to make it impossible to handle the fetch event of favicon
    requests in service workers.
    
    Ideally we should change the data scheme of ThumbnailDatabase not to reuse the
    favicon which was served from a service worker. But it is complicated to change
    the data scheme, and also there is a performance trade-off.
    
    So this cl change MultiResolutionImageResourceFetcher to set the
    SkipServiceWorker flag only for cross origin favicon requests. So the service
    worker can handle the same origin favicon requests.
    
    Bug: 448427
    Change-Id: I3237ae9c4d0cc5d2374830e2c4865a8a852d37c6
    Reviewed-on: https://chromium-review.googlesource.com/c/1333120Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
    Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
    Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#608189}
    75783543
chrome_service_worker_browsertest.cc 26.7 KB