Relax BasicPortAllocator to take TaskQueue instead of Thread

This class already uses only TaskQueueBase interface of the Thread

Bug: webrtc:42225410
Change-Id: I1147c8b22046d6089ea2be095d34495515ccc710
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/476260
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47884}
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn
index 3b76b26..5e9e53d 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -139,6 +139,7 @@
     "../api:sequence_checker",
     "../api:turn_customizer",
     "../api/environment",
+    "../api/task_queue",
     "../api/task_queue:pending_task_safety_flag",
     "../api/transport:enums",
     "../api/units:time_delta",
@@ -154,7 +155,6 @@
     "../rtc_base:network_constants",
     "../rtc_base:socket_address",
     "../rtc_base:stringutils",
-    "../rtc_base:threading",
     "../rtc_base/memory:always_valid_pointer",
     "../rtc_base/network:received_packet",
     "../rtc_base/system:rtc_export",
@@ -894,9 +894,9 @@
     "../api:local_network_access_permission",
     "../api:packet_socket_factory",
     "../api/environment",
+    "../api/task_queue",
     "../rtc_base:async_packet_socket",
     "../rtc_base:network",
-    "../rtc_base:threading",
   ]
 }
 
diff --git a/p2p/client/basic_port_allocator.cc b/p2p/client/basic_port_allocator.cc
index 22dc035..4df3e22 100644
--- a/p2p/client/basic_port_allocator.cc
+++ b/p2p/client/basic_port_allocator.cc
@@ -32,6 +32,7 @@
 #include "api/packet_socket_factory.h"
 #include "api/sequence_checker.h"
 #include "api/task_queue/pending_task_safety_flag.h"
+#include "api/task_queue/task_queue_base.h"
 #include "api/transport/enums.h"
 #include "api/units/time_delta.h"
 #include "p2p/base/port.h"
@@ -52,7 +53,6 @@
 #include "rtc_base/network_constants.h"
 #include "rtc_base/socket_address.h"
 #include "rtc_base/strings/string_builder.h"
-#include "rtc_base/thread.h"
 #include "rtc_base/trace_event.h"
 
 namespace webrtc {
@@ -260,7 +260,7 @@
                            ice_pwd,
                            allocator->flags()),
       allocator_(allocator),
-      network_thread_(Thread::Current()),
+      network_thread_(TaskQueueBase::Current()),
       socket_factory_(allocator->socket_factory()),
       allocation_started_(false),
       network_manager_started_(false),
@@ -1394,7 +1394,7 @@
 }
 
 void AllocationSequence::Process(int epoch) {
-  RTC_DCHECK(Thread::Current() == session_->network_thread());
+  RTC_DCHECK(TaskQueueBase::Current() == session_->network_thread());
   const char* const PHASE_NAMES[kNumPhases] = {"Udp", "Relay", "Tcp"};
 
   if (epoch != epoch_)
diff --git a/p2p/client/basic_port_allocator.h b/p2p/client/basic_port_allocator.h
index d274eb5..97c1a7d 100644
--- a/p2p/client/basic_port_allocator.h
+++ b/p2p/client/basic_port_allocator.h
@@ -27,6 +27,7 @@
 #include "api/local_network_access_permission.h"
 #include "api/packet_socket_factory.h"
 #include "api/task_queue/pending_task_safety_flag.h"
+#include "api/task_queue/task_queue_base.h"
 #include "api/transport/enums.h"
 #include "api/turn_customizer.h"
 #include "api/units/time_delta.h"
@@ -46,7 +47,6 @@
 #include "rtc_base/network/received_packet.h"
 #include "rtc_base/socket_address.h"
 #include "rtc_base/system/rtc_export.h"
-#include "rtc_base/thread.h"
 #include "rtc_base/thread_annotations.h"
 
 namespace webrtc {
@@ -145,7 +145,7 @@
   ~BasicPortAllocatorSession() override;
 
   virtual BasicPortAllocator* allocator();
-  Thread* network_thread() { return network_thread_; }
+  TaskQueueBase* network_thread() { return network_thread_; }
   PacketSocketFactory* socket_factory() { return socket_factory_; }
 
   // If the new filter allows new types of candidates compared to the previous
@@ -292,7 +292,7 @@
   bool PruneNewlyPairableTurnPort(PortData* newly_pairable_turn_port);
 
   BasicPortAllocator* allocator_;
-  Thread* network_thread_;
+  TaskQueueBase* network_thread_;
   PacketSocketFactory* socket_factory_;
   bool allocation_started_;
   bool network_manager_started_;
diff --git a/p2p/client/relay_port_factory_interface.h b/p2p/client/relay_port_factory_interface.h
index 2bcb2e0..5821e74 100644
--- a/p2p/client/relay_port_factory_interface.h
+++ b/p2p/client/relay_port_factory_interface.h
@@ -17,11 +17,11 @@
 #include "api/environment/environment.h"
 #include "api/local_network_access_permission.h"
 #include "api/packet_socket_factory.h"
+#include "api/task_queue/task_queue_base.h"
 #include "p2p/base/port.h"
 #include "p2p/base/port_allocator.h"
 #include "rtc_base/async_packet_socket.h"
 #include "rtc_base/network.h"
-#include "rtc_base/thread.h"
 
 namespace webrtc {
 class TurnCustomizer;
@@ -33,7 +33,7 @@
 // A struct containing arguments to RelayPortFactory::Create()
 struct CreateRelayPortArgs {
   Environment env;
-  Thread* network_thread;
+  TaskQueueBase* network_thread;
   PacketSocketFactory* socket_factory;
   const Network* network;
   const ProtocolAddress* server_address;