Cleanup include and dependencies in api/metronome

In particular remove unused dependency on rtc::TaskQueue

Bug: webrtc:14169
Change-Id: Iaddf661bb0abcefb7d69608ab4f0dfe431732c9a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/334900
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41562}
diff --git a/api/DEPS b/api/DEPS
index 3a650b6..5a5c285 100644
--- a/api/DEPS
+++ b/api/DEPS
@@ -159,13 +159,6 @@
     "+modules/audio_processing/include/audio_processing.h",
   ],
 
-  "fake_metronome\.h": [
-    "+rtc_base/synchronization/mutex.h",
-    "+rtc_base/task_queue.h",
-    "+rtc_base/task_utils/repeating_task.h",
-    "+rtc_base/thread_annotations.h",
-  ],
-
   "make_ref_counted\.h": [
     "+rtc_base/ref_counted_object.h",
   ],
diff --git a/api/metronome/BUILD.gn b/api/metronome/BUILD.gn
index 3d3d876..f879d5f 100644
--- a/api/metronome/BUILD.gn
+++ b/api/metronome/BUILD.gn
@@ -13,7 +13,7 @@
   sources = [ "metronome.h" ]
   deps = [
     "../../rtc_base/system:rtc_export",
-    "../task_queue",
     "../units:time_delta",
   ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable" ]
 }
diff --git a/api/metronome/metronome.h b/api/metronome/metronome.h
index a312b1c..4d50a3e 100644
--- a/api/metronome/metronome.h
+++ b/api/metronome/metronome.h
@@ -11,7 +11,7 @@
 #ifndef API_METRONOME_METRONOME_H_
 #define API_METRONOME_METRONOME_H_
 
-#include "api/task_queue/task_queue_base.h"
+#include "absl/functional/any_invocable.h"
 #include "api/units/time_delta.h"
 #include "rtc_base/system/rtc_export.h"
 
diff --git a/api/metronome/test/BUILD.gn b/api/metronome/test/BUILD.gn
index f415d98..94ecf9f 100644
--- a/api/metronome/test/BUILD.gn
+++ b/api/metronome/test/BUILD.gn
@@ -16,15 +16,8 @@
   ]
   deps = [
     "..:metronome",
-    "../..:priority",
-    "../..:sequence_checker",
-    "../../../rtc_base:macromagic",
-    "../../../rtc_base:rtc_event",
-    "../../../rtc_base:rtc_task_queue",
-    "../../../rtc_base/synchronization:mutex",
-    "../../../rtc_base/task_utils:repeating_task",
-    "../../../test:test_support",
     "../../task_queue",
     "../../units:time_delta",
   ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable" ]
 }
diff --git a/api/metronome/test/fake_metronome.cc b/api/metronome/test/fake_metronome.cc
index 37001fe..bd54d5b 100644
--- a/api/metronome/test/fake_metronome.cc
+++ b/api/metronome/test/fake_metronome.cc
@@ -13,13 +13,9 @@
 #include <utility>
 #include <vector>
 
-#include "api/priority.h"
-#include "api/sequence_checker.h"
+#include "absl/functional/any_invocable.h"
 #include "api/task_queue/task_queue_base.h"
-#include "api/task_queue/task_queue_factory.h"
 #include "api/units/time_delta.h"
-#include "rtc_base/event.h"
-#include "rtc_base/task_utils/repeating_task.h"
 
 namespace webrtc::test {
 
diff --git a/api/metronome/test/fake_metronome.h b/api/metronome/test/fake_metronome.h
index e1aff4f..9702062 100644
--- a/api/metronome/test/fake_metronome.h
+++ b/api/metronome/test/fake_metronome.h
@@ -11,18 +11,12 @@
 #ifndef API_METRONOME_TEST_FAKE_METRONOME_H_
 #define API_METRONOME_TEST_FAKE_METRONOME_H_
 
-#include <memory>
-#include <set>
+#include <cstddef>
 #include <vector>
 
+#include "absl/functional/any_invocable.h"
 #include "api/metronome/metronome.h"
-#include "api/task_queue/task_queue_base.h"
-#include "api/task_queue/task_queue_factory.h"
 #include "api/units/time_delta.h"
-#include "rtc_base/synchronization/mutex.h"
-#include "rtc_base/task_queue.h"
-#include "rtc_base/task_utils/repeating_task.h"
-#include "rtc_base/thread_annotations.h"
 
 namespace webrtc::test {
 
@@ -48,9 +42,6 @@
 // FakeMetronome is a metronome that ticks based on a repeating task at the
 // `tick_period` provided in the constructor. It is designed for use with
 // simulated task queues for unit tests.
-//
-// `Stop()` must be called before destruction, as it cancels the metronome tick
-// on the proper task queue.
 class FakeMetronome : public Metronome {
  public:
   explicit FakeMetronome(TimeDelta tick_period);