Intent to Extend Experiment 2: Web app launch handler

137 views
Skip to first unread message

Alan Cutter

unread,
Aug 3, 2022, 3:49:24 AM8/3/22
to blink-dev

Contact emails
alanc...@chromium.org

Original I2E
https://groups.google.com/a/chromium.org/g/blink-dev/c/wNOClobsLrs

Explainer
https://github.com/WICG/sw-launch/blob/main/launch_handler.md

Specification
Draft: https://wicg.github.io/sw-launch/

Summary
Adds a "launch_handler" app manifest member that enables web apps to customise their launch behaviour across all types of app launch triggers (start menu launch, link capture, share target, etc.).

Example usage:
{
  "name": "Example app",
  "start_url": "/index.html",
  "launch_handler": {
    "client_mode": "navigate-existing"
  }
}

This will cause all launches of the Example app to focus an existing app window and navigate it (if it exists) instead of always launching a new app window.

Blink component
Blink>AppManifest

TAG review
https://github.com/w3ctag/design-reviews/issues/683

TAG review status
Closed. Satisfied to see this move ahead but keeping in mind compatibility with the MiniApp lifecycle.

Risks:
Interoperability and Compatibility
 - Gecko: No signal
 - WebKit: No signal
 - Web developers: Strong positive signals on the previous Declarative Link Capturing origin trial, strong positive signals from the origin trial so far.

Experiment Summary
Web App Launch Handler Origin Trial 1 Developer Feedback

Experiment Goals
 - Expose the new client_mode syntax.
 - Validate attempts to fix bad interactions with share target.

Experiment Timeline
Previous: M103 to M106.
Requested: M107 to M110.

Reason this experiment is being extended
- The route_to field has been renamed to client_mode along with all its values (breaking change).
- We uncovered a bad interaction with share target that requires spec change to resolve.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
No, desktop only.

Is this feature fully tested by web-platform-tests?
No, this requires browser_tests as it involves managing windows.
Have raised an issue with testdriver.js for web app specific support.

Flag name
chrome://flags/#enable-desktop-pwas-launch-handler
kWebAppEnableLaunchHandler

Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1231886

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

Previous blink-dev threads
Since the last extension there is now a spec draft, some breaking API changes and a broken interaction with share target that needs spec work.

Thomas Steiner

unread,
Aug 3, 2022, 3:59:20 AM8/3/22
to Alan Cutter, blink-dev
Updated the developer-facing article according to the changes: https://github.com/GoogleChrome/developer.chrome.com/pull/3368. Note that the explainer still mentions the old syntax.

--
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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CANJJ2CmyiSPHr-f0RXVpmuja-H1bTQik-3B-hkBK90Q-FqwJag%40mail.gmail.com.


--
Thomas Steiner, PhD—Developer Relations Engineer (https://blog.tomayac.comhttps://twitter.com/tomayac)

Google Germany GmbH, ABC-Str. 19, 20354 Hamburg, Germany
Geschäftsführer: Paul Manicle, Liana Sebastian
Registergericht und -nummer: Hamburg, HRB 86891

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

iFy0uwAntT0bE3xtRa5AfeCheCkthAtTh3reSabiGbl0ck0fjumBl3DCharaCTersAttH3b0ttom.hTtPs://xKcd.cOm/1181/
----- END PGP SIGNATURE -----

Alex Russell

unread,
Aug 3, 2022, 11:44:47 AM8/3/22
to blink-dev, tste...@google.com, blink-dev, Alan Cutter
LGTM to extend but want to note that this is about to bump up against a year total runtime under experimentation, and the API OWNERS don't generally like things to run so long.

What's in the way of shipping? Is it possible that you'll have enough feedback before 110 to go for a gapless launch? Would be great to get this into the world.

Thanks,

Alex

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Alan Cutter

unread,
Aug 3, 2022, 8:12:43 PM8/3/22
to blink-dev, Alex Russell, tste...@google.com, blink-dev, Alan Cutter
Thanks! I consider the broken interaction with share target bad enough (side note, twitter.com is currently affected) that it's a blocking spec issue that needs fixing before we ship, once that's resolved I'll be sending an I2S for a gapless launch.

Dan Dumont

unread,
Sep 19, 2022, 11:28:16 AM9/19/22
to blink-dev, Alan Cutter, sligh...@chromium.org, tste...@google.com, blink-dev
Is there a tracking issue for the share target interaction problem?
I'm eager to see this land.

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Alan Cutter

unread,
Sep 20, 2022, 8:47:25 PM9/20/22
to blink-dev, Dan Dumont, Alan Cutter, Alex Russell, tste...@google.com, blink-dev
Reply all
Reply to author
Forward
0 new messages