Bug 1411977 - Part 1: Stop queue jumping in RUN_ON_THREAD. r?drno draft
authorByron Campen [:bwc] <docfaraday@gmail.com>
Thu, 25 Jan 2018 08:32:58 -0600
changeset 747305 99a14922a3e8ee34a914669b2c0572e28e8b7286
parent 723720 94057f351ba94b31e1b5a56fefdfe9d8e43d0e5d
child 747306 66563a5bbdee393b497194d9bdc068540a0a70e9
child 748500 1948b816257188f5c71d8b9a44a6aad2aa8c6a57
push id96869
push userbcampen@mozilla.com
push dateThu, 25 Jan 2018 21:05:28 +0000
reviewersdrno
bugs1411977
milestone60.0a1
Bug 1411977 - Part 1: Stop queue jumping in RUN_ON_THREAD. r?drno MozReview-Commit-ID: GaCcLZuo7uy
media/mtransport/runnable_utils.h
--- a/media/mtransport/runnable_utils.h
+++ b/media/mtransport/runnable_utils.h
@@ -23,36 +23,17 @@ namespace detail {
 enum RunnableResult {
   NoResult,
   ReturnsResult
 };
 
 static inline nsresult
 RunOnThreadInternal(nsIEventTarget *thread, nsIRunnable *runnable, uint32_t flags)
 {
-  nsCOMPtr<nsIRunnable> runnable_ref(runnable);
-  if (thread) {
-    bool on;
-    nsresult rv;
-    rv = thread->IsOnCurrentThread(&on);
-
-    // If the target thread has already shut down, we don't want to assert.
-    if (rv != NS_ERROR_NOT_INITIALIZED) {
-      MOZ_ASSERT(NS_SUCCEEDED(rv));
-    }
-
-    if (NS_WARN_IF(NS_FAILED(rv))) {
-      // we're going to destroy the runnable on this thread!
-      return rv;
-    }
-    if (!on) {
-      return thread->Dispatch(runnable_ref.forget(), flags);
-    }
-  }
-  return runnable_ref->Run();
+  return thread->Dispatch(runnable, flags);
 }
 
 template<RunnableResult result>
 class runnable_args_base : public Runnable {
  public:
   runnable_args_base() : Runnable("media-runnable_args_base") {}
 
   NS_IMETHOD Run() override = 0;