demo · v143
Cross-origin storefront
The use case the 2-arg form was added for: a web-based "app store" that installs PWAs from other origins on the user's behalf. Each card calls navigator.install(manifestUrl, origin). The browser handles the consent and install UI.
flag required — cross-origin install needs
chrome://flags/#web-app-installation-api
plus a participating origin-trial token or the dev-mode flag. The page attempts the call regardless and shows what your browser does.
browse the storefront
install log
the call
// 0-arg: install self → navigator.install()
// 1-arg: install another manifest from same origin
// → navigator.install("/other-pwa/manifest.json")
// 2-arg: cross-origin install — needs both the manifest URL AND the install_url
// → navigator.install("https://app.example/manifest.json",
// "https://app.example/install")
// The browser will prompt the user to confirm before installing
// anything from another origin.
why this angle
The other concept lets you pick all three signatures and try them in isolation. This one is the most-discussed real use case: a curated PWA storefront listing apps from other origins. Cards mimic web.dev, Apple's open-web stance, the <m>assistant idea — the install button is the same call regardless.