LGTM1
/Daniel
On 2024-08-09 01:21, Thomas Guilbert wrote:
Contact emails
tguilb...@chromium.org
Explainer
None
Specification
https://w3c.github.io/webrtc-extensions/#rtcdatachannel-transferable
Summary
The RTCDataChannel interface is part of the WebRTC standard, and
represents a network channel which can be used for bidirectional
peer-to-peer transfers of arbitrary data. This feature tracks exposing
RTCDataChannel in dedicated workers, and allowing the transfer of
RTCDataChannels to them workers. This will help reduce main thread
contention and lead to smoother and more reliable WebRTC applications.
Blink component
Blink>WebRTC>DataChannel
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebRTC%3EDataChannel>
TAG review
None
TAG review status
Not applicable
Risks
Interoperability and Compatibility
There is an interoperability risk when it comes to which types of
workers are supported by which browser. - Safari/WebKit supports
transfers to DedicatedWorkers and to ServiceWorkers. - Chromium is
only looking to add transfers to DedicatedWorkers; supporting
transfers to ServiceWorkers would require significant architectural
changes (across processes, rather than across threads) and might never
be supported. - Firefox/Gecko supports neither, but might support
transfers to both DedicatedWorkers and ServiceWorkers, if/when they
choose to support this feature. Regardless of whether or not Chromium
supports transfers to ServiceWorkers, enabling transfers to
DedicatedWorkers addresses current developer needs, and improves
interoperability.
/Gecko/: No signal
(https://bugzilla.mozilla.org/show_bug.cgi?id=1209163) Mozilla is
aware of the issue, but has not allocated resources to it as of yet.
/WebKit/: Shipped/Shipping
(https://bugs.webkit.org/show_bug.cgi?id=222965)
/Web developers/: Positive This has been a longstanding request from
developers. E.g:
https://bugzilla.mozilla.org/show_bug.cgi?id=1209163#c4
https://issues.chromium.org/issues/40787712#comment21
/Other signals/:
Ergonomics
This feature improves the ergonomics of existing Worker exposed APIs.
For example, it allows developers to use WebCodecs and Offscreen
canvas from workers, without having to repeatedly transfer data from
the main thread.
Activation
N/A
Security
This feature should not introduce any new security risks. Existing
risks can be found in the WebRTC API specification:
https://w3c.github.io/webrtc-pc/#privacy-and-security-considerations
WebView application risks
Does this intent deprecate or change behavior of existing APIs, such
that it has potentially high risk for Android WebView-based applications?
None
Debuggability
N/A
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes
Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
Yes
DedicatedWorkers:
https://wpt.fyi/results/webrtc-extensions/transfer-datachannel.html?label=experimental&label=master&aligned
<https://wpt.fyi/results/webrtc-extensions/transfer-datachannel.html?label=experimental&label=master&aligned>
ServiceWorkers (out of scope for this feature):
https://wpt.fyi/results/webrtc-extensions/transfer-datachannel-service-worker.https.html?label=experimental&label=master&aligned
<https://wpt.fyi/results/webrtc-extensions/transfer-datachannel-service-worker.https.html?label=experimental&label=master&aligned>
Flag name on chrome://flags
None
Finch feature name
TransferableRTCDataChannel
Requires code in //chrome?
False
Sample links
https://tguilbert-google.github.io/RTCDataChannel/index.html
Estimated milestones
Shipping on desktop 130
DevTrial on desktop 129
Shipping on Android 130
DevTrial on Android 129
Anticipated spec changes
Open questions about a feature may be a source of future web compat or
interop issues. Please list open issues (e.g. links to known github
issues in the project for the feature specification) whose resolution
may introduce web compat/interop risk (e.g., changing to naming or
structure of the API in a non-backward-compatible way).
None
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6612726584180736?gate=4885503741263872
Links to previous Intent discussions
Intent to Prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/dab53bcd-e51d-41bc-a312-4bd3e08322f0n%40chromium.org
This intent message was generated by Chrome Platform Status
<https://chromestatus.com/>.
--
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+unsubscr...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABrVPoba%2B6EuYDdfxKF8ZXn%3DXmzt6vd1tZ53yTS9-CEdUBXTzw%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABrVPoba%2B6EuYDdfxKF8ZXn%3DXmzt6vd1tZ53yTS9-CEdUBXTzw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
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+unsubscr...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b2d9e822-092f-4ad3-b595-7fa0044062cc%40gmail.com.