[Meta] Make RTCDataChannels transferable (to workers)
Categories
(Core :: WebRTC: Networking, enhancement)
Tracking
()
People
(Reporter: jesup, Assigned: bwc)
References
(Blocks 1 open bug)
Details
(4 keywords)
Attachments
(8 files, 1 obsolete file)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
| Reporter | ||
Updated•10 years ago
|
Updated•10 years ago
|
| Reporter | ||
Updated•10 years ago
|
Updated•10 years ago
|
Comment 1•8 years ago
|
||
Comment 2•3 years ago
|
||
Hi Byron, is this on the roadmap at all?
- WebKit has implemented it, and it shipped in Safari about a year ago β https://trac.webkit.org/changeset/274758/webkit/
- Blink hasnβt yet implemented it; feature bug is https://bugs.chromium.org/p/chromium/issues/detail?id=1244165
| Assignee | ||
Comment 3•3 years ago
|
||
We do not have any near-term plan to implement this at the moment, since we have an excess of P1/P2 work.
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Comment 4•3 years ago
|
||
Something like this can't be polyfilled nicely. would be great if this could be supported natively π
Besides Safari this now also has been implemented by Blink (will be available in Chrome v130).
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
@jim and all.
How about the features. the features is critical to Zoom's web client. Which could make audio/video media data transfer be more stable without the impact of UI. Could you prioritize the features. Thanks
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 7•7 months ago
|
||
This will be necessary once it is possible for an RTCDataChannel to be
on a worker.
| Assignee | ||
Comment 8•7 months ago
|
||
Depends on D260562
| Assignee | ||
Comment 9•6 months ago
|
||
Depends on D261658
| Assignee | ||
Comment 10•6 months ago
|
||
Includes a shim and corresponding worker code that allows mainthread test code
to use a transferred RTCDataChannel very similarly to a mainthread
RTCDataChannel, to make it easy to write tests quickly, and adapt existing test
code to the transferred RTCDataChannel case.
Depends on D261659
| Assignee | ||
Comment 11•6 months ago
|
||
We want this because RTCDataChannels often have events dispatched to them
before we know what thread they will actually be operating on.
This class allows us to dispatch events as normal while we are in this
indeterminate state, and when we learn what the event target will be, connect
it and allow the events to flow.
For example, it is possible for an RTCDataChannel to be created on an already
active SCTP transport that is already firing events. We do not want those
events to go to main until we know that is where the datachannel will live. As
another example, it is possible for JS to create a data channel, make a
getStats call, and then transfer that data channel; we do not want the event
dispatch for that getStats call to be sent to main, we want it to go to the
worker, but the worker thread has not even been created yet.
Depends on D261660
| Assignee | ||
Comment 12•6 months ago
|
||
We don't want to try to do this on a worker when we create an RTCDataChannel there.
Depends on D261661
| Assignee | ||
Comment 13•6 months ago
|
||
Depends on D261662
| Assignee | ||
Comment 14•6 months ago
|
||
Depends on D261663
| Assignee | ||
Comment 15•6 months ago
|
||
Depends on D261665
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Comment 17•6 months ago
|
||
Comment 19•6 months ago
|
||
Comment 20•6 months ago
|
||
Backed out for causing failures at test_worker_interfaces_secureContext.html.
Backout link: https://hg-edge.mozilla.org/integration/autoland/rev/5db718a758debc4f6ebd8f04b27bfd2b406b8823
Failure logs:
https://treeherder.mozilla.org/logviewer?job_id=525771908&repo=autoland&task=JKnsAyA4SBSczZ26x4JMMQ.0&lineNumber=152194
https://treeherder.mozilla.org/logviewer?job_id=525783176&repo=autoland&task=LWLwDZHSSFq5Dg_yLvQ-jA.0&lineNumber=8114
https://treeherder.mozilla.org/logviewer?job_id=525771868&repo=autoland&task=CrcZPImbQGOggcThlbi41w.0&lineNumber=20926
Comment 21•6 months ago
|
||
Comment 22•6 months ago
•
|
||
Backed out for causing build bustages @ TestStopGapEventTarget.cpp
Backout link: https://github.com/mozilla-firefox/firefox/commit/9a817cb4a482fcbc946173c9d42ec2d530dbad72
https://hg.mozilla.org/integration/autoland/rev/de651b960db05a5da3784a1b1293311a05c789c5
Comment 23•6 months ago
|
||
Comment 24•6 months ago
|
||
Updated•6 months ago
|
Comment 25•6 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/bcb61012ba9d
https://hg.mozilla.org/mozilla-central/rev/aa46fdf155fd
https://hg.mozilla.org/mozilla-central/rev/a3a6ad306482
https://hg.mozilla.org/mozilla-central/rev/6ee9daf54357
https://hg.mozilla.org/mozilla-central/rev/8423f51240fd
https://hg.mozilla.org/mozilla-central/rev/8efee5d1c515
https://hg.mozilla.org/mozilla-central/rev/0e6b64411c08
https://hg.mozilla.org/mozilla-central/rev/2965cdb041d3
https://hg.mozilla.org/mozilla-central/rev/78b06c570470
| Assignee | ||
Comment 26•6 months ago
|
||
Release Note Request (optional, but appreciated)
[Why is this notable]:
The ability to transfer RTCDataChannel to a worker is a long awaited feature in Firefox.
[Suggested wording]:
Implemented worker transfer for RTCDataChannel.
[Links (documentation, blog post, etc)]:
I guess https://w3c.github.io/webrtc-pc/#transfering-a-data-channel ?
Comment 27•6 months ago
|
||
Thanks, added to the Fx144 nightly release notes, please allow 30 minutes for the site to update.
Keeping the relnote-firefox flag as ? to keep it on the radar for inclusion in the final Fx144 release notes.
Updated•5 months ago
|
Comment 28•5 months ago
|
||
This isn't in the FF144 MDN release project because no one added dev-doc-needed.
My assumption is that all this needs is an update to the MDN release note, addition of RTCDataChannel to the list in Transferable objects, and a fix to the compatibility data in https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel#browser_compatibility for the transferrable key.
@Donal FYI for MDN the docs link we use for information about this kind of thing is Transferable objects. You might choose to use that instead of a spec link.
Comment 29•5 months ago
|
||
Thanks Hamis. I changed the URL in the release notes to use https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Transferable_objects.
Description
•