Contact emailstguilb...@chromium.org

ExplainerNone

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
workers, and allowing the transfer of RTCDataChannels to workers. This will
help reduce main thread contention and lead to smoother and more reliable
WebRTC applications.


Blink componentBlink>WebRTC>DataChannel
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebRTC%3EDataChannel>

Motivation

Enabling RTCDataChannel transfers to workers will improve the performance
of WebRTC applications, by offloading network send/receive operations from
the main thread to a worker thread. A secondary benefit is improving the
ergonomics and design of WebRTC applications, to leverage other
worker-exposed APIs. For example, developers can combine an RTCDataChannel
in workers with WebCodecs and OffscreenCanvas, to decode and render
directly from a worker.


Initial public proposalNone

TAG reviewNone

TAG review statusNot applicable

Risks


Interoperability and Compatibility

The interoperability/compatibility risks are low: WebKit has already
implemented and shipped this feature. Implementing it in Blink would
improve 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


Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?Yes

https://wpt.fyi/results/webrtc-extensions/transfer-datachannel.html?label=experimental&label=master&aligned


Flag name on chrome://flagsNone

Finch feature nameNone

Non-finch justificationNone

Requires code in //chrome?False

Estimated milestones

No milestones specified


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6612726584180736?gate=5216022848864256

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/CABrVPoZpciJH%3DXK4Upz1cwbXanfcK4mYRV0jiMakksKbckJ_0Q%40mail.gmail.com.

Reply via email to