CloudServices/FirefoxMobileServices: Difference between revisions

Line 123: Line 123:
Ideally these three parts can be tied together at some point and updated independently of Firefox OS, though for an initial version that's probably not reasonable as it would require substantially more engineering to bridge the DOM API to a new separate gecko Service Process, and a separate process consumes drastically more memory on the device than a Service Thread would.
Ideally these three parts can be tied together at some point and updated independently of Firefox OS, though for an initial version that's probably not reasonable as it would require substantially more engineering to bridge the DOM API to a new separate gecko Service Process, and a separate process consumes drastically more memory on the device than a Service Thread would.


=Detailed Description=
= Detailed Description =


== Background Service Thread / DOM API's ==


==ServiceManager==
This component is developed as a separate core JSM in b2g as a Service Thread. New DOM API's backed by Mozilla
Cloud Services are added here. This service thread is launched from the parent process event loop and handles
the Service Channel for the Push/Presence services and other Cloud Services that need to communicate over a single
channel.


XXX
Development for client-side components to Cloud Services is done here to unify all Cloud Service components in a single
place. A secondary goal is that it may be easier to initially land changes in a component we own, that is reviewed all at
once later before FxOS releases (slight inefficiencies in our thread would not hold up the main event loop).


== Cloud Services App ==


==ServiceWorker==
This component is developed in Gaia, and handles all the preferences for Cloud Services such as Firefox Accounts,
Push Notifications, Presence, etc. It uses privileged DOM API's to change the Cloud Service settings that may need to
trigger the Service Thread do work (indicating a user is offline, etc).


XXX
Once complete, Mozilla Cloud Services would be the owner of this component and should be able to land code without
increasing the burden on existing B2G module owners.


=References=
=References=
Confirmed users
192

edits