Contact emails
mho...@microsoft.com, ericwi...@chromium.org
(mhochk is 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 Android-specific Intent To Ship for Level 1 (https://groups.google.com/a/chromium.org/d/msg/blink-dev/nwmTLZKFFIA/8bslfL3JAwAJ) and Level 2 (https://groups.google.com/a/chromium.org/d/msg/blink-dev/Cr7Jrb9XMgE/lja4PhCtBgAJ).
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.
Link to “Intent to Prototype” blink-dev discussion
https://groups.google.com/a/chromium.org/d/msg/blink-dev/PZkIB8wBTwQ/qfX1At8UAgAJ
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. Separate Intents will cover Web Share Target API for Chrome OS.
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
Windows Tracking Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1035527
Chrome Tracking Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1110119
https://w3c.github.io/web-share/demos/share-files.html
https://github.com/GoogleChrome/samples/tree/gh-pages/web-share
LGTM1
Nice seeing more parity between platforms!
/Daniel
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/f822c1f6-8f8c-4e6c-aee5-e07b420c937bn%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/e416c884-a66f-a320-80a0-d5adacb337d3%40gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACj%3DBEhNQvL1TepT4Gukr12b-c_xsDAVVnLP9Vr_TyJ_f8Z_9w%40mail.gmail.com.