Bug 1404997 - P27. Name TaskQueue for debugging purposes. r?gerald draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Sat, 16 Dec 2017 00:07:42 +0100
changeset 712562 52c8b53259d5508ab81c61ebab2c24df6c2d91b8
parent 712546 b829656f42e69a40ad326d6bf0833d8c3b70f126
child 712563 47a683698fcc997c92a6a101346450994e0190e7
push id93365
push userbmo:jyavenard@mozilla.com
push dateSun, 17 Dec 2017 15:10:41 +0000
reviewersgerald
bugs1404997
milestone59.0a1
Bug 1404997 - P27. Name TaskQueue for debugging purposes. r?gerald MozReview-Commit-ID: KqW8IHNtUZq
dom/media/systemservices/MediaUtils.h
--- 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