Contact emails
mho...@microsoft.com, ericwi...@chromium.org
(mhochk will be addressing the Windows portion, ericwilligers the Chrome OS portion)
Explainer
https://github.com/w3c/web-share/blob/master/docs/explainer.md
Spec
https://w3c.github.io/web-share/level-2/
Level 1 support already received a TAG review (https://github.com/w3ctag/design-reviews/issues/170, https://github.com/w3ctag/design-reviews/issues/179) and Level 2 was discussed in the TAG review for Share Target (https://github.com/w3ctag/design-reviews/issues/221).
See also the pre-existing Intent To Implement for Level 1 (https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/1BOhy5av8MQ/OPPt76oZCQAJ) and Level 2 (https://groups.google.com/a/chromium.org/forum/#%21msg/blink-dev/AiKgWvv3cq0/xAsjfSfMDQAJ).
Summary
Web Share is an API set for sharing data (text, URLs, files) from a web app (to which the data is already available) to an app of the user's choosing. This has already been implemented/shipped in Chromium for Android and has been implemented/shipped in Edge for Windows. This phase covers extending the support for these APIs to the Windows and Chrome OS implementation in Chromium.
Motivation
The ability to invoke a platform "share" event is already exposed to websites today as a platform-neutral API and its usage is growing, but is only supported on some platforms. To better allow websites to take advantage of this functionality this will extend the support to include more platforms.
The underlying Web Share API's motivations focuses around existing scenarios where websites offer the ability to "share", but are forced to do so using individual links to developer-selected targets. This not only requires the site author to individually add support for targets, it also limits those targets to other websites (not native apps) and limits the user's selection options to those chosen by the site author.
Risks
Interoperability and Compatibility
Interest in this feature has been consistently expressed, but even with its growing support we expect most sites to offer this functionality as an opportunistic addition to their pre-existing share functionality. As such, the impact on sites of adding (or removing) support on an additional platform should be minimal.
Edge: Shipped Level 1 and 2 on Windows.
Firefox: Partially implemented and continuing development (bug, bug)
Safari: Shipped Level 1 support (bug) and continuing development of Level 2 support (bug)
Web / Framework developers: The ability to share images and files has been a consistent request.
See also the Intent to Implement: Web Share API (Android) discussion: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/1BOhy5av8MQ/OPPt76oZCQAJ
See also the Intent to Implement: Web Share Level 2 (Android) discussion: https://groups.google.com/a/chromium.org/forum/#%21msg/blink-dev/AiKgWvv3cq0/xAsjfSfMDQAJ
Ergonomics
The Web Share Target API complements this API. Web applications can register to receive share requests. It is shipped in Chrome for Android (https://web.dev/web-share-target/) and implemented (not shipped) in Edge for Windows.
Activation
The API is straightforward and feature detectable. Developers should be able to make use of it immediately without degrading the experience of users running older browsers.
Debuggability
No DevTools changes are required.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
No. This feature is already implemented on Android and this will extend the feature support to include Windows and Chrome OS. Web Share has to be specifically implemented for each platform because it is an OS interop mechanism.
Link to entry on the feature dashboard
Level 1: https://www.chromestatus.com/feature/5668769141620736
Level 2: https://www.chromestatus.com/feature/4777349178458112
(New) Windows Tracking Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1035527
(New) Chrome Tracking Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1110119
Requesting approval to ship?
No