Summary: From the explainer document [1], the proposed API "extends Service
Workers with a new onsync event. This is coupled with a new document-side
API
for registering (and unregistering) interest in onsync. Together, these APIs
form the basis of a powerful new capability for rich web apps."
This is being developed behind the "dom.backgroundSync.enabled" pref.
Bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1018320
Wiki:
https://wiki.mozilla.org/Cloud_Services/FirefoxOS_Sync
We are initially targeting FirefoxOS, but intend to implement in gecko in
order
to support all our platforms.
The proposed spec can best be read in the explainer document [1]. The W3C
draft [2] is in progress.
We had an initial conversation about the proposal at the WebAPI weekly
meeting
on 10 June, 2014. [3] Here are some questions that were raised:
Q. Does this have anything to do with Desktop Firefox Sync?
A. No. This is unrelated.
Q. Why not use fetch in service workers?
A. This API will enable us to
- periodically wake the app (already running or not) up to sync
- provide assurances to necessary resources are available (wifi, etc.)
- hopefully protect the syncing app from OOM killing
- provide the system some protection against malicious/errant apps
Q. You're using system messages now; why?
A. This is a short-term hack to unblock other development efforts [4]
We will not be using system messages in the final product.
Thank you all for your feedback,
Jed
[1]
https://github.com/slightlyoff/BackgroundSync/blob/master/explainer.md
[2]
https://slightlyoff.github.io/BackgroundSync/spec/ (not yet complete)
[3]
https://etherpad.mozilla.org/webapi-meetingnotes
[4] e.g.,
https://bugzilla.mozilla.org/show_bug.cgi?id=1019787