Intent to Extend Experiment 2: Web app launch handler

Skip to first unread message

Alan Cutter

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

Contact emails

Original I2E



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

TAG review

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

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

Tracking bug

Link to entry on the Chrome Platform Status

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

Aug 3, 2022, 3:59:20 AM8/3/22
to Alan Cutter, blink-dev
Updated the developer-facing article according to the changes: 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
To view this discussion on the web visit

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

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

Version: GnuPG v2.3.4 (GNU/Linux)


Alex Russell

Aug 3, 2022, 11:44:47 AM8/3/22
to blink-dev,, 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.



To unsubscribe from this group and stop receiving emails from it, send an email to

Alan Cutter

Aug 3, 2022, 8:12:43 PM8/3/22
to blink-dev, Alex Russell,, blink-dev, Alan Cutter
Thanks! I consider the broken interaction with share target bad enough (side note, 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

Sep 19, 2022, 11:28:16 AM9/19/22
to blink-dev, Alan Cutter,,, 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

Alan Cutter

Sep 20, 2022, 8:47:25 PM9/20/22
to blink-dev, Dan Dumont, Alan Cutter, Alex Russell,, blink-dev
Reply all
Reply to author
0 new messages