mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-26 14:54:25 +00:00
1320408 - Part 20: Change PromiseObject::resolve and PromiseObject::reject to static method.
This commit is contained in:
+10
-10
@@ -2631,14 +2631,14 @@ PromiseObject::dependentPromises(JSContext* cx, MutableHandle<GCVector<Value>> v
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
PromiseObject::resolve(JSContext* cx, HandleValue resolutionValue)
|
||||
/* static */ bool
|
||||
PromiseObject::resolve(JSContext* cx, Handle<PromiseObject*> promise, HandleValue resolutionValue)
|
||||
{
|
||||
MOZ_ASSERT(!PromiseHasAnyFlag(*this, PROMISE_FLAG_ASYNC));
|
||||
if (state() != JS::PromiseState::Pending)
|
||||
MOZ_ASSERT(!PromiseHasAnyFlag(*promise, PROMISE_FLAG_ASYNC));
|
||||
if (promise->state() != JS::PromiseState::Pending)
|
||||
return true;
|
||||
|
||||
RootedObject resolveFun(cx, GetResolveFunctionFromPromise(this));
|
||||
RootedObject resolveFun(cx, GetResolveFunctionFromPromise(promise));
|
||||
RootedValue funVal(cx, ObjectValue(*resolveFun));
|
||||
|
||||
// For xray'd Promises, the resolve fun may have been created in another
|
||||
@@ -2654,14 +2654,14 @@ PromiseObject::resolve(JSContext* cx, HandleValue resolutionValue)
|
||||
return Call(cx, funVal, UndefinedHandleValue, args, &dummy);
|
||||
}
|
||||
|
||||
bool
|
||||
PromiseObject::reject(JSContext* cx, HandleValue rejectionValue)
|
||||
/* static */ bool
|
||||
PromiseObject::reject(JSContext* cx, Handle<PromiseObject*> promise, HandleValue rejectionValue)
|
||||
{
|
||||
MOZ_ASSERT(!PromiseHasAnyFlag(*this, PROMISE_FLAG_ASYNC));
|
||||
if (state() != JS::PromiseState::Pending)
|
||||
MOZ_ASSERT(!PromiseHasAnyFlag(*promise, PROMISE_FLAG_ASYNC));
|
||||
if (promise->state() != JS::PromiseState::Pending)
|
||||
return true;
|
||||
|
||||
RootedValue funVal(cx, this->getFixedSlot(PromiseSlot_RejectFunction));
|
||||
RootedValue funVal(cx, promise->getFixedSlot(PromiseSlot_RejectFunction));
|
||||
MOZ_ASSERT(IsCallable(funVal));
|
||||
|
||||
FixedInvokeArgs<1> args(cx);
|
||||
|
||||
@@ -66,8 +66,10 @@ class PromiseObject : public NativeObject
|
||||
return getFixedSlot(PromiseSlot_ReactionsOrResult);
|
||||
}
|
||||
|
||||
MOZ_MUST_USE bool resolve(JSContext* cx, HandleValue resolutionValue);
|
||||
MOZ_MUST_USE bool reject(JSContext* cx, HandleValue rejectionValue);
|
||||
static MOZ_MUST_USE bool resolve(JSContext* cx, Handle<PromiseObject*> promise,
|
||||
HandleValue resolutionValue);
|
||||
static MOZ_MUST_USE bool reject(JSContext* cx, Handle<PromiseObject*> promise,
|
||||
HandleValue rejectionValue);
|
||||
|
||||
void onSettled(JSContext* cx);
|
||||
|
||||
|
||||
+2
-2
@@ -4925,8 +4925,8 @@ ResolveOrRejectPromise(JSContext* cx, JS::HandleObject promiseObj, JS::HandleVal
|
||||
}
|
||||
|
||||
return reject
|
||||
? promise->reject(cx, resultOrReason)
|
||||
: promise->resolve(cx, resultOrReason);
|
||||
? PromiseObject::reject(cx, promise, resultOrReason)
|
||||
: PromiseObject::resolve(cx, promise, resultOrReason);
|
||||
}
|
||||
|
||||
JS_PUBLIC_API(bool)
|
||||
|
||||
@@ -1659,7 +1659,7 @@ Reject(JSContext* cx, const CompileArgs& args, UniqueChars error, Handle<Promise
|
||||
if (!cx->getPendingException(&rejectionValue))
|
||||
return false;
|
||||
|
||||
return promise->reject(cx, rejectionValue);
|
||||
return PromiseObject::reject(cx, promise, rejectionValue);
|
||||
}
|
||||
|
||||
RootedObject stack(cx, promise->allocationSite());
|
||||
@@ -1687,7 +1687,7 @@ Reject(JSContext* cx, const CompileArgs& args, UniqueChars error, Handle<Promise
|
||||
return false;
|
||||
|
||||
RootedValue rejectionValue(cx, ObjectValue(*errorObj));
|
||||
return promise->reject(cx, rejectionValue);
|
||||
return PromiseObject::reject(cx, promise, rejectionValue);
|
||||
}
|
||||
|
||||
static bool
|
||||
@@ -1699,7 +1699,7 @@ ResolveCompilation(JSContext* cx, Module& module, Handle<PromiseObject*> promise
|
||||
return false;
|
||||
|
||||
RootedValue resolutionValue(cx, ObjectValue(*moduleObj));
|
||||
return promise->resolve(cx, resolutionValue);
|
||||
return PromiseObject::resolve(cx, promise, resolutionValue);
|
||||
}
|
||||
|
||||
struct CompileTask : PromiseTask
|
||||
@@ -1734,7 +1734,7 @@ RejectWithPendingException(JSContext* cx, Handle<PromiseObject*> promise)
|
||||
if (!GetAndClearException(cx, &rejectionValue))
|
||||
return false;
|
||||
|
||||
return promise->reject(cx, rejectionValue);
|
||||
return PromiseObject::reject(cx, promise, rejectionValue);
|
||||
}
|
||||
|
||||
static bool
|
||||
@@ -1822,7 +1822,7 @@ ResolveInstantiation(JSContext* cx, Module& module, HandleObject importObj,
|
||||
return false;
|
||||
|
||||
val = ObjectValue(*resultObj);
|
||||
return promise->resolve(cx, val);
|
||||
return PromiseObject::resolve(cx, promise, val);
|
||||
}
|
||||
|
||||
struct InstantiateTask : CompileTask
|
||||
@@ -1894,7 +1894,7 @@ WebAssembly_instantiate(JSContext* cx, unsigned argc, Value* vp)
|
||||
return RejectWithPendingException(cx, promise, callArgs);
|
||||
|
||||
RootedValue resolutionValue(cx, ObjectValue(*instanceObj));
|
||||
if (!promise->resolve(cx, resolutionValue))
|
||||
if (!PromiseObject::resolve(cx, promise, resolutionValue))
|
||||
return false;
|
||||
} else {
|
||||
auto task = cx->make_unique<InstantiateTask>(cx, promise, importObj);
|
||||
|
||||
Reference in New Issue
Block a user