LGTM2 Regarding https://wicg.github.io/install-element/#testing and testing in WPT, this should be testable with testdriver.js given a WebDriver classic endpoint or WebDriver BiDi command in the spec. https://wicg.github.io/turtledove/#sctn-automation and https://wicg.github.io/ua-client-hints/#automation are examples to copy from.
Do you have tests written outside of WPT that could be converted and upstreamed with this approach? If so, I think that would be very good to do as part of shipping. On Wed, Sep 30, 2026 at 4:33 PM Rick Byers <[email protected]> wrote: > LGTM1 > > I read through some of the long debates on this API. From an API owner > perspective, I believe all requirements have been met: spec, tests, > developer feedback and needs assessment, feedback from other browser > vendors. Certainly this API seems likely to be Chromium-only for the > foreseeable future, but that is nothing new when it comes to advanced web > app capabilities. If we can't even agree on whether WebBluetooth belongs on > the web, then I don't expect us to agree on this either, but like Web > Bluetooth, it's a progressive enhancement so the downside of lack of > interoperability is well managed. Thank you for all the long and thoughtful > engagement in public discussion and debate, I personally believe the API > owners' bar is now well cleared (though other API owners may still > disagree, of course). > > I personally have some concerns about the potential for annoying users and > am adamant that we not repeat the push notification permission disaster, > but those are Google Chrome UI concerns and are not subject to the API > owners' process; they can reasonably be expected to differ across Chromium > embedders. I will follow up internally on those concerns specific to Google > Chrome's feature launch process. The potential mitigation suggested in the > explainer than only installed apps can install other apps would > entirely adddress my concern, and I'm sure there are other (less dramatic) > ways to do so as well. > > Rick > > > > On Mon, Sep 21, 2026 at 11:38 AM 'Lia Hiscock' via blink-dev < > [email protected]> wrote: > >> *Contact emails* >> >> [email protected], [email protected] >> >> *Explainer* >> >> https://aka.ms/webinstall >> >> *Specification* >> >> https://wicg.github.io/install-element >> >> *Design docs* >> >> https://docs.google.com/document/d/12nSXJLm8mW0gWZ_yjlXfrV8r9gwJliVt4WVa-209-KA/edit?tab=t.0 >> >> *Summary* >> >> Triggers a request for the browser to install a web app, given a manifest >> URL and optional manifest ID. The navigator.install() method enables >> cross-origin web app installation and provides a better developer >> experience than handling beforeinstallprompt events. This API is >> proposed to ship together with the <install> element, a declarative entry >> point to the same installation capability: >> https://chromestatus.com/feature/5152834368700416. >> >> >> >> Enterprises can control this in two ways - (1) Enterprise policy, >> WebAppInstallByUserEnabled, can disable user web app installs broadly, >> including installs initiated via navigator.install() and <install>. Or (2) >> Permissions Policy, web-app-installation, can allow or disallow use of this >> feature on origins the enterprise controls (for example, internal >> sites/iframes). >> >> *Blink component* >> >> Blink>AppManifest >> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EAppManifest%22> >> >> *Web Feature ID* >> >> navigator-install <https://webstatus.dev/features/navigator-install> >> >> *Motivation* >> >> The web currently lacks the ability for a site to offer installation of a >> web app identified by a cross-origin manifest. Limited support exists for >> eligible same-origin web apps via ambient installation affordances and the >> beforeinstallprompt event. However, the existent browser-provided entry >> points are difficult for developers to use and users to discover. >> >> >> >> This capability lets developers distribute web apps across the web >> without proprietary protocols or platform-specific stores. It brings web >> app distribution closer to the reach developers expect from other >> application models while preserving browser-controlled safeguards and >> explicit user choice. >> >> >> >> *Initial public proposal* >> >> https://aka.ms/webinstall >> >> *Search tags* >> >> web install <https://chromestatus.com/features#tags:web%20install>, >> install <https://chromestatus.com/features#tags:install>, >> webappinstallation >> <https://chromestatus.com/features#tags:webappinstallation>, >> webinstallapi <https://chromestatus.com/features#tags:webinstallapi> >> >> *TAG review* >> >> https://github.com/w3ctag/design-reviews/issues/1245 >> >> >> >> *TAG review status* >> >> Issues open >> >> >> >> Review was requested two months ago with updates addressing concerns >> raised in the earlier design review: >> https://github.com/w3ctag/design-reviews/issues/1051. The TAG has not >> yet provided substantive feedback on the updated API shape or design. A >> recent TAG meeting agreed to develop a finding about the broader capability >> of web app installation and prompting. That work remains open, and we will >> continue participating in it. >> >> >> >> *Origin Trial Name* >> >> WebAppInstallation >> >> *Chromium Trial Name* >> >> WebAppInstallation >> >> *Link to origin trial feedback summary* >> >> >> https://docs.google.com/document/d/1B21htNQFmhEhhIpnIU7z_jOeH9wEF1Hz9XSKlMWW3a0/edit?pli=1&tab=t.0 >> >> >> *Origin Trial documentation link* >> >> Demos/pwa-install-api/README.md at main · MicrosoftEdge/Demos >> <https://github.com/MicrosoftEdge/Demos/blob/main/pwa-install-api/README.md> >> >> *WebFeature UseCounter name* >> >> WebDXFeature::navigator-install >> >> *Risks* >> >> >> >> *Interoperability and Compatibility* >> >> These are additive entry points to web app installation, a capability >> browsers already provide through browser-controlled UI. The primary >> interoperability risk is uneven cross-browser availability rather than >> conflicting behavior for existing content: other engines have not committed >> to these entry points, and WebKit opposes site-initiated web app >> installation. >> >> >> WebKit opposes these entry points because it considers installation a >> user decision whose flow should begin in browser UI. We acknowledge this >> substantive difference in approach. However, origin-trial partners, public >> developer reports, and standards discussions consistently identified >> existing web app installation as difficult for users to discover and >> cumbersome for developers to offer. Developers expressed strong support for >> a direct and predictable installation path while retaining >> browser-controlled confirmation UI and existing installability requirements. >> >> >> >> Our designs preserve browser control over installation through required >> user activation, explicit consent in browser-controlled UI, and the user >> agent’s ability to suppress the flow. The <install> element further >> provides user-agent-controlled rendering. Detailed abuse, privacy, and >> security protections are described in our explainer and our TAG review >> request. Given those safeguards and the demonstrated developer and user >> need, we believe shipping in Chromium is appropriate while standards >> discussions continue. >> >> >> >> *Gecko*: No signal ( >> https://github.com/mozilla/standards-positions/issues/1179) >> >> *WebKit*: Oppose ( >> https://github.com/WebKit/standards-positions/issues/463) >> >> *Web developers*: Positive ( >> https://github.com/w3ctag/ethical-web-principles/issues/120#issuecomment-2285348765) >> >> https://github.com/w3ctag/ethical-web-principles/issues/120#issuecomment-2285431557 >> >> *Other signals*: pwastore.io - >> https://www.reddit.com/r/PWA/comments/1o1excp/comment/niit2jh/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button >> >> *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 activation risks. It should be relatively easy for developers to take >> advantage of this feature immediately, as-is. The API was designed with >> ergonomics in mind, and we have four places with instructions for >> developers (two test sites, the explainer itself, and a Developer Trial >> README) >> >> *Security* >> >> Security considerations - >> https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/WebInstall/explainer.md#accessibility-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?* >> >> N/A >> >> >> >> *Debuggability* >> >> Existing DevTools support for promise-based JavaScript APIs applies. In >> addition to the generic DataError rejection, Web Install failures for >> eligible same-origin manifests are reported in the Issues panel using >> bounded failure categories, such as manifest fetch or parse failure, >> invalid start_url, and missing required fields. This provides diagnostics >> for browser-process manifest fetches that are not visible in the Network >> panel. Cross-origin and internal failure details are not reported. See >> Debuggability doc - >> https://docs.google.com/document/d/1rGvLhD4SR8Y9M1wVmqgyesPNkbZGU7HOqlttjEFJ5Vo/edit?tab=t.i3gxb63o1ngb >> >> *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* >> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >> *?* >> >> No >> The API's shape and activation restrictions are tested - >> https://wpt.fyi/results/web-install. However, web app installs are >> currently not supported by automated tests, as they require user >> interaction to confirm the installation. Manual web app testing >> instructions can be published. >> >> *DevTrial instructions* >> >> https://microsoftedge.github.io/Demos/pwa-install-api/ >> >> *Flag name on about://flags* >> >> web-app-installation-api >> >> *Finch feature name* >> >> WebAppInstallation >> >> *Rollout plan* >> >> Will ship enabled for all users >> >> *Requires code in //chrome?* >> >> False >> >> *Tracking bug* >> >> https://issues.chromium.org/issues/333795265 >> >> *Launch bug* >> >> https://launch.corp.google.com/launch/4495880 >> >> *Measurement* >> >> We have a JavaScript UseCounter and WebDX feature - >> https://chromestatus.com/metrics/webfeature/timeline/popularity/375 We >> will also implement chromium UMAs and possibly UKMs for the API service >> results. >> >> *Availability expectation* >> >> Feature is available only in Chromium browsers for the foreseeable future. >> >> *Adoption expectation* >> >> Feature is used by specific partner(s) to provide functionality within 12 >> months of launch in Chrome. >> >> *Adoption plan* >> >> We are in communication with partners. We plan to post an update on >> developer.chrome.com and blogs.windows.com, and add AI guidance for Web >> Install to github.com/GoogleChrome/modern-web-guidance. >> >> *Non-OSS dependencies* >> >> *Does the feature depend on any code or APIs outside the Chromium open >> source repository and its open-source dependencies to function?* >> >> No. >> >> *Estimated milestones* >> >> Shipping on desktop >> >> 156 >> >> Origin trial desktop first >> >> 143 >> >> Origin trial desktop last >> >> 148 >> >> Origin trial extension 1 end milestone >> >> 150 >> >> Origin trial extension 2 end milestone >> >> 150 >> >> DevTrial on desktop >> >> 139 >> >> >> >> *Anticipated spec changes* >> >> *Open questions about a feature may be a source of future web compat or >> interop issues. Please list open issues (e.g. links to known github issues >> in the project for the feature specification) whose resolution may >> introduce web compat/interop risk (e.g., changing to naming or structure of >> the API in a non-backward-compatible way).* >> >> N/A >> >> *Link to entry on the Chrome Platform Status* >> >> https://chromestatus.com/feature/5183481574850560?gate=5120761429229568 >> >> *Links to previous Intent discussions* >> >> Intent to Prototype: >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DB9PR83MB05184F25E5FEE4595055FE34CC042%40DB9PR83MB0518.EURPRD83.prod.outlook.com >> Ready for Trial: >> https://groups.google.com/a/chromium.org/g/blink-dev/c/ame_t7wN2cU >> Intent to Experiment: >> https://groups.google.com/a/chromium.org/g/blink-dev/c/KCpVX8F6yh8/m/Fbs3p4PdAwAJ >> Intent to Extend Experiment 2: >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CH3PR00MB267356EB5428C4233B819ECFD35EA%40CH3PR00MB2673.namprd00.prod.outlook.com >> >> This intent message was generated by Chrome Platform Status >> <https://chromestatus.com/>. >> >> >> >> -- >> 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 [email protected]. >> To view this discussion visit >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CH4PR00MB26595E5F1D84E916BDB48773D3842%40CH4PR00MB2659.namprd00.prod.outlook.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CH4PR00MB26595E5F1D84E916BDB48773D3842%40CH4PR00MB2659.namprd00.prod.outlook.com?utm_medium=email&utm_source=footer> >> . >> > -- > 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 [email protected]. > To view this discussion visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-aqgpTu7kcN%2BQaX23VNmACT0AAX00SemA6SzkaUxxiEw%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-aqgpTu7kcN%2BQaX23VNmACT0AAX00SemA6SzkaUxxiEw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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 [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYdPShhwj9QNZ0J3DWBZmq0-FtH5oRHkhAt3zTXjqpdoXA%40mail.gmail.com.
