Description
Hi Diego,
just following up after meeting with @dmurph and we identified potential blocker for .install()
API as currently proposed.
There are a number of issues:
-
A precondition of
.install()
is that the manifest has loaded, which causes race condition with user/transient activation: transient activation might expire before the manifest has loaded. Also, if .install() must meet any conditions to be called, and it throws, then it's the user that is left frustrated because there's an install button there, but it fails when pressed. -
There is significant usage of BIP, which Chromium has changed to be deterministic.
The preconditions for installing are that there be a manifest, possibly that it has an ID, and maybe other browser specific things. Also, calling .install() should result in the install sheet/prompt being shown.
If BIP has a significant amount of usage, and it meets the requirements, and it’s causing site-compat issues with Safari, we should probably fix BIP and not introduce a new mechanism that does effectively the same thing.
Thoughts?