Reviews/B2G/AppUpdates: Difference between revisions

no edit summary
No edit summary
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==


* https://wiki.mozilla.org/DevTools/Features/ResponsiveView
*  
* https://bugzilla.mozilla.org/show_bug.cgi?id=755953 - sec review
* https://bugzilla.mozilla.org/show_bug.cgi?id=749628 - dev
* https://bugzilla.mozilla.org/show_bug.cgi?id=751910 - ui review
* https://bug749628.bugzilla.mozilla.org/attachment.cgi?id=619038 - screenshot


[[Category:SecReview]]
[[Category:SecReview]]
canmove, Confirmed users
1,220

edits