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 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 componentBlink>WebRTC>DataChannel <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebRTC%3EDataChannel> TAG reviewNone TAG review statusNot 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 ServiceWorkers (out of scope for this feature): https://wpt.fyi/results/webrtc-extensions/transfer-datachannel-service-worker.https.html?label=experimental&label=master&aligned Flag name on chrome://flagsNone Finch feature nameTransferableRTCDataChannel 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 discussionsIntent 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.