Cleanup deprecated constructor for BasicNetworkManager
Bug: webrtc:405883462
Change-Id: Ie010ee7dafd6ba2e5275df0b3dd4a6cb10054fae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/384120
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#44303}
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 09a96e7d..a6486b6 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -1178,10 +1178,8 @@
"../api:sequence_checker",
"../api/environment",
"../api/task_queue:pending_task_safety_flag",
- "../api/transport:field_trial_based_config",
"../api/units:time_delta",
"experiments:field_trial_parser",
- "memory:always_valid_pointer",
"system:rtc_export",
"third_party/sigslot",
"//third_party/abseil-cpp/absl/algorithm:container",
diff --git a/rtc_base/network.cc b/rtc_base/network.cc
index 877d312..e1ff439 100644
--- a/rtc_base/network.cc
+++ b/rtc_base/network.cc
@@ -564,27 +564,12 @@
SocketFactory* absl_nonnull socket_factory,
rtc::NetworkMonitorFactory* absl_nullable network_monitor_factory)
: env_(env),
- field_trials_(&env_->field_trials()),
network_monitor_factory_(network_monitor_factory),
socket_factory_(socket_factory),
allow_mac_based_ipv6_(
- env_->field_trials().IsEnabled("WebRTC-AllowMACBasedIPv6")),
+ env_.field_trials().IsEnabled("WebRTC-AllowMACBasedIPv6")),
bind_using_ifname_(
- !env_->field_trials().IsDisabled("WebRTC-BindUsingInterfaceName")) {
- RTC_DCHECK(socket_factory_);
-}
-
-BasicNetworkManager::BasicNetworkManager(
- NetworkMonitorFactory* network_monitor_factory,
- SocketFactory* socket_factory,
- const FieldTrialsView* field_trials_view)
- : field_trials_(field_trials_view),
- network_monitor_factory_(network_monitor_factory),
- socket_factory_(socket_factory),
- allow_mac_based_ipv6_(
- field_trials_->IsEnabled("WebRTC-AllowMACBasedIPv6")),
- bind_using_ifname_(
- !field_trials_->IsDisabled("WebRTC-BindUsingInterfaceName")) {
+ !env_.field_trials().IsDisabled("WebRTC-BindUsingInterfaceName")) {
RTC_DCHECK(socket_factory_);
}
@@ -854,7 +839,7 @@
// PrefixOrigin is equal to IpPrefixOriginRouterAdvertisement and
// SuffixOrigin equal to IpSuffixOriginRandom.
int ip_address_attributes = IPV6_ADDRESS_FLAG_NONE;
- if (IpAddressAttributesEnabled(field_trials_.get())) {
+ if (IpAddressAttributesEnabled(&env_.field_trials())) {
if (address->PrefixOrigin == IpPrefixOriginRouterAdvertisement &&
address->SuffixOrigin == IpSuffixOriginRandom) {
ip_address_attributes |= IPV6_ADDRESS_FLAG_TEMPORARY;
@@ -1029,7 +1014,7 @@
}
if (!network_monitor_) {
network_monitor_.reset(
- network_monitor_factory_->CreateNetworkMonitor(*field_trials_));
+ network_monitor_factory_->CreateNetworkMonitor(env_.field_trials()));
if (!network_monitor_) {
return;
}
diff --git a/rtc_base/network.h b/rtc_base/network.h
index b30afa0..cb5dc73 100644
--- a/rtc_base/network.h
+++ b/rtc_base/network.h
@@ -15,7 +15,6 @@
#include <map>
#include <memory>
-#include <optional>
#include <string>
#include <utility>
#include <vector>
@@ -28,11 +27,9 @@
#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
#include "api/task_queue/pending_task_safety_flag.h"
-#include "api/transport/field_trial_based_config.h"
#include "rtc_base/checks.h"
#include "rtc_base/ip_address.h"
#include "rtc_base/mdns_responder_interface.h"
-#include "rtc_base/memory/always_valid_pointer.h"
#include "rtc_base/network_constants.h"
#include "rtc_base/network_monitor.h"
#include "rtc_base/network_monitor_factory.h"
@@ -490,17 +487,6 @@
SocketFactory* absl_nonnull socket_factory,
NetworkMonitorFactory* absl_nullable network_monitor_factory = nullptr);
- // TODO: bugs.webrtc.org/405883462 - Deprecate and remove two constructors
- // below when chromium is updated not to use these constructors.
- BasicNetworkManager(SocketFactory* socket_factory,
- const FieldTrialsView* field_trials = nullptr)
- : BasicNetworkManager(/* network_monitor_factory= */ nullptr,
- socket_factory,
- field_trials) {}
-
- BasicNetworkManager(NetworkMonitorFactory* network_monitor_factory,
- SocketFactory* socket_factory,
- const FieldTrialsView* field_trials = nullptr);
~BasicNetworkManager() override;
void StartUpdating() override;
@@ -574,16 +560,10 @@
// Only updates the networks; does not reschedule the next update.
void UpdateNetworksOnce() RTC_RUN_ON(thread_);
- // TODO: bugs.webrtc.org/405883462 - Make non-optional and remove
- // `field_trials_` when all users are migrated to constructor providing
- // Environment.
- std::optional<webrtc::Environment> env_;
+ const Environment env_;
Thread* thread_ = nullptr;
bool sent_first_update_ = true;
int start_count_ = 0;
-
- AlwaysValidPointer<const FieldTrialsView, FieldTrialBasedConfig>
- field_trials_;
std::vector<std::string> network_ignore_list_;
NetworkMonitorFactory* absl_nullable const network_monitor_factory_;
SocketFactory* absl_nonnull const socket_factory_;