Intent to Implement and Ship: install event for Web App Manifest

64 views
Skip to first unread message

Matt Giuca

unread,
Jun 27, 2016, 10:04:53 PM6/27/16
to blink-dev
Contact emails

Spec

Summary
An event handler to tell a site that it has been installed or added to home screen.

Motivation
Part of the new app banners / add to homescreen capabilities of the Web App Manifest spec. Websites cannot currently request installation, but they should at least be able to tell when they have been installed, so they can alter their behaviour (e.g., remove promo banners asking the user to install them).

Interoperability risk
Firefox: Shipped
Edge: No public signals
Safari: No public signals
Web developers: No signals

If this feature got removed later, sites that expect to receive this event would no longer receive them. However, because delivery of the event is at the discretion of the browser UI, there is no guarantee the event will ever be dispatched (even if the browser implements this API), so there is no possibility of breaking a site.

This feature was proposed and implemented by Mozilla in April 2016 (see https://github.com/w3c/manifest/pull/453).

Compatibility risk
Adds a new attribute to top-level window object (oninstall) and a new event. Should not break existing content unless a site for some reason is relying on their own "install" event on the window object.

Slight concern about clash with the existing "install" event on ServiceWorkerGlobalScope (https://www.w3.org/TR/service-workers/#service-worker-global-scope-install-event), however, there is no direct collision as this proposal just adds "install" to the window target.

Ongoing technical constraints
None.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux,
Chrome OS, Android, and Android WebView)? Yes or no.
Yes, conditional on implementation of app install on those platforms (currently behind a flag on Windows, Mac, Linux, but implemented on Chrome OS and Android).

OWP launch tracking bug

Link to entry on the Chrome Platform Status

Requesting approval to ship?
Yes.

Chris Harrelson

unread,
Jun 27, 2016, 11:11:30 PM6/27/16
to Matt Giuca, blink-dev
LGTM1

--
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.

Ben Kelly

unread,
Jun 28, 2016, 11:09:45 AM6/28/16
to Matt Giuca, blink-dev
On Mon, Jun 27, 2016 at 10:04 PM, Matt Giuca <mgi...@chromium.org> wrote:
Interoperability risk
Firefox: Shipped

AFAIK, we're putting it behind a pref until our manifest install support is integrated with the product side.
 
Ben

TAMURA, Kent

unread,
Jun 28, 2016, 7:56:08 PM6/28/16
to Chris Harrelson, Matt Giuca, blink-dev
LGTM2.

--
TAMURA Kent
Software Engineer, Google


Matt Giuca

unread,
Jun 28, 2016, 8:34:18 PM6/28/16
to TAMURA, Kent, Chris Harrelson, blink-dev
OK thanks for the clarification, Ben.

Rick Byers

unread,
Jun 28, 2016, 10:52:04 PM6/28/16
to Matt Giuca, Chris Harrelson, Kent TAMURA, blink-dev

The spec seems a little incomplete to me - filed https://github.com/w3c/manifest/issues/475

But the details are unlikely to be an interop issue, so I don't see any reason to delay shipping.

LGTM3

Matt Giuca

unread,
Jun 28, 2016, 10:57:41 PM6/28/16
to Rick Byers, Chris Harrelson, Kent TAMURA, blink-dev
I also filed some concerns about that yesterday and they are being addressed.

Matt Giuca

unread,
Nov 6, 2016, 7:56:33 PM11/6/16
to Rick Byers, Chris Harrelson, Kent TAMURA, blink-dev
FYI, this event has been renamed to "appinstalled" in the spec (https://www.w3.org/TR/appmanifest/#onappinstalled-attribute) to avoid a naming collision with service worker "install" event.

Work is still in progress but I plan to land this in time for M56 branch. (Unless this needs to go through launch review? I'm not sure whether blink features are exempt from this process because they go through intent-to-ship instead.)
Reply all
Reply to author
Forward
0 new messages