Intent to Experiment: Progressive Web Apps as URL Handlers

282 views
Skip to first unread message

Mandy Chen (SHE/HER)

unread,
Jul 9, 2021, 7:31:38 PM7/9/21
to blin...@chromium.org

Contact emails

lu.h...@microsoft.commandy...@microsoft.comluig...@microsoft.comm...@chromium.org


Explainer

https://github.com/WICG/pwa-url-handler


Specification

Pending


API spec

Yes


Design docs


https://github.com/WICG/pwa-url-handler
https://docs.google.com/document/d/19dGklalQTRtRrG3PKrVbDRmYPLHGLnsGEwUaed7sAFQ/edit?usp=sharing
https://docs.google.com/document/d/14-_u_DSUKCC0XT9rWgQz9SytDQpCet--KVROV_YTkGw/edit?usp=sharing


Summary

Enables web applications to register as https URL handlers using their web app manifest.




Blink component

UI>Browser>WebAppInstalls


TAG review

https://github.com/w3ctag/design-reviews/issues/552


TAG review status

Pending


Risks




Interoperability and Compatibility

This feature is new to the web and web apps that do not opt in will not be affected because any additions to the web app manifest will be optional. Browser behavior will also not be affected if there are no installed apps that opt in. Browser that do not support this feature will not be adversely affected by new members in the web app manifest.



Gecko: No signal (https://github.com/mozilla/standards-positions/issues/550)

WebKit: No signal (https://lists.webkit.org/pipermail/webkit-dev/2021-July/031920.html)

Web developers: Positive (https://techcommunity.microsoft.com/t5/discussions/click-url-to-open-pwa-automatically/m-p/2192994)


Security

https://github.com/WICG/pwa-url-handler/blob/main/explainer.md#security-considerations




Goals for experimentation

Allow third party developers to use the API and provide feedback.




Reason this experiment is being extended

N/A, not extending.




Ongoing technical constraints

None




Debuggability

Debug functionality will be added to the the DevTools(F12) Application pane.




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

No

Supported in the browser on Windows, Mac, and Linux. Integration with OS features will vary.




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

No


DevTrial instructions

https://web.dev/pwa-url-handler/


Flag name

#enable-desktop-pwas-url-handling


Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1072058


Launch bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1072757


Link to entry on the Chrome Platform Status

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


Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/2Sv3fCWEi_Q/m/yrSoJP8mAAAJ
Ready for Trial: 
https://groups.google.com/a/chromium.org/g/blink-dev/c/7NTGauH8Mxs


This intent message was generated by Chrome Platform Status.

 

Mike West

unread,
Jul 15, 2021, 4:17:02 AM7/15/21
to Mandy Chen (SHE/HER), blin...@chromium.org
In Chrome's internal security review, folks had some questions about the revalidation schedule (which seems pretty critical). It's not clear to me from the docs linked here what that looks like in Chromium's implementation. Can you clarify the mechanism and the guarantees it provides?

I'd also note that I appreciate the work y'all have done with Chrome's permissions/UX folks to deal with concerns in https://docs.google.com/document/d/1pL9VexY86o3YW-iP1iN_O2fzj9QBqvBQm7CWMl5Djf0/edit#heading=h.aqp7s0iku4eb. I'll confirm with them that you're on the same page. :)

-mike


--
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/CY1PR00MB0186EA268A8C4D4A9827A20290189%40CY1PR00MB0186.namprd00.prod.outlook.com.

Mandy Chen (SHE/HER)

unread,
Jul 15, 2021, 1:55:26 PM7/15/21
to mk...@chromium.org, blin...@chromium.org

Web app origin association revalidation schedule is the same as that of manifest update. It’s triggered by app launch or app page load, and it’s throttled to once a day. When the browser restarts, we also clear any last updated timestamp information, so on the next app launch/page load, we also update the manifest and revalidate web app origin associations. See the “On Manifest Update” section of the Web App Origin Association design doc: Web App Origin Association Design - Google Docs.

 

Let me know if there’re more questions. Thank you!

Lu Huang

unread,
Jul 16, 2021, 1:38:55 PM7/16/21
to blink-dev, Mandy Chen (SHE/HER), blin...@chromium.org, mk...@chromium.org
Adding to Mandy's reply re. Chromium's implementation: 

- Web app manifest content does not have to change for WAOA file changes to get validated during the manifest update check.
- WAOA files needed by a particular web app can be revalidated at most once a day (because of the web app manifest update throttle period).
- There is no upper limit to the time before WAOA files are revalidated if the browser never navigates to the app's scope. 
    - It's possible for the user to always dismiss the app picker dialog when URL handling happens. The app never updates and WAOA files are never revalidated.

Broadly speaking, the guarantee we have in the Chromium implementation is that any app that is actively visited (*) by the user will have its required WAOA files revalidated. 

(*) There is an unlikely edge case: if an app is visited actively but never navigates any URL within its scope, manifest update and WAOA revalidation will not take place.


Mike West

unread,
Jul 22, 2021, 1:07:19 PM7/22/21
to Lu Huang, Mandy Chen (SHE/HER), blin...@chromium.org
I've confirmed with folks internally that y'all are on the same page with regard to the UX, thanks!

I should have asked previously: in what timeframe do you plan to run the origin trial?

-mike


Lu Huang

unread,
Jul 22, 2021, 2:06:48 PM7/22/21
to mk...@chromium.org, Mandy Chen (SHE/HER), blin...@chromium.org

Thanks for confirming with others. We would like to get permission to start OT in Chromium M93, running through M95. Planning to add user preferences WebUI in M94.

Mike West

unread,
Jul 22, 2021, 3:21:43 PM7/22/21
to Lu Huang, Mandy Chen (SHE/HER), blin...@chromium.org
LGTM, thank you.

-mike

Lu Huang

unread,
Aug 26, 2021, 7:00:40 PM8/26/21
to blink-dev, mk...@chromium.org, Mandy Chen (SHE/HER), blin...@chromium.org, Lu Huang
Update: there was an A11Y bug which blocked the start in M93. This bug has been fixed in M95 and we are working on merging it back to M94. We would now like to start OT in M94, to run through M97. 

Chris Harrelson

unread,
Aug 26, 2021, 7:01:08 PM8/26/21
to Lu Huang, mk...@chromium.org, Mandy Chen (SHE/HER), blin...@chromium.org, Lu Huang

Lu Huang

unread,
Sep 16, 2021, 6:03:54 PM9/16/21
to blink-dev, Chris Harrelson, mk...@chromium.org, Mandy Chen (SHE/HER), blin...@chromium.org, Lu Huang, Lu Huang

Thomas Steiner

unread,
Sep 17, 2021, 3:29:05 AM9/17/21
to Lu Huang, blink-dev, Chris Harrelson, mk...@chromium.org, Mandy Chen (SHE/HER), Lu Huang



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

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

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

iFy0uwAntT0bE3xtRa5AfeCheCkthAtTh3reSabiGbl0ck0fjumBl3DCharaCTersAttH3b0ttom.hTtPs://xKcd.cOm/1181/
-----END PGP SIGNATURE-----
Reply all
Reply to author
Forward
0 new messages