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 await
ing 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•5 years ago
|
||
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
Any idea what might be happening here?
Comment 3•5 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
•