Revert "Use the new DNS resolver API in PeerConnection"
This reverts commit acf8ccb3c9f001b0ed749aca52b2d436d66f9586.
Reason for revert: Speculative revert for https://ci.chromium.org/ui/p/chromium/builders/try/win10_chromium_x64_rel_ng/b8851745102358680592/overview.
Original change's description:
> Use the new DNS resolver API in PeerConnection
>
> Bug: webrtc:12598
> Change-Id: I5a14058e7f28c993ed927749df7357c715ba83fb
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212961
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#33561}
# Not skipping CQ checks because original CL landed > 1 day ago.
TBR=hta@webrtc.org
Bug: webrtc:12598
Change-Id: Idc9853cb569849c49052f9cbd865614710fff979
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/213188
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33591}
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index bf97834..4cdefd4 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -77,7 +77,6 @@
deps = [
":media_protocol_names",
"../api:array_view",
- "../api:async_dns_resolver",
"../api:audio_options_api",
"../api:call_api",
"../api:function_view",
@@ -237,7 +236,6 @@
":video_track",
":video_track_source",
"../api:array_view",
- "../api:async_dns_resolver",
"../api:audio_options_api",
"../api:call_api",
"../api:callfactory_api",
diff --git a/pc/jsep_transport_controller.cc b/pc/jsep_transport_controller.cc
index 757508a..be93cd8 100644
--- a/pc/jsep_transport_controller.cc
+++ b/pc/jsep_transport_controller.cc
@@ -39,11 +39,11 @@
JsepTransportController::JsepTransportController(
rtc::Thread* network_thread,
cricket::PortAllocator* port_allocator,
- AsyncDnsResolverFactoryInterface* async_dns_resolver_factory,
+ AsyncResolverFactory* async_resolver_factory,
Config config)
: network_thread_(network_thread),
port_allocator_(port_allocator),
- async_dns_resolver_factory_(async_dns_resolver_factory),
+ async_resolver_factory_(async_resolver_factory),
config_(config),
active_reset_srtp_params_(config.active_reset_srtp_params) {
// The |transport_observer| is assumed to be non-null.
@@ -398,7 +398,7 @@
IceTransportInit init;
init.set_port_allocator(port_allocator_);
- init.set_async_dns_resolver_factory(async_dns_resolver_factory_);
+ init.set_async_resolver_factory(async_resolver_factory_);
init.set_event_log(config_.event_log);
return config_.ice_transport_factory->CreateIceTransport(
transport_name, component, std::move(init));
diff --git a/pc/jsep_transport_controller.h b/pc/jsep_transport_controller.h
index 5680585..949c9ad 100644
--- a/pc/jsep_transport_controller.h
+++ b/pc/jsep_transport_controller.h
@@ -21,7 +21,7 @@
#include <vector>
#include "absl/types/optional.h"
-#include "api/async_dns_resolver.h"
+#include "api/async_resolver_factory.h"
#include "api/candidate.h"
#include "api/crypto/crypto_options.h"
#include "api/ice_transport_factory.h"
@@ -140,11 +140,10 @@
// All the transport related methods are called on the |network_thread|
// and destruction of the JsepTransportController must occur on the
// |network_thread|.
- JsepTransportController(
- rtc::Thread* network_thread,
- cricket::PortAllocator* port_allocator,
- AsyncDnsResolverFactoryInterface* async_dns_resolver_factory,
- Config config);
+ JsepTransportController(rtc::Thread* network_thread,
+ cricket::PortAllocator* port_allocator,
+ AsyncResolverFactory* async_resolver_factory,
+ Config config);
virtual ~JsepTransportController();
// The main method to be called; applies a description at the transport
@@ -462,7 +461,7 @@
rtc::Thread* const network_thread_ = nullptr;
cricket::PortAllocator* const port_allocator_ = nullptr;
- AsyncDnsResolverFactoryInterface* const async_dns_resolver_factory_ = nullptr;
+ AsyncResolverFactory* const async_resolver_factory_ = nullptr;
std::map<std::string, std::unique_ptr<cricket::JsepTransport>>
jsep_transports_by_name_ RTC_GUARDED_BY(network_thread_);
diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc
index 6c8b273..e3a4b27 100644
--- a/pc/peer_connection.cc
+++ b/pc/peer_connection.cc
@@ -12,7 +12,6 @@
#include <limits.h>
#include <stddef.h>
-
#include <algorithm>
#include <memory>
#include <set>
@@ -34,7 +33,6 @@
#include "media/base/rid_description.h"
#include "media/base/stream_params.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
-#include "p2p/base/basic_async_resolver_factory.h"
#include "p2p/base/connection.h"
#include "p2p/base/connection_info.h"
#include "p2p/base/dtls_transport_internal.h"
@@ -437,30 +435,6 @@
bool is_unified_plan =
configuration.sdp_semantics == SdpSemantics::kUnifiedPlan;
bool dtls_enabled = DtlsEnabled(configuration, options, dependencies);
-
- // Interim code: If an AsyncResolverFactory is given, but not an
- // AsyncDnsResolverFactory, wrap it in a WrappingAsyncDnsResolverFactory
- // If neither is given, create a WrappingAsyncDnsResolverFactory wrapping
- // a BasicAsyncResolver.
- // TODO(bugs.webrtc.org/12598): Remove code once all callers pass a
- // AsyncDnsResolverFactory.
- if (dependencies.async_dns_resolver_factory &&
- dependencies.async_resolver_factory) {
- RTC_LOG(LS_ERROR)
- << "Attempt to set both old and new type of DNS resolver factory";
- return RTCError(RTCErrorType::INVALID_PARAMETER,
- "Both old and new type of DNS resolver given");
- }
- if (dependencies.async_resolver_factory) {
- dependencies.async_dns_resolver_factory =
- std::make_unique<WrappingAsyncDnsResolverFactory>(
- std::move(dependencies.async_resolver_factory));
- } else {
- dependencies.async_dns_resolver_factory =
- std::make_unique<WrappingAsyncDnsResolverFactory>(
- std::make_unique<BasicAsyncResolverFactory>());
- }
-
// The PeerConnection constructor consumes some, but not all, dependencies.
rtc::scoped_refptr<PeerConnection> pc(
new rtc::RefCountedObject<PeerConnection>(
@@ -488,8 +462,7 @@
is_unified_plan_(is_unified_plan),
event_log_(std::move(event_log)),
event_log_ptr_(event_log_.get()),
- async_dns_resolver_factory_(
- std::move(dependencies.async_dns_resolver_factory)),
+ async_resolver_factory_(std::move(dependencies.async_resolver_factory)),
port_allocator_(std::move(dependencies.allocator)),
ice_transport_factory_(std::move(dependencies.ice_transport_factory)),
tls_cert_verifier_(std::move(dependencies.tls_cert_verifier)),
@@ -698,7 +671,7 @@
transport_controller_.reset(
new JsepTransportController(network_thread(), port_allocator_.get(),
- async_dns_resolver_factory_.get(), config));
+ async_resolver_factory_.get(), config));
transport_controller_->SubscribeIceConnectionState(
[this](cricket::IceConnectionState s) {
diff --git a/pc/peer_connection.h b/pc/peer_connection.h
index c49c541..98c5519 100644
--- a/pc/peer_connection.h
+++ b/pc/peer_connection.h
@@ -23,7 +23,6 @@
#include "absl/types/optional.h"
#include "api/adaptation/resource.h"
-#include "api/async_dns_resolver.h"
#include "api/async_resolver_factory.h"
#include "api/audio_options.h"
#include "api/candidate.h"
@@ -636,8 +635,11 @@
PeerConnectionInterface::RTCConfiguration configuration_
RTC_GUARDED_BY(signaling_thread());
- const std::unique_ptr<AsyncDnsResolverFactoryInterface>
- async_dns_resolver_factory_;
+ // TODO(zstein): |async_resolver_factory_| can currently be nullptr if it
+ // is not injected. It should be required once chromium supplies it.
+ // This member variable is only used by JsepTransportController so we should
+ // consider moving ownership to there.
+ const std::unique_ptr<AsyncResolverFactory> async_resolver_factory_;
std::unique_ptr<cricket::PortAllocator>
port_allocator_; // TODO(bugs.webrtc.org/9987): Accessed on both
// signaling and network thread.