mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-08 08:17:31 +09:00
Issue #1322 - Part 1: Remove the DOM Promise guts.
This removes all the parts guarded by SPIDERMONKEY_PROMISE
This commit is contained in:
parent
ad9793b896
commit
40f99b202a
27 changed files with 66 additions and 4009 deletions
|
|
@ -2976,42 +2976,6 @@ ConvertExceptionToPromise(JSContext* cx,
|
|||
JSObject* promiseScope,
|
||||
JS::MutableHandle<JS::Value> rval)
|
||||
{
|
||||
#ifndef SPIDERMONKEY_PROMISE
|
||||
GlobalObject global(cx, promiseScope);
|
||||
if (global.Failed()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
JS::Rooted<JS::Value> exn(cx);
|
||||
if (!JS_GetPendingException(cx, &exn)) {
|
||||
// This is very important: if there is no pending exception here but we're
|
||||
// ending up in this code, that means the callee threw an uncatchable
|
||||
// exception. Just propagate that out as-is.
|
||||
return false;
|
||||
}
|
||||
|
||||
JS_ClearPendingException(cx);
|
||||
|
||||
nsCOMPtr<nsIGlobalObject> globalObj =
|
||||
do_QueryInterface(global.GetAsSupports());
|
||||
if (!globalObj) {
|
||||
ErrorResult rv;
|
||||
rv.Throw(NS_ERROR_UNEXPECTED);
|
||||
return !rv.MaybeSetPendingException(cx);
|
||||
}
|
||||
|
||||
ErrorResult rv;
|
||||
RefPtr<Promise> promise = Promise::Reject(globalObj, cx, exn, rv);
|
||||
if (rv.MaybeSetPendingException(cx)) {
|
||||
// We just give up. We put the exception from the ErrorResult on
|
||||
// the JSContext just to make sure to not leak memory on the
|
||||
// ErrorResult, but now just put the original exception back.
|
||||
JS_SetPendingException(cx, exn);
|
||||
return false;
|
||||
}
|
||||
|
||||
return GetOrCreateDOMReflector(cx, promise, rval);
|
||||
#else // SPIDERMONKEY_PROMISE
|
||||
{
|
||||
JSAutoCompartment ac(cx, promiseScope);
|
||||
|
||||
|
|
@ -3037,7 +3001,6 @@ ConvertExceptionToPromise(JSContext* cx,
|
|||
|
||||
// Now make sure we rewrap promise back into the compartment we want
|
||||
return JS_WrapValue(cx, rval);
|
||||
#endif // SPIDERMONKEY_PROMISE
|
||||
}
|
||||
|
||||
/* static */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue