Merge rtc_task_queue(_api|_impl)? build targets into one

Ignore rtc_link_task_queue_impl flag,
instead use build_with_chromium for custom chromium implementation injection

This changes TaskQueue implementation used in webrtc fuzzers in chromium:
from own webrtc implementation to chromium's.

Bug: webrtc:10191
Change-Id: I63be28b680ae8ea8ee1dbf0c699263c392ce29d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125196
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26977}
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index bb4a256..84d558c 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -468,46 +468,33 @@
 
 rtc_source_set("rtc_task_queue") {
   visibility = [ "*" ]
-  deps = []
-  public_deps = [
-    ":rtc_task_queue_api",
-  ]
-
-  if (rtc_link_task_queue_impl) {
-    deps += [ ":rtc_task_queue_impl" ]
-  }
-}
-
-# WebRTC targets must not directly depend on rtc_task_queue_api or
-# rtc_task_queue_impl. Instead, depend on rtc_task_queue.
-# The build flag |rtc_link_task_queue_impl| decides if WebRTC targets will link
-# to the default implemenation in rtc_task_queue_impl or if an externally
-# provided implementation should be used. An external implementation should
-# depend on rtc_task_queue_api.
-rtc_source_set("rtc_task_queue_api") {
-  # The visibility list is commented out so that we won't break external
-  # implementations, but left here to manually test as well as for sake of what
-  # targets we expect to depend on rtc_task_queue_api.
-  # visibility = [
-  #   ":rtc_task_queue",
-  #   ":rtc_task_queue_impl",
-  #   ":sequenced_task_checker",
-  # ]
   sources = [
+    "task_queue.cc",
     "task_queue.h",
   ]
   deps = [
     ":macromagic",
     "../api/task_queue",
+    "../api/task_queue:global_task_queue_factory",
     "system:rtc_export",
     "task_utils:to_queued_task",
     "//third_party/abseil-cpp/absl/memory",
   ]
+
+  # TODO(danilchap): Move this conditional dependency to global_task_queue_factory
+  # after removing task_queue_impl -> global_task_queue_factory dependency in chromium.
+  if (build_with_chromium) {
+    deps += [ "../../webrtc_overrides:task_queue_impl" ]
+  }
+}
+
+rtc_source_set("rtc_task_queue_api") {
+  visibility = [ "*" ]
 }
 
 if (rtc_enable_libevent) {
   rtc_source_set("rtc_task_queue_libevent") {
-    visibility = [ "../api/task_queue:default_task_queue_factory_impl" ]
+    visibility = [ "../api/task_queue:default_task_queue_factory" ]
     sources = [
       "task_queue_libevent.cc",
       "task_queue_libevent.h",
@@ -533,7 +520,7 @@
 
 if (is_mac || is_ios) {
   rtc_source_set("rtc_task_queue_gcd") {
-    visibility = [ "../api/task_queue:default_task_queue_factory_impl" ]
+    visibility = [ "../api/task_queue:default_task_queue_factory" ]
     sources = [
       "task_queue_gcd.cc",
       "task_queue_gcd.h",
@@ -550,7 +537,7 @@
 
 if (is_win) {
   rtc_source_set("rtc_task_queue_win") {
-    visibility = [ "../api/task_queue:default_task_queue_factory_impl" ]
+    visibility = [ "../api/task_queue:default_task_queue_factory" ]
     sources = [
       "task_queue_win.cc",
       "task_queue_win.h",
@@ -562,7 +549,6 @@
       ":macromagic",
       ":platform_thread",
       ":rtc_event",
-      ":rtc_task_queue_api",
       ":safe_conversions",
       ":timeutils",
       "../api/task_queue",
@@ -573,7 +559,7 @@
 }
 
 rtc_source_set("rtc_task_queue_stdlib") {
-  visibility = [ "../api/task_queue:default_task_queue_factory_impl" ]
+  visibility = [ "../api/task_queue:default_task_queue_factory" ]
   sources = [
     "task_queue_stdlib.cc",
     "task_queue_stdlib.h",
@@ -585,7 +571,6 @@
     ":macromagic",
     ":platform_thread",
     ":rtc_event",
-    ":rtc_task_queue_api",
     ":safe_conversions",
     ":timeutils",
     "../api/task_queue",
@@ -594,14 +579,6 @@
   ]
 }
 
-rtc_source_set("rtc_task_queue_impl") {
-  visibility = [ "*" ]
-  deps = [
-    "../api/task_queue:default_task_queue_factory_impl",
-    "../api/task_queue:global_task_queue_factory",
-  ]
-}
-
 rtc_source_set("sequenced_task_checker") {
   sources = [
     "sequenced_task_checker.h",