w3c / ServiceWorker

Service Workers
https://w3c.github.io/ServiceWorker/
Other
3.63k stars 313 forks source link

active service worker should be reset for same-origin redirects during navigation #1735

Open hiroshige-g opened 2 weeks ago

hiroshige-g commented 2 weeks ago

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.

hiroshige-g commented 2 weeks ago

Er, actually the expected behavior seems much unclear than I initially thought. Related: https://github.com/w3c/ServiceWorker/issues/1289