Bug 1596918: Part 1e - Correctly handle query handlers throwing uncatchable exceptions. r=mccr8

Differential Revision: https://phabricator.services.mozilla.com/D53738

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Kris Maglione 2019-12-06 22:13:57 +00:00
Родитель d002626b06
Коммит a05bf74656
1 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@ -238,7 +238,13 @@ void JSWindowActor::ReceiveMessageOrQuery(
// If we have a promise, resolve or reject it respectively.
if (promise) {
if (aRv.Failed()) {
promise->MaybeReject(aRv);
if (aRv.IsUncatchableException()) {
aRv.SuppressException();
promise->MaybeRejectWithDOMException(
NS_ERROR_FAILURE, "Message handler threw uncatchable exception");
} else {
promise->MaybeReject(aRv);
}
} else {
promise->MaybeResolve(retval);
}