Ensure that <object>/<embed> navigation bypasses Service Workers.
Step 13 of https://w3c.github.io/ServiceWorker/#on-fetch-request-algorithm should exclude `embed` and `object` requests from Service Workers. Our implementation handles this correctly for the initial request, but failed to bypass the Service Worker for subsequent navigations. This patch adds a destination check to `ServiceWorkerMainResourceLoaderInterceptor::ShouldCreateForNavigation`, and ensures that the `destination` for a given request is set early enough in the lifecycle to ensure that the check succeeds. See also https://github.com/whatwg/fetch/pull/948. Change-Id: I21a1d37da438e1d0f185696f2b3b4058bc3911fc Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2209456Reviewed-by:Matt Falkenhagen <falken@chromium.org> Reviewed-by:
Tsuyoshi Horo <horo@chromium.org> Reviewed-by:
Kinuko Yasuda <kinuko@chromium.org> Reviewed-by:
Ben Kelly <wanderview@chromium.org> Commit-Queue: Mike West <mkwst@chromium.org> Cr-Commit-Position: refs/heads/master@{#773781}
Showing
Please register or sign in to comment