Deprecate --gfe2_reloadable_flag_quic_reject_invalid_chars_in_field_value.

PiperOrigin-RevId: 410036090
diff --git a/quic/core/qpack/qpack_decoder_test.cc b/quic/core/qpack/qpack_decoder_test.cc
index 8f4b092..fe45397 100644
--- a/quic/core/qpack/qpack_decoder_test.cc
+++ b/quic/core/qpack/qpack_decoder_test.cc
@@ -226,14 +226,9 @@
 }
 
 TEST_P(QpackDecoderTest, LineFeedInValue) {
-  if (GetQuicReloadableFlag(quic_reject_invalid_chars_in_field_value)) {
-    EXPECT_CALL(handler_,
-                OnDecodingErrorDetected(QUIC_INVALID_CHARACTER_IN_FIELD_VALUE,
-                                        "Invalid character in field value."));
-  } else {
-    EXPECT_CALL(handler_, OnHeaderDecoded(Eq("foo"), Eq("ba\nr")));
-    EXPECT_CALL(handler_, OnDecodingCompleted());
-  }
+  EXPECT_CALL(handler_,
+              OnDecodingErrorDetected(QUIC_INVALID_CHARACTER_IN_FIELD_VALUE,
+                                      "Invalid character in field value."));
 
   DecodeHeaderBlock(absl::HexStringToBytes("000023666f6f0462610a72"));
 }
diff --git a/quic/core/qpack/qpack_progressive_decoder.cc b/quic/core/qpack/qpack_progressive_decoder.cc
index 96a3da5..12ad7f6 100644
--- a/quic/core/qpack/qpack_progressive_decoder.cc
+++ b/quic/core/qpack/qpack_progressive_decoder.cc
@@ -45,13 +45,7 @@
       blocked_(false),
       decoding_(true),
       error_detected_(false),
-      cancelled_(false),
-      reject_invalid_chars_in_field_value_(
-          GetQuicReloadableFlag(quic_reject_invalid_chars_in_field_value)) {
-  if (reject_invalid_chars_in_field_value_) {
-    QUIC_RELOADABLE_FLAG_COUNT(quic_reject_invalid_chars_in_field_value);
-  }
-}
+      cancelled_(false) {}
 
 QpackProgressiveDecoder::~QpackProgressiveDecoder() {
   if (blocked_ && !cancelled_) {
@@ -351,7 +345,7 @@
                                               absl::string_view name,
                                               absl::string_view value) {
   // Skip test for static table entries as they are all known to be valid.
-  if (reject_invalid_chars_in_field_value_ && !value_from_static_table) {
+  if (!value_from_static_table) {
     // According to Section 10.3 of
     // https://quicwg.org/base-drafts/draft-ietf-quic-http.html,
     // "[...] HTTP/3 can transport field values that are not valid. While most
diff --git a/quic/core/qpack/qpack_progressive_decoder.h b/quic/core/qpack/qpack_progressive_decoder.h
index b077ab1..c234b31 100644
--- a/quic/core/qpack/qpack_progressive_decoder.h
+++ b/quic/core/qpack/qpack_progressive_decoder.h
@@ -176,10 +176,6 @@
   // True if QpackDecoderHeaderTable has been destroyed
   // while decoding is still blocked.
   bool cancelled_;
-
-  // Latched value of
-  // gfe2_reloadable_flag_quic_reject_invalid_chars_in_field_value
-  const bool reject_invalid_chars_in_field_value_;
 };
 
 }  // namespace quic
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index ff051b4..e8aea24 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -23,8 +23,6 @@
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_check_cwnd_limited_before_aggregation_epoch, true)
 // If true, 1) NEW_TOKENs sent from a IETF QUIC session will include the cached network parameters proto, 2) A min_rtt received from a validated token will be used to set the initial rtt, 3) Enable bandwidth resumption for IETF QUIC when connection options BWRE or BWMX exists.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_add_cached_network_parameters_to_address_token, false)
-// If true, QPACK decoder rejects CR, LF, and NULL in field (header) values, and causes the stream to be reset with H3_MESSAGE_ERROR.
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_reject_invalid_chars_in_field_value, true)
 // If true, QUIC will default enable MTU discovery at server, with a target of 1450 bytes.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_enable_mtu_discovery_at_server, false)
 // If true, QUIC won\'t honor the connection option TLPR