PeerConnnection's operations chain should run synchronous parts of operations synchronously.
Categories
(Core :: WebRTC: Signaling, defect, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox75 | --- | fixed |
People
(Reporter: jib, Assigned: jib)
References
Details
Attachments
(2 files)
The way our peer connection operations chain works is a bit unfortunate, always awaiting a promise, causing code that according to spec should run synchronously to run on the microtask queue. Also, a few up-front uses of Promise.all cause the same thing.
Probably not a big difference, since it's still in the same run of the event loop. But it's JS observable to some extent, so I think we can fix this up a bit.
I ran into this while trying to write an isOperationsChainEmpty() detector to help write some wpt tests to investigate some timing issues in Chrome.
Am adding those tests here as well.
| Assignee | ||
Comment 1•6 years ago
|
||
Updated•6 years ago
|
Updated•6 years ago
|
| Assignee | ||
Comment 2•6 years ago
|
||
Any idea what might be happening here?
Comment 3•6 years ago
|
||
Maybe you're tripping over bug 1591199 here (because the signalingstatechange event fires at the wrong time)?
| Assignee | ||
Comment 4•5 years ago
|
||
Depends on D55585
Comment 9•5 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/ee9a06cf6483
https://hg.mozilla.org/mozilla-central/rev/d02d1c8a0b5c
https://hg.mozilla.org/mozilla-central/rev/99bd31409968
Description
•