Use AsyncDnsResolver API in bindings and tests

Bug: webrtc:12598
Change-Id: Ia4db91bf6dcd257cd85f4089dee4c7bbea433216
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234342
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35154}
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn
index 3029e0a..d09cab9 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -108,6 +108,7 @@
     "../rtc_base:rtc_numerics",
     "../rtc_base:socket",
     "../rtc_base:socket_address",
+    "../rtc_base:socket_factory",
     "../rtc_base:socket_server",
     "../rtc_base:threading",
     "../rtc_base/experiments:field_trial_parser",
diff --git a/p2p/base/basic_packet_socket_factory.cc b/p2p/base/basic_packet_socket_factory.cc
index c23b5d9..ddf5720 100644
--- a/p2p/base/basic_packet_socket_factory.cc
+++ b/p2p/base/basic_packet_socket_factory.cc
@@ -14,16 +14,15 @@
 
 #include <string>
 
+#include "api/async_dns_resolver.h"
+#include "api/wrapping_async_dns_resolver.h"
 #include "p2p/base/async_stun_tcp_socket.h"
-#include "rtc_base/async_resolver.h"
 #include "rtc_base/async_tcp_socket.h"
 #include "rtc_base/async_udp_socket.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
-#include "rtc_base/net_helpers.h"
 #include "rtc_base/socket.h"
 #include "rtc_base/socket_adapters.h"
-#include "rtc_base/socket_server.h"
 #include "rtc_base/ssl_adapter.h"
 
 namespace rtc {
@@ -190,8 +189,10 @@
   return tcp_socket;
 }
 
-AsyncResolverInterface* BasicPacketSocketFactory::CreateAsyncResolver() {
-  return new AsyncResolver();
+std::unique_ptr<webrtc::AsyncDnsResolverInterface>
+BasicPacketSocketFactory::CreateAsyncDnsResolver() {
+  return std::make_unique<webrtc::WrappingAsyncDnsResolver>(
+      new AsyncResolver());
 }
 
 int BasicPacketSocketFactory::BindSocket(Socket* socket,
diff --git a/p2p/base/basic_packet_socket_factory.h b/p2p/base/basic_packet_socket_factory.h
index 030eb82..51f5bbd 100644
--- a/p2p/base/basic_packet_socket_factory.h
+++ b/p2p/base/basic_packet_socket_factory.h
@@ -11,10 +11,18 @@
 #ifndef P2P_BASE_BASIC_PACKET_SOCKET_FACTORY_H_
 #define P2P_BASE_BASIC_PACKET_SOCKET_FACTORY_H_
 
+#include <stdint.h>
+
+#include <memory>
 #include <string>
 
+#include "api/async_dns_resolver.h"
 #include "api/packet_socket_factory.h"
+#include "rtc_base/async_packet_socket.h"
+#include "rtc_base/proxy_info.h"
 #include "rtc_base/socket.h"
+#include "rtc_base/socket_address.h"
+#include "rtc_base/socket_factory.h"
 
 namespace rtc {
 
@@ -39,7 +47,8 @@
       const std::string& user_agent,
       const PacketSocketTcpOptions& tcp_options) override;
 
-  AsyncResolverInterface* CreateAsyncResolver() override;
+  std::unique_ptr<webrtc::AsyncDnsResolverInterface> CreateAsyncDnsResolver()
+      override;
 
  private:
   int BindSocket(Socket* socket,
diff --git a/p2p/base/port_unittest.cc b/p2p/base/port_unittest.cc
index 48607d1..2b09d1a 100644
--- a/p2p/base/port_unittest.cc
+++ b/p2p/base/port_unittest.cc
@@ -1001,7 +1001,10 @@
   void set_next_client_tcp_socket(AsyncPacketSocket* next_client_tcp_socket) {
     next_client_tcp_socket_ = next_client_tcp_socket;
   }
-  rtc::AsyncResolverInterface* CreateAsyncResolver() override { return NULL; }
+  std::unique_ptr<webrtc::AsyncDnsResolverInterface> CreateAsyncDnsResolver()
+      override {
+    return nullptr;
+  }
 
  private:
   AsyncPacketSocket* next_udp_socket_;
diff --git a/test/network/emulated_turn_server.cc b/test/network/emulated_turn_server.cc
index 28b7667..0f55265 100644
--- a/test/network/emulated_turn_server.cc
+++ b/test/network/emulated_turn_server.cc
@@ -101,7 +101,8 @@
       const rtc::PacketSocketTcpOptions& tcp_options) override {
     return nullptr;
   }
-  rtc::AsyncResolverInterface* CreateAsyncResolver() override {
+  std::unique_ptr<webrtc::AsyncDnsResolverInterface> CreateAsyncDnsResolver()
+      override {
     return nullptr;
   }