diff --git a/rtc_base/task_queue.cc b/rtc_base/task_queue.cc
index f0dbdb3..0b54178 100644
--- a/rtc_base/task_queue.cc
+++ b/rtc_base/task_queue.cc
@@ -30,18 +30,25 @@
 }
 
 void TaskQueue::PostTask(std::unique_ptr<webrtc::QueuedTask> task) {
-  return impl_->PostTask(std::move(task));
+  impl_->PostTask(std::move(task));
 }
 
 void TaskQueue::PostDelayedTask(std::unique_ptr<webrtc::QueuedTask> task,
                                 uint32_t milliseconds) {
-  return impl_->PostDelayedTask(std::move(task), milliseconds);
+  impl_->PostDelayedTask(std::move(task), milliseconds);
 }
 
 void TaskQueue::PostDelayedHighPrecisionTask(
     std::unique_ptr<webrtc::QueuedTask> task,
     uint32_t milliseconds) {
-  return impl_->PostDelayedHighPrecisionTask(std::move(task), milliseconds);
+  impl_->PostDelayedHighPrecisionTask(std::move(task), milliseconds);
+}
+
+void TaskQueue::PostDelayedTaskWithPrecision(
+    webrtc::TaskQueueBase::DelayPrecision precision,
+    std::unique_ptr<webrtc::QueuedTask> task,
+    uint32_t milliseconds) {
+  impl_->PostDelayedTaskWithPrecision(precision, std::move(task), milliseconds);
 }
 
 }  // namespace rtc
diff --git a/rtc_base/task_queue.h b/rtc_base/task_queue.h
index 4ad3fed..ef97646 100644
--- a/rtc_base/task_queue.h
+++ b/rtc_base/task_queue.h
@@ -100,6 +100,10 @@
                        uint32_t milliseconds);
   void PostDelayedHighPrecisionTask(std::unique_ptr<webrtc::QueuedTask> task,
                                     uint32_t milliseconds);
+  void PostDelayedTaskWithPrecision(
+      webrtc::TaskQueueBase::DelayPrecision precision,
+      std::unique_ptr<webrtc::QueuedTask> task,
+      uint32_t milliseconds);
 
   // std::enable_if is used here to make sure that calls to PostTask() with
   // std::unique_ptr<SomeClassDerivedFromQueuedTask> would not end up being
@@ -127,6 +131,18 @@
     PostDelayedHighPrecisionTask(
         webrtc::ToQueuedTask(std::forward<Closure>(closure)), milliseconds);
   }
+  template <class Closure,
+            typename std::enable_if<!std::is_convertible<
+                Closure,
+                std::unique_ptr<webrtc::QueuedTask>>::value>::type* = nullptr>
+  void PostDelayedTaskWithPrecision(
+      webrtc::TaskQueueBase::DelayPrecision precision,
+      Closure&& closure,
+      uint32_t milliseconds) {
+    PostDelayedTaskWithPrecision(
+        precision, webrtc::ToQueuedTask(std::forward<Closure>(closure)),
+        milliseconds);
+  }
 
  private:
   webrtc::TaskQueueBase* const impl_;
