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_;