[wpt-sync] Sync PR 38067 - Reject pending setSinkId requests with valid ExceptionContext
Categories
(Core :: Web Audio, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox111 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 38067 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/38067
Details from upstream follow.
Alvin Ji <alvinji@chromium.org> wrote:
Reject pending setSinkId requests with valid ExceptionContext
Rejecting pending setSinkId requests is a step of
AudioContext::closeContext. Because it is rejecting pending setSinkId
from a different Promise entry call, it doesn't have a valid
ExceptionContext which lead a crash. This CL fixes it by creating a
fresh DOMException and attach it to the being rejected pending request
also add a test to guard this case.Bug: 1408376
Change-Id: Ie3090c1b631ad3ec1132a5e2fba0f047fd01d3e3Reviewed-on: https://chromium-review.googlesource.com/4179633
WPT-Export-Revision: 860482056b70f8bdf578b783d6b0c8dc0efe49c6
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
| Assignee | ||
Comment 2•3 years ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 1 tests and 8 subtests
Status Summary
Firefox
ERROR : 1
NOTRUN: 8
Chrome
CRASH : 1
Safari
ERROR : 1
NOTRUN: 8
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /webaudio/the-audio-api/the-audiocontext-interface/audiocontext-sinkid-setsinkid.https.html [wpt.fyi]:
ERROR(Chrome:CRASH, Safari:ERROR)- setSinkId() with a valid device identifier should succeeded.:
NOTRUN(Safari:NOTRUN) - setSinkId() with the same sink ID should resolve immediately.:
NOTRUN(Safari:NOTRUN) - setSinkId() with the same AudioSinkOptions.type value should resolve immediately.:
NOTRUN(Safari:NOTRUN) - setSinkId() should fail with TypeError on an invalid AudioSinkOptions.type value.:
NOTRUN(Safari:NOTRUN) - setSinkId() should fail with NotFoundError on an invalid device identifier.:
NOTRUN(Safari:NOTRUN) - setSinkId() should fail with InvalidStateError when calling from astopped AudioContext:
NOTRUN(Safari:NOTRUN) - setSinkId() should fail with InvalidStateError when calling from adetached document:
NOTRUN(Safari:NOTRUN) - pending setSinkId() should be rejected with InvalidStateError whenAudioContext is closed:
NOTRUN(Safari:NOTRUN)
- setSinkId() with a valid device identifier should succeeded.:
Comment 4•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/0e0e9f801d7b
https://hg.mozilla.org/mozilla-central/rev/b77463d76f24
Description
•