sdp munging: remove WebRTC-NoSdpMangleNumberOfContents killswitch

since
https://chromiumdash.appspot.com/commit/5edfd244fed9a339f6279cdccb4d57d0c6749b21
shipped in M138

Bug: webrtc:416088632,webrtc:40567530
Change-Id: I5d234e5e1d5a48e5372ce1ec439e48f08dd2fe05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/402911
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#45293}
diff --git a/experiments/field_trials.py b/experiments/field_trials.py
index dc1e127..c0b5a7b 100755
--- a/experiments/field_trials.py
+++ b/experiments/field_trials.py
@@ -122,9 +122,6 @@
     FieldTrial('WebRTC-NoSdpMangleUfragRestrictedAddresses',
                409713509,
                date(2025, 10, 11)),
-    FieldTrial('WebRTC-NoSdpMangleNumberOfContents',
-               40567530,
-               date(2025, 10, 11)),
     FieldTrial('WebRTC-NoSdpMangleReject',
                40567530,
                date(2026, 6, 1)),
diff --git a/pc/sdp_munging_detector.cc b/pc/sdp_munging_detector.cc
index addfa25..4456972 100644
--- a/pc/sdp_munging_detector.cc
+++ b/pc/sdp_munging_detector.cc
@@ -598,8 +598,14 @@
 
 bool IsSdpMungingAllowed(SdpMungingType sdp_munging_type,
                          const FieldTrialsView& trials) {
-  if (sdp_munging_type == SdpMungingType::kNoModification) {
-    return true;
+  switch (sdp_munging_type) {
+    case SdpMungingType::kNoModification:
+      return true;
+    case SdpMungingType::kNumberOfContents:
+      return false;
+    default:
+      // Handled below.
+      break;
   }
   std::string type_as_string =
       std::to_string(static_cast<int>(sdp_munging_type));
diff --git a/pc/sdp_munging_detector_unittest.cc b/pc/sdp_munging_detector_unittest.cc
index cd655e8..2785100 100644
--- a/pc/sdp_munging_detector_unittest.cc
+++ b/pc/sdp_munging_detector_unittest.cc
@@ -679,7 +679,7 @@
       ElementsAre(Pair(SdpMungingType::kDtlsSetup, 1)));
 }
 
-TEST_F(SdpMungingTest, RemoveContentDefault) {
+TEST_F(SdpMungingTest, RemoveContentRejected) {
   auto pc = CreatePeerConnection();
   pc->AddAudioTrack("audio_track", {});
 
@@ -707,35 +707,6 @@
       ElementsAre(Pair(static_cast<int>(SdpMungingOutcome::kRejected), 1)));
 }
 
-TEST_F(SdpMungingTest, RemoveContentKillswitch) {
-  auto pc =
-      CreatePeerConnection("WebRTC-NoSdpMangleNumberOfContents/Disabled/");
-  pc->AddAudioTrack("audio_track", {});
-
-  std::unique_ptr<SessionDescriptionInterface> offer = pc->CreateOffer();
-  auto& contents = offer->description()->contents();
-  ASSERT_EQ(contents.size(), 1u);
-  auto name = contents[0].mid();
-  EXPECT_TRUE(offer->description()->RemoveContentByName(contents[0].mid()));
-  std::string sdp;
-  offer->ToString(&sdp);
-  auto modified_offer = CreateSessionDescription(
-      SdpType::kOffer,
-      absl::StrReplaceAll(sdp, {{"a=group:BUNDLE " + name, "a=group:BUNDLE"}}));
-
-  RTCError error;
-  EXPECT_TRUE(pc->SetLocalDescription(std::move(modified_offer), &error));
-  EXPECT_THAT(
-      metrics::Samples("WebRTC.PeerConnection.SdpMunging.Offer.Initial"),
-      ElementsAre(Pair(SdpMungingType::kNumberOfContents, 1)));
-  EXPECT_THAT(
-      metrics::Samples("WebRTC.PeerConnection.SdpMunging.SdpOutcome.Accepted"),
-      ElementsAre(Pair(SdpMungingType::kNumberOfContents, 1)));
-  EXPECT_THAT(
-      metrics::Samples("WebRTC.PeerConnection.SdpMunging.Outcome"),
-      ElementsAre(Pair(static_cast<int>(SdpMungingOutcome::kAccepted), 1)));
-}
-
 TEST_F(SdpMungingTest, TransceiverDirection) {
   auto pc = CreatePeerConnection();
   pc->AddAudioTrack("audio_track", {});
diff --git a/pc/sdp_offer_answer.cc b/pc/sdp_offer_answer.cc
index 4785050..7339c0f 100644
--- a/pc/sdp_offer_answer.cc
+++ b/pc/sdp_offer_answer.cc
@@ -2483,10 +2483,6 @@
         RTC_LOG(LS_ERROR) << "Rejecting SDP because of ufrag modification";
         reject_error = true;
       }
-    } else if (sdp_munging_type == kNumberOfContents &&
-               !pc_->trials().IsDisabled(
-                   "WebRTC-NoSdpMangleNumberOfContents")) {
-      reject_error = true;
     } else {
       reject_error = !IsSdpMungingAllowed(sdp_munging_type, pc_->trials());
     }