LGTM to experiment M148-M153 incusive On Thursday, March 26, 2026 at 12:47:06 AM UTC+1 [email protected] wrote:
> *Contact emails* > > [email protected], [email protected], [email protected] > > *Explainer* > > https://aka.ms/installelement > > *Specification* > > *No information provided* > > *Design docs* > > https://docs.google.com/document/d/1rGvLhD4SR8Y9M1wVmqgyesPNkbZGU7HOqlttjEFJ5Vo/edit?tab=t.tmx19oox759l#heading=h.j3tt49hqiuck > > *Summary* > > Allows a website to declaratively prompt users to install a web app. The > element optionally accepts two attributes which allows installation of > content from a different origin. > > *Blink component* > > Blink>AppManifest > <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EAppManifest%22> > > *Web Feature ID* > > install-element <https://webstatus.dev/features/install-element> > > *Search tags* > > webinstall <https://chromestatus.com/features#tags:webinstall>, > webappinstallation > <https://chromestatus.com/features#tags:webappinstallation>, webinstallapi > <https://chromestatus.com/features#tags:webinstallapi>, installelement > <https://chromestatus.com/features#tags:installelement> > > *TAG review* > > https://github.com/w3ctag/design-reviews/issues/1051 (This is technically > the early design review for the imperative navigator.install – we went > through several rounds of feedback off of this that influenced the shape of > the installation capability significantly. The same origin capability was > rated 'satisfied with concern' and only the cross-origin capability was > rated 'unsatisfied'. This review is still relevant for this declarative > HTML install element, as it’s simply a new entry point.) > > *TAG review status* > > Pending > > *Goals for experimentation* > > 1 - Gather developer feedback on the ergonomics and usability (e.g. > styling options) of the element. > > 2 - Compare data (including developer feedback) on the element-based > install, with the imperative Web Install API (navigator.install), to inform > future direction. > > As part of navigator.install, 2 new UKMs and 2 UMAs were added. We've > updated these so we can differentiate between the two entry points for > direct comparison. > > See experimentation goals for navigator.install - > https://chromestatus.com/feature/5183481574850560 > > *Risks* > > *Interoperability and Compatibility* > > Interop - Low risk. This is a new entry point to the Web Install API that > installs web apps, which are supported by other browsers. > > The no-attribute version of the element (installs the current document) > has enough support to be merged into the W3C web app manifest spec - > https://github.com/w3c/manifest/pull/1175. It has also been reviewed > favorably by TAG - https://github.com/w3ctag/design-reviews/issues/1051. > > While the attribute versions of the element (installing a > cross-origin document) are still under discussion in WICG, we have no > reason to believe there will be interop risk with these additions. > > Compatibility - Low risk. This is a new element that requires explicit > developer action to use. > > *Gecko*: No signal (Web Install capability · Issue #1179 · > mozilla/standards-positions > <https://github.com/mozilla/standards-positions/issues/1179>) > > *WebKit*: No signal (Web Install API · Issue #463 · > WebKit/standards-positions > <https://github.com/WebKit/standards-positions/issues/463>) > > *Web developers*: Positive (Principle: The Web should not owned by anyone > · Issue #120 · w3ctag/ethical-web-principles > <https://github.com/w3ctag/ethical-web-principles/issues/120#issuecomment-2285431557> > ) > > *Other signals*: pwastore.io - pwastore.io - the PWA focused marketplace > everyone deserve : r/PWA > <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 rendering the install > element. There is overlap between this install element and the > BeforeInstallPrompt event. This element is more ergonomic, and we think > developers will prefer its declarative format. 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 element was designed with > ergonomics in mind, and we have multiple places with instructions for > developers (two test sites, and the explainer itself) > > *Security* > > The element proposal came out of security concerns with imperative APIs, > specifically that an API to trigger the PWA installation flow cannot > provide a strong enough signal of user intent to install an app, thereby > increasing the risk of abuse and annoyance to users. > > <install> inherits from a base capability element, which has many security > protections. Some examples include (1) restrictions on element > styling/sizing (eg. it cannot be fully transparent, and it has a minimum > and maximum size), (2) preventing activation if out of view, or recently > attached to the tree, and (3) preventing clipping/occlusion/distortion. > > *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 > > *Ongoing technical constraints* > > None > > *Debuggability* > > Existing DevTools support for HTML elements. The base capability element > also raises customized DevTools issues if the browser believes it cannot > safely allow the element to be activated. 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* > <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> > *?* > > No > > The element's base behavior (styling/activation restrictions, etc) can be > tested. See https://wpt.fyi/results/html/semantics/permission-element. > 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. > > *Flag name on about://flags* > > web-app-install-element > > *Finch feature name* > > InstallElement > > *Requires code in //chrome?* > > False > > *Tracking bug* > > https://issues.chromium.org/issues/454827186 > > *Measurement* > > We have a JavaScript use counter that tracks how often the element is > found in pages (regardless of whether it can be activated). We also have > chromium UMAs and UKMs. > > *Estimated milestones* > > Origin trial desktop first > > 148 > > Origin trial desktop last > > 153 > > > > *Link to entry on the Chrome Platform Status* > > https://chromestatus.com/feature/5152834368700416?gate=5998917676302336 > > 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/e0fdde45-eb81-4560-b7d8-58d6d61b2d23n%40chromium.org.
