Ready for Developer Testing: Web Install API

155 views
Skip to first unread message

Lia Hiscock

unread,
Jul 7, 2025, 10:12:41 AMJul 7
to blink-dev, krist...@microsoft.com, luig...@microsoft.com, lu...@microsoft.com
Contact emails
https://github.com/w3c/manifest/pull/1175

Design docs
https://docs.google.com/document/d/12nSXJLm8mW0gWZ_yjlXfrV8r9gwJliVt4WVa-209-KA/edit?tab=t.0

Summary

The Web Install API allows a web site to install a web app (same or cross domain). This functionality allows the creation of web based catalogues that can install PWAs directly from the web and into multiple platforms. https://aka.ms/webinstall



Blink component
web installinstall

TAG review
Spec review not yet completed but the design review has been completed. TAG was satisfied with part of the API, but the other part is still being discussed and experimented on, which is why the review was closed as unsatisfied.

TAG review status
Pending

Risks

Interoperability and Compatibility

Interop - Low risk. This is a new API that installs web apps, which are supported by other browsers. The no argument version of the API (current document install) has enough support to be merged into the W3C web app manifest spec - https://github.com/w3c/manifest/pull/1175. Current document has also been reviewed favorably by TAG - https://github.com/w3ctag/design-reviews/issues/1051. While background document installation is still under discussion, it will be further incubated in WICG, we have no reason to believe there will be interop risk. Compatibility - Low risk. This is a new API that requires explicit developer action to use.



Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1179)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/463)

Web developers: Positive (https://github.com/w3ctag/ethical-web-principles/issues/120#issuecomment-2285348765https://github.com/w3ctag/ethical-web-principles/issues/120#issuecomment-2285431557

Other signals:

Ergonomics

This could be used in conjunction with the navigator.getInstalledRelatedApps API, which tells a developer if any related web apps are installed for their site, before attempting to install with navigator.install. There is overlap between navigator.install and the BeforeInstallPrompt event. navigator.install is more ergonomic, and we think developers will prefer its declarative install. See this thread - https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/1055



Activation

No.



Security

https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/WebInstall/explainer.md#privacy-and-security-considerations



WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None



Goals for experimentation

Gauge usage frequency for each of the 3 API signatures, as well as any expected or unexpected failures. We're also specifically looking for feedback on the permissions model.

  • Unexpected failures: fetch manifest timeout, no manifest found, app installation failed for any reason
  • Expected failures: permission prompt rejected by user, profile doesn't support installation, installation prompt rejected by user
  • Developer-caused failures: invalid API arguments (especially around the manifest id requirements for the install_target).
  • Success: app installed, app launched


Ongoing technical constraints

None



Debuggability

Existing DevTools support for promise-based JS APIs. No new DevTools support is needed.



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
No

Windows, Mac, Linux, and ChromeOS will be shipped first. Android will be supported later, due to significant technical deviation in the web app ecosystem - https://issues.chromium.org/issues/424497410. As of now, no plan to support Android WebView.



Is this feature fully tested by web-platform-tests?
No

Web app installs are not supported in WPT, but we will add a WPT manual test.



DevTrial instructions
web-app-installation-api

Finch feature name
WebAppInstallation

Requires code in //chrome?
False

Tracking bug
We will implement a JS UseCounter, as well as Chromium-specific UMAs/histograms.

Estimated milestones
DevTrial on desktop

139


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5183481574850560

Links to previous Intent discussions

Thomas Steiner

unread,
Jul 7, 2025, 11:05:46 AMJul 7
to Lia Hiscock, blink-dev, krist...@microsoft.com, luig...@microsoft.com, lu...@microsoft.com
Very exciting! I've updated a bunch of sites/extensions:

All of those are powered by Fugu API Data.



--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/92dce955-d9f1-4de3-9fb8-ad37388b15den%40chromium.org.


--
Thomas Steiner, PhD—Developer Relations Engineer (blog.tomayac.comtoot.cafe/@tomayac)

Google Spain, S.L.U.
Torre Picasso, Pl. Pablo Ruiz Picasso, 1, Tetuán, 28020 Madrid, Spain

CIF: B63272603
Inscrita en el Registro Mercantil de Madrid, sección 8, Hoja M­-435397 Tomo 24227 Folio 25

----- BEGIN PGP SIGNATURE -----
Version: GnuPG v2.4.8 (GNU/Linux)

iFy0uwAntT0bE3xtRa5AfeCheCkthAtTh3reSabiGbl0ck
0fjumBl3DCharaCTersAttH3b0ttom.xKcd.cOm/1181.
----- END PGP SIGNATURE -----
Reply all
Reply to author
Forward
0 new messages