Bug 1345339 - Label runnables in dom/media/VideoUtils.h;r?jwwang draft
authorKaku Kuo <kaku@mozilla.com>
Wed, 08 Mar 2017 11:58:15 +0800
changeset 494915 de6f7bf643fe28535d99c56d8412d72a9c53b3bc
parent 494263 b7e42143bbbc9dc3e5c05bd1e93b6485ce1d0ad4
child 548249 422bc1fe4300e18a9616f7ba66a3ca2ba7ab4b9b
push id48191
push userbmo:kaku@mozilla.com
push dateWed, 08 Mar 2017 04:00:29 +0000
reviewersjwwang
bugs1345339
milestone55.0a1
Bug 1345339 - Label runnables in dom/media/VideoUtils.h;r?jwwang MozReview-Commit-ID: KqaHyMBTSBq
dom/media/VideoUtils.h
--- a/dom/media/VideoUtils.h
+++ b/dom/media/VideoUtils.h
@@ -100,31 +100,33 @@ public:
 private:
   nsCOMPtr<nsIThread> mThread;
 };
 
 template<class T>
 class DeleteObjectTask: public Runnable {
 public:
   explicit DeleteObjectTask(nsAutoPtr<T>& aObject)
-    : mObject(aObject)
+    : Runnable("VideoUtils::DeleteObjectTask")
+    , mObject(aObject)
   {
   }
   NS_IMETHOD Run() override {
     NS_ASSERTION(NS_IsMainThread(), "Must be on main thread.");
     mObject = nullptr;
     return NS_OK;
   }
 private:
   nsAutoPtr<T> mObject;
 };
 
 template<class T>
 void DeleteOnMainThread(nsAutoPtr<T>& aObject) {
-  NS_DispatchToMainThread(new DeleteObjectTask<T>(aObject));
+  nsCOMPtr<nsIRunnable> r = new DeleteObjectTask<T>(aObject);
+  SystemGroup::Dispatch("VideoUtils::DeleteObjectTask", TaskCategory::Other, r.forget());
 }
 
 class MediaResource;
 
 // Estimates the buffered ranges of a MediaResource using a simple
 // (byteOffset/length)*duration method. Probably inaccurate, but won't
 // do file I/O, and can be used when we don't have detailed knowledge
 // of the byte->time mapping of a resource. aDurationUsecs is the duration