The current API only has an |enumerate()| call that sends different results based on calling context. This can be confusing, so we split it into two parts :
- non privileged callers can use enumerate() to get themselves (apps) or apps installed from their origin (stores)
- privileged callers (eg. dashboards) can use enumerateAll() to get the full list of installed apps.
Created attachment 580990 [details] [diff] [review]
Exposes enumerateAll(), which was already used internally for the privileged case.
Also add documentation in the IDL and fixes a bug in enumerate()
Fabrice, I think we should request privilege if the app does enumerateAll(). That way even if the app is not installed we can pick up the privilege (the dashboard thing the webapps guys are doing will want this I think).
My plan for the "official dashboard" issue was to use a whitelist pref initially, until we get UX sorted on what they want. This is what the add-on manager is doing to whitelist installs from addons.mozilla.org for instance.
Created attachment 581704 [details] [diff] [review]
Adding whitelist support.
Comment on attachment 580990 [details] [diff] [review]
track errors -> report errors