Service Workers

From MozillaWiki
Jump to navigation Jump to search
THIS PAGE MAY BE OUTDATED
This article is in parts, or in its entirety, outdated. Hence, the information presented on this page may be incorrect, and should be treated with due caution until this flag has been lifted. Help by editing the article, or discuss its contents on the talk page.

Service Workers are presently being implemented in Gecko. Biweekly calls (2015-08-12 is the next one) are held on Wednesdays at 8 AM Pacific in the WebAPI Vidyo room to discuss status and blockers for consumers. Email Andrew Overholt [:overholt] if you want to be added to the meeting invite or just show up.

Most people working on the implementation hang out in #content on IRC.

Implementation status

Lots of code has been written and much functionality exists. There are a variety of prefs you can flip in about:config to turn them on: dom.serviceWorkers.enabled, dom.serviceWorkers.interception.enabled, etc.

Filing bugs (in Core :: DOM: Service Workers) describing problems you have is highly appreciated.

An audit of call sites where existing networking security functionality can be affected by a Service Worker's interception is underway. The results of this are filtering into Bugzilla and the remaining blockers are tracked as below.

Shipping on Desktop (planned for 44) (bug 1059784)

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Bugs we should fix to be compatible with the specification (bug 1226983)

Full Query
ID Summary Status Assigned to Resolution
1170795 Calling FetchEvent.respondWith() with a malformed synthesized redirected response causes us to hit the network NEW nobody@mozilla.org
1183625 support fetch window option NEW nobody@mozilla.org
1187300 Verify if interception occurs for channels created by Downloads.jsm when possible NEW nobody@mozilla.org
1201160 Service workers violate SOP for "no-cors" CSS REOPENED echuang@mozilla.com
1203747 Performance timing API should record on Service Workers NEW nobody@mozilla.org
1209102 fetch() should not allow redirects to data URIs NEW nobody@mozilla.org
1228149 Return the same ServiceWorkerRegistration object from service worker APIs on workers NEW nobody@mozilla.org
1248417 test and implement relative redirects behavior during service worker interception NEW nobody@mozilla.org
1255275 Return the same ServiceWorkerRegistration object from service worker APIs exposed from ServiceWorkerContainer on workers NEW nobody@mozilla.org
1263670 Consider reloading when a document restored from bfcache gets controlled by a different service worker NEW nobody@mozilla.org
1264180 Implement Client.ancestorOrigins REOPENED nobody@mozilla.org
1282426 fetch spec requires lower case headers, but UA added headers are mixed case NEW nobody@mozilla.org
1290950 intercept notification icon loads when opened from a service worker (or not) NEW nobody@mozilla.org
1291893 basic authorization header is not added to service worker fetch() network request NEW nobody@mozilla.org
1304382 unregister service workers if cookies are blocked for an origin NEW nobody@mozilla.org
1330319 Headers in Headers object not lexicographically sorted NEW nobody@mozilla.org
1339434 match spec change to remove skip-service-worker flag NEW nobody@mozilla.org
1342484 [meta] Support Fetch keepalive flag and enforce limit on inflight keepalive bytes NEW nobody@mozilla.org
1349589 Enable fetch cancellation by default on nightly NEW nobody@mozilla.org
1362769 Firefox retrieves non-PBM push notifications from the push server, when the user launches Firefox with new PBM window UNCONFIRMED nobody@mozilla.org
1362824 A blob created from a fetch response does not correctly get type set UNCONFIRMED nobody@mozilla.org
1378587 Default value for dom.serviceWorker.idle_timeout too agressive NEW nobody@mozilla.org
1384006 What's the right JSContext state to pass to cache::PutAll() in Cache::FetchHandler::ResolvedCallback ? NEW nobody@mozilla.org
1388774 Track total synthesized body size better during service worker interception NEW nobody@mozilla.org
1394102 FetchEvent.request.signal should be correctly aborted NEW nobody@mozilla.org
1402785 Require a user gesture for Notification.requestPermission() NEW nobody@mozilla.org
1409007 service worker update does not trigger if loading is blocked with X-Frame-Options:Deny NEW nobody@mozilla.org
1415003 pass through SW should propagate outer network channel priority to the fetch() channel NEW nobody@mozilla.org
1417338 fetch sets wrong Content-Type header on redirects UNCONFIRMED nobody@mozilla.org
1418457 propagate the internal error code from Response to the outer intercepted channel NEW nobody@mozilla.org
1418489 observing a window is gone via Clients API should evict it from bfcache NEW nobody@mozilla.org
1426401 Consider persisting waiting worker state to disk and triggering an activate event on/after next browser start NEW aiunusov@mozilla.com
1428130 remove cookie permission preload after service worker code checks storage access in parent process. NEW nobody@mozilla.org
1444944 Fetch API Body readers to not propagate underlying errors to Promise rejection NEW nobody@mozilla.org
1448979 service worker interception should propagate redirect count to enforce redirect limits NEW nobody@mozilla.org
1455077 investigate where service worker code should call NS_CheckContentLoadPolicy() NEW nobody@mozilla.org
1456105 Fetch: Content-Encoding decoding failure should be a TypeError NEW nobody@mozilla.org
1456479 Implement Request.isReloadNavigation NEW nobody@mozilla.org
1459781 service worker fetch event not happen when html generated from document.write NEW nobody@mozilla.org
1464739 Implement isHistoryNavigation attribute on Request UNCONFIRMED nobody@mozilla.org
1466499 Inline replies to web notifications should be supported UNCONFIRMED nobody@mozilla.org
1467454 cross-origin stylesheet load without "crossorigin" attribute treats service worker synthesized CORS response as opaque NEW nobody@mozilla.org
1467998 <script> element without "cross-origin" attribute treats service worker synthesized CORS response as opaque REOPENED hsingh@mozilla.com
1487534 Implement FetchEvent.replacesClientId the "resulting" clientId (previously dubbed targetClientId) NEW nobody@mozilla.org
2019205 Allow cross-origin range requests to pass through a service worker NEW nobody@mozilla.org

45 Total; 45 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Shipping on Fennec (aka Firefox for Android) (bug 1207262)

Full Query
ID Summary Status Assigned to Resolution
1210282 Intermittent android debug failures NEW nobody@mozilla.org

1 Total; 1 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Refactoring for n content processes (bug 1231208)

Full Query
ID Summary Status Assigned to Resolution
1355899 Stop eagerly transmitting the cookie permission to the content process for service workers NEW nobody@mozilla.org
1360255 Add a test for loading a service-worker managed document in a new process NEW nobody@mozilla.org
1429805 display service worker console messages on related windows in different child processes NEW nobody@mozilla.org
1432311 fetch() requests initiated by a serviceworker are missing in the network panel NEW nobody@mozilla.org
1472303 ServiceWorkerRegistration::Update() should block self-update during evaluation regardless of Inner implementation NEW nobody@mozilla.org
1514916 Decide what to do with currently-failing console monitoring tests in parent-intercept mode NEW nobody@mozilla.org

6 Total; 6 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Shipping for web content on Boot2Gecko (aka Firefox OS) (bug 1207265)

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Shipping for Gaia (bug 1131322)

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Things we likely won't get to in the first release supporting Service Workers (bug 1173500)

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Demos/examples