During navigation requests, the active service worker is set in https://w3c.github.io/ServiceWorker/#handle-fetch when there is a ServiceWorker to control the Document, but it is not changed when there are no such ServiceWorker, leaving the obsolete active service worker set in previous redirect legs.
Example scenario: a navigation to https://example.com/redirect.html (controlled by a SW sw.js) is redirected to index.html (not controlled by SWs).
Current spec: the active service worker is set to sw.js during HandleFetch for redirect.html, and remains the same even after redirected to index.html, causing the index.html Document subresources controlled by sw.js.
Expected behavior: the active service worker is null after redirected to index.html.
During navigation requests, the active service worker is set in https://w3c.github.io/ServiceWorker/#handle-fetch when there is a ServiceWorker to control the Document, but it is not changed when there are no such ServiceWorker, leaving the obsolete active service worker set in previous redirect legs.
Example scenario: a navigation to
https://example.com/redirect.html
(controlled by a SWsw.js
) is redirected toindex.html
(not controlled by SWs). Current spec: theactive service worker
is set tosw.js
during HandleFetch forredirect.html
, and remains the same even after redirected toindex.html
, causing theindex.html
Document subresources controlled bysw.js
. Expected behavior: theactive service worker
is null after redirected toindex.html
.