Deprecate --gfe2_reloadable_flag_quic_extract_supported_groups_early.

PiperOrigin-RevId: 576171438
diff --git a/quiche/quic/core/quic_buffered_packet_store_test.cc b/quiche/quic/core/quic_buffered_packet_store_test.cc
index 640ac5d8..16a53e2 100644
--- a/quiche/quic/core/quic_buffered_packet_store_test.cc
+++ b/quiche/quic/core/quic_buffered_packet_store_test.cc
@@ -576,11 +576,7 @@
       &sni, &resumption_attempted, &early_data_attempted, &tls_alert));
 
   EXPECT_THAT(alpns, ElementsAre(AlpnForVersion(valid_version_)));
-  if (GetQuicReloadableFlag(quic_extract_supported_groups_early)) {
-    EXPECT_FALSE(supported_groups.empty());
-  } else {
-    EXPECT_TRUE(supported_groups.empty());
-  }
+  EXPECT_FALSE(supported_groups.empty());
   EXPECT_EQ(sni, TestHostname());
 
   EXPECT_FALSE(resumption_attempted);
diff --git a/quiche/quic/core/quic_dispatcher_test.cc b/quiche/quic/core/quic_dispatcher_test.cc
index 8021705..03e68c4 100644
--- a/quiche/quic/core/quic_dispatcher_test.cc
+++ b/quiche/quic/core/quic_dispatcher_test.cc
@@ -523,8 +523,7 @@
   std::string ExpectedAlpn() { return ExpectedAlpnForVersion(version_); }
 
   auto MatchParsedClientHello() {
-    if (version_.UsesQuicCrypto() ||
-        !GetQuicReloadableFlag(quic_extract_supported_groups_early)) {
+    if (version_.UsesQuicCrypto()) {
       return AllOf(
           Field(&ParsedClientHello::alpns, ElementsAreArray({ExpectedAlpn()})),
           Field(&ParsedClientHello::sni, Eq(TestHostname())),
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index 0281a1f..28d3c80 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -41,8 +41,6 @@
 QUIC_FLAG(quic_reloadable_flag_quic_ignore_gquic_probing, true)
 // If true, QUIC will default enable MTU discovery at server, with a target of 1450 bytes.
 QUIC_FLAG(quic_reloadable_flag_quic_enable_mtu_discovery_at_server, false)
-// If true, QUIC will extract supported_groups from ClientHello before creating QuicSession.
-QUIC_FLAG(quic_reloadable_flag_quic_extract_supported_groups_early, true)
 // If true, QuicGsoBatchWriter will support release time if it is available and the process has the permission to do so.
 QUIC_FLAG(quic_restart_flag_quic_support_release_time_for_gso, false)
 // If true, a duplicate NEW_CID frame will be ignore during QUIC packet processing.
diff --git a/quiche/quic/core/tls_chlo_extractor.cc b/quiche/quic/core/tls_chlo_extractor.cc
index 7cfcf25..34e5b51 100644
--- a/quiche/quic/core/tls_chlo_extractor.cc
+++ b/quiche/quic/core/tls_chlo_extractor.cc
@@ -362,10 +362,7 @@
     }
   }
 
-  if (GetQuicReloadableFlag(quic_extract_supported_groups_early)) {
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_extract_supported_groups_early, 1, 3);
-    supported_groups_ = GetSupportedGroups(client_hello);
-  }
+  supported_groups_ = GetSupportedGroups(client_hello);
 
   // Update our state now that we've parsed a full CHLO.
   if (state_ == State::kInitial) {
diff --git a/quiche/quic/core/tls_chlo_extractor_test.cc b/quiche/quic/core/tls_chlo_extractor_test.cc
index 3d3f83f..f08c794 100644
--- a/quiche/quic/core/tls_chlo_extractor_test.cc
+++ b/quiche/quic/core/tls_chlo_extractor_test.cc
@@ -226,11 +226,7 @@
     Initialize(std::move(crypto_client_config));
     IngestPackets();
     ValidateChloDetails();
-    if (GetQuicReloadableFlag(quic_extract_supported_groups_early)) {
-      EXPECT_EQ(tls_chlo_extractor_->supported_groups(), preferred_groups);
-    } else {
-      EXPECT_TRUE(tls_chlo_extractor_->supported_groups().empty());
-    }
+    EXPECT_EQ(tls_chlo_extractor_->supported_groups(), preferred_groups);
   }
 }