--- a/dom/media/systemservices/MediaUtils.h
+++ b/dom/media/systemservices/MediaUtils.h
@@ -432,17 +432,18 @@ template<typename ResolveValueType,
void
Await(
already_AddRefed<nsIEventTarget> aPool,
RefPtr<MozPromise<ResolveValueType, RejectValueType, true>> aPromise,
ResolveFunction&& aResolveFunction,
RejectFunction&& aRejectFunction)
{
Monitor mon(__func__);
- RefPtr<AutoTaskQueue> taskQueue = new AutoTaskQueue(Move(aPool));
+ RefPtr<AutoTaskQueue> taskQueue =
+ new AutoTaskQueue(Move(aPool), "MozPromiseAwait");
bool done = false;
aPromise->Then(taskQueue,
__func__,
[&](ResolveValueType&& aResolveValue) {
MonitorAutoLock lock(mon);
aResolveFunction(Forward<ResolveValueType>(aResolveValue));
done = true;
@@ -463,17 +464,18 @@ Await(
template<typename ResolveValueType, typename RejectValueType, bool Excl>
typename MozPromise<ResolveValueType, RejectValueType, Excl>::
ResolveOrRejectValue
Await(already_AddRefed<nsIEventTarget> aPool,
RefPtr<MozPromise<ResolveValueType, RejectValueType, Excl>> aPromise)
{
Monitor mon(__func__);
- RefPtr<AutoTaskQueue> taskQueue = new AutoTaskQueue(Move(aPool));
+ RefPtr<AutoTaskQueue> taskQueue =
+ new AutoTaskQueue(Move(aPool), "MozPromiseAwait");
bool done = false;
typename MozPromise<ResolveValueType, RejectValueType, Excl>::ResolveOrRejectValue val;
aPromise->Then(taskQueue,
__func__,
[&](ResolveValueType aResolveValue) {
val.SetResolve(Move(aResolveValue));
MonitorAutoLock lock(mon);
@@ -507,34 +509,36 @@ void
AwaitAll(already_AddRefed<nsIEventTarget> aPool,
nsTArray<RefPtr<MozPromise<ResolveValueType, RejectValueType, true>>>&
aPromises,
ResolveFunction&& aResolveFunction,
RejectFunction&& aRejectFunction)
{
typedef MozPromise<ResolveValueType, RejectValueType, true> Promise;
RefPtr<nsIEventTarget> pool = aPool;
- RefPtr<AutoTaskQueue> taskQueue = new AutoTaskQueue(do_AddRef(pool));
+ RefPtr<AutoTaskQueue> taskQueue =
+ new AutoTaskQueue(do_AddRef(pool), "MozPromiseAwaitAll");
RefPtr<typename Promise::AllPromiseType> p = Promise::All(taskQueue, aPromises);
Await(pool.forget(), p, Move(aResolveFunction), Move(aRejectFunction));
}
// Note: only works with exclusive MozPromise, as Promise::All would attempt
// to perform copy of nsTArrays which are disallowed.
template<typename ResolveValueType, typename RejectValueType>
typename MozPromise<ResolveValueType,
RejectValueType,
true>::AllPromiseType::ResolveOrRejectValue
AwaitAll(already_AddRefed<nsIEventTarget> aPool,
nsTArray<RefPtr<MozPromise<ResolveValueType, RejectValueType, true>>>&
aPromises)
{
typedef MozPromise<ResolveValueType, RejectValueType, true> Promise;
RefPtr<nsIEventTarget> pool = aPool;
- RefPtr<AutoTaskQueue> taskQueue = new AutoTaskQueue(do_AddRef(pool));
+ RefPtr<AutoTaskQueue> taskQueue =
+ new AutoTaskQueue(do_AddRef(pool), "MozPromiseAwaitAll");
RefPtr<typename Promise::AllPromiseType> p =
Promise::All(taskQueue, aPromises);
return Await(pool.forget(), p);
}
} // namespace media
} // namespace mozilla