Migrate remaining webrtc usage of TaskQueueBase to absl::AnyInvocable

Bug: webrtc:14245
Change-Id: I8de2c23da5fbdfc0b1efbbe07fb6e8de744424a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268191
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37565}
diff --git a/api/metronome/test/BUILD.gn b/api/metronome/test/BUILD.gn
index 160b45c..0ea13b3 100644
--- a/api/metronome/test/BUILD.gn
+++ b/api/metronome/test/BUILD.gn
@@ -18,7 +18,6 @@
     "..:metronome",
     "../..:priority",
     "../..:sequence_checker",
-    "../../../api/task_queue:to_queued_task",
     "../../../rtc_base:macromagic",
     "../../../rtc_base:rtc_event",
     "../../../rtc_base:rtc_task_queue",
diff --git a/api/metronome/test/fake_metronome.cc b/api/metronome/test/fake_metronome.cc
index 7813a3d..cb471b9 100644
--- a/api/metronome/test/fake_metronome.cc
+++ b/api/metronome/test/fake_metronome.cc
@@ -13,7 +13,6 @@
 #include "api/priority.h"
 #include "api/sequence_checker.h"
 #include "api/task_queue/task_queue_factory.h"
-#include "api/task_queue/to_queued_task.h"
 #include "api/units/time_delta.h"
 #include "rtc_base/event.h"
 #include "rtc_base/task_utils/repeating_task.h"
@@ -41,8 +40,7 @@
 
 void ForcedTickMetronome::Tick() {
   for (auto* listener : listeners_) {
-    listener->OnTickTaskQueue()->PostTask(
-        ToQueuedTask([listener] { listener->OnTick(); }));
+    listener->OnTickTaskQueue()->PostTask([listener] { listener->OnTick(); });
   }
 }
 
@@ -66,7 +64,7 @@
         return TimeDelta::PlusInfinity();
       for (auto* listener : listeners_) {
         listener->OnTickTaskQueue()->PostTask(
-            ToQueuedTask([listener] { listener->OnTick(); }));
+            [listener] { listener->OnTick(); });
       }
       return tick_period_;
     });
diff --git a/api/task_queue/test/BUILD.gn b/api/task_queue/test/BUILD.gn
index fa82dd0..25f7ed0 100644
--- a/api/task_queue/test/BUILD.gn
+++ b/api/task_queue/test/BUILD.gn
@@ -13,6 +13,8 @@
   sources = [ "mock_task_queue_base.h" ]
   deps = [
     "../../../api/task_queue:task_queue",
+    "../../../api/units:time_delta",
     "../../../test:test_support",
   ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable" ]
 }
diff --git a/api/task_queue/test/mock_task_queue_base.h b/api/task_queue/test/mock_task_queue_base.h
index 68c5c05..2e99be7 100644
--- a/api/task_queue/test/mock_task_queue_base.h
+++ b/api/task_queue/test/mock_task_queue_base.h
@@ -11,20 +11,25 @@
 #ifndef API_TASK_QUEUE_TEST_MOCK_TASK_QUEUE_BASE_H_
 #define API_TASK_QUEUE_TEST_MOCK_TASK_QUEUE_BASE_H_
 
-#include <memory>
-
+#include "absl/functional/any_invocable.h"
 #include "api/task_queue/task_queue_base.h"
+#include "api/units/time_delta.h"
 #include "test/gmock.h"
 
 namespace webrtc {
 
 class MockTaskQueueBase : public TaskQueueBase {
  public:
-  MOCK_METHOD0(Delete, void());
-  MOCK_METHOD1(PostTask, void(std::unique_ptr<QueuedTask>));
-  MOCK_METHOD2(PostDelayedTask, void(std::unique_ptr<QueuedTask>, uint32_t));
-  MOCK_METHOD2(PostDelayedHighPrecisionTask,
-               void(std::unique_ptr<QueuedTask>, uint32_t));
+  MOCK_METHOD(void, Delete, (), (override));
+  MOCK_METHOD(void, PostTask, (absl::AnyInvocable<void() &&>), (override));
+  MOCK_METHOD(void,
+              PostDelayedTask,
+              (absl::AnyInvocable<void() &&>, TimeDelta),
+              (override));
+  MOCK_METHOD(void,
+              PostDelayedHighPrecisionTask,
+              (absl::AnyInvocable<void() &&>, TimeDelta),
+              (override));
 };
 
 }  // namespace webrtc