canmove, Confirmed users
1,220
edits
Ptheriault (talk | contribs) No edit summary |
Ptheriault (talk | contribs) No edit summary |
||
Line 19: | Line 19: | ||
==Data Flow Enumeration== | ==Data Flow Enumeration== | ||
Inside Gecko, Apps are represented by a [http://mxr.mozilla.org/mozilla-central/source/dom/interfaces/apps/nsIDOMApplicationRegistry.idl mozIDOMApplication] object, which has a [http://mxr.mozilla.org/mozilla-central/source/dom/apps/src/Webapps.js#396 checkForUpdate]() function. | Inside Gecko, Apps are represented by a [http://mxr.mozilla.org/mozilla-central/source/dom/interfaces/apps/nsIDOMApplicationRegistry.idl mozIDOMApplication] object, which has a [http://mxr.mozilla.org/mozilla-central/source/dom/apps/src/Webapps.js#396 checkForUpdate]() function. Apps can request to check for an update to themselves, or the system app also checks for app updates as part of a global update check (by setting the gaia.system.checkForUpdates setting to true, which is picked up by update_manager.js) | ||
===Check for App Update=== | |||
Either way, the process to check for an update to an individual app is as follows: | |||
# Check each app to see if there is an available update | |||
# If there is an update for an app, the process depends on whether the app is packaged/hosted or removable/non removable: | |||
#Non-removable Packaged Apps (http://mxr.mozilla.org/mozilla-central/source/dom/apps/src/Webapps.jsm#1225) | |||
## No updated as part of webapps process - these are updated with a system update process | |||
#Non-removable Hosted Apps (http://mxr.mozilla.org/mozilla-central/source/dom/apps/src/Webapps.jsm#1230 onwards) | |||
## Just check if new app cache manifest is available | |||
## If so, do async download of manifest contents | |||
#Removable Packaged Apps (http://mxr.mozilla.org/mozilla-central/source/dom/apps/src/Webapps.jsm#1122) | |||
## Send a 'Webapps:CheckForUpdate:Return:OK' event (from webapps.jsm) | |||
## Set properties of the update on the app object, then fire a downloadavailable event | |||
## Event caught in system app (updatable.js) which adds itself updates queue in update manager (UpdateManager.js) | |||
#Removable Hosted Apps (http://mxr.mozilla.org/mozilla-central/source/dom/apps/src/Webapps.jsm#1149) | |||
## Update web apps registratation (system messages & web activities) | |||
## Store the new manifest | |||
## Update the webapps registry | |||
## If not updatable then 5 else 6. | |||
## Send Webapps:CheckForUpdate:Return:OK messageto fire adownloadapplied event, go to 7. | |||
## Start app cache update (nsOfflineCacheUpdateService::CheckForUpdate) | |||
## Observer for this update sends Webapps:CheckForUpdate:Return:OK, when check has been done. | |||
## Event caught in system app (updatable.js) which adds itself updates queue in update manager (UpdateManager.js) | |||
===Download App Update=== | |||
Line 28: | Line 55: | ||
==Links== | ==Links== | ||
* | * | ||
[[Category:SecReview]] | [[Category:SecReview]] |