Closed Bug 969955 Opened 10 years ago Closed 6 years ago

Modify mozApps API to allow installation of received app file

Categories

(Firefox OS Graveyard :: Gaia, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: j.zhangrui, Assigned: j.zhangrui)

References

Details

Currently the Marketplace API accepts a url to install apps.
We would like to modify the API to accept the file transferred from the app sharing feature.
Blocks: 969939
No longer blocks: 969939
I guess you're talking about the navigator.mozApps API, which is not tied to the Mozilla Marketplace exclusively?
Summary: Modify Marketplace API to allow installation of received app file → Modify mozApps API to allow installation of received app file
(In reply to Fabrice Desré [:fabrice] from comment #1)
> I guess you're talking about the navigator.mozApps API, which is not tied to
> the Mozilla Marketplace exclusively?
Yes sorry. In particular, we are looking at the Apps.install() function.
Currently it takes a URL:
var request = window.navigator.mozApps.install(url, [receipts]);

Would it be possible to have a function that will take a file? And how should it be implemented?
Blocks: 969939
For sure we can explore making changes to the API. I'd like to understand a bit more what you're trying to achieve though:
- tranfering hosted apps looks fairly easy - just send the manifest URL. You'll lose the install origin (so for exemple the marketplace won't know if the app was initially installed from there) but I'm not sure it's a critical issue. You also don't want to send receipts around, that would encourage piracy.

- transfering packaged apps looks harder. First, you need to read the package from disk (hint: that's possible with the device-storage:apps permission). Then you need the update manifest url (that's just the manifest url) and a way to let the platform understand that this manifest actually points to a blob for the initial install (the zip transfered by nfc), and not to the resource at package_path (you need to keep this one to get updates working).

There are a lot more complications doing that overall, since the public facing api doesn't let you access many useful properties that we actually need to manage the app install/update flow, like the etags values.

It may be simpler to have a dedicated certified api that handles that cleanly and not try to hack around the non-privileged api.

In any case, I'm happy to discuss all of that with the team. You'll find me as fabrice on #b2g.
Depends on: 982874
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.