Intent to Prototype: Declarative Link Capturing for PWAs

293 views
Skip to first unread message

Matt Giuca

unread,
Dec 14, 2020, 1:09:44 AM12/14/20
to blink-dev, Matt Giuca, Alan Cutter, Chase Phillips

Contact emails

mgi...@chromium.orgalanc...@chromium.orgc...@chromium.org

Explainer


https://github.com/WICG/sw-launch/blob/master/declarative_link_capturing.md

Specification

None

Summary

New Web App Manifest members to control what happens when the user navigates to a page within scope of an installed web app. This feature introduces the "capture_links" member, an enumeration allowing the customization of link capturing behaviour, allowing sites to: - Automatically open a new PWA window when the user clicks a link to their app. - Have a "single window mode" like mobile apps.



Blink component

UI>Browser>WebAppInstalls

Motivation

After a user installs a PWA, currently the only way to open that PWA in its standalone window is to launch it directly from the system launcher, or use hard-to-discover Chrome menus to "pop out" web pages into the installed app. Site developers commonly request the ability for when the user clicks a link into their (already installed) app's scope, it automatically opens the app window. This mirrors the behaviour of apps on mobile which do this automatically. Site developers also frequently request the ability to, by default, focus an existing instance of the app rather than opening a new one. For example, a music player app doesn't make sense to open a second instance.


TAG review

None

TAG review status

Pending

Risks



Interoperability and Compatibility

Very small, since any browser not implementing this will just fall back to the standard behaviour, which is to navigate to links in a browser tab. The design presents a forwards compatibility risk, which is that any new modes added after the initial release would not be supported on earlier browsers, forcing developers to break older browsers if they want to use newer modes (similar to what happened with "display"). We can work around this by accepting a fallback list.



Gecko: No signal

WebKit: No signal

Web developers: No signals


Is this feature fully tested by web-platform-tests?

No

Link to entry on the Chrome Platform Status

https://www.chromestatus.com/feature/5734953453092864

This intent message was generated by Chrome Platform Status.

yo...@yoav.ws

unread,
Dec 15, 2020, 2:03:08 AM12/15/20
to blink-dev, Matt Giuca, Alan Cutter, Chase Phillips
On Monday, December 14, 2020 at 7:09:44 AM UTC+1 Matt Giuca wrote:

Contact emails

mgi...@chromium.orgalanc...@chromium.orgc...@chromium.org

Explainer


https://github.com/WICG/sw-launch/blob/master/declarative_link_capturing.md

Specification

None

Summary

New Web App Manifest members to control what happens when the user navigates to a page within scope of an installed web app. This feature introduces the "capture_links" member, an enumeration allowing the customization of link capturing behaviour, allowing sites to: - Automatically open a new PWA window when the user clicks a link to their app. - Have a "single window mode" like mobile apps.



Blink component

UI>Browser>WebAppInstalls

Motivation

After a user installs a PWA, currently the only way to open that PWA in its standalone window is to launch it directly from the system launcher, or use hard-to-discover Chrome menus to "pop out" web pages into the installed app. Site developers commonly request the ability for when the user clicks a link into their (already installed) app's scope, it automatically opens the app window. This mirrors the behaviour of apps on mobile which do this automatically. Site developers also frequently request the ability to, by default, focus an existing instance of the app rather than opening a new one. For example, a music player app doesn't make sense to open a second instance.


TAG review

None

Are you planning to file one?

Matt Giuca

unread,
Dec 16, 2020, 10:56:39 PM12/16/20
to yo...@yoav.ws, blink-dev, Alan Cutter, Chase Phillips

Som Shahapurkar

unread,
Nov 18, 2021, 1:37:27 PM11/18/21
to blink-dev, Matt Giuca, blink-dev, Alan Cutter, Chase Phillips, yo...@yoav.ws
Hey Matt, has this moved beyond trial?
The information contained in this email message and its attachments is intended only for the private and confidential use of the recipient(s) named above, unless the sender expressly agrees otherwise. Transmission of email over the Internet is not a secure communications medium. If you are requesting or have requested the transmittal of personal data, as defined in applicable privacy laws by means of email or in an attachment to email, you must select a more secure alternate means of transmittal that supports your obligations to protect such personal data. 

If the reader of this message is not the intended recipient and/or you have received this email in error, you must take no action based on the information in this email and you are hereby notified that any dissemination, misuse or copying or disclosure of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by email and delete the original message. 

Matt Giuca

unread,
Nov 18, 2021, 10:47:53 PM11/18/21
to Som Shahapurkar, blink-dev, Alan Cutter, Chase Phillips, yo...@yoav.ws
Hi Som,

This API has evolved into a new design called "launch_handler" which is more general than link capturing (allowing us to specify launch logic for all kinds of app launches including share targets, file handlers, etc).


The Declarative Link Capturing trial is scheduled to end after Chrome 97, at which time the new API will be available and sites will need to adopt the new syntax to continue having this functionality. (It will be possible to have a site that supports the old and new syntax, with both the old and new origin trials, to support both Chrome 97 and 98 at the same time.)
Reply all
Reply to author
Forward
0 new messages