Deprecate gfe2_reloadable_flag_quic_granular_qpack_error_codes.

PiperOrigin-RevId: 354327189
Change-Id: I03fec27a1f83bd98d74e98fbc57cb442bdcbbc66
diff --git a/quic/core/http/quic_spdy_session_test.cc b/quic/core/http/quic_spdy_session_test.cc
index 2e8b80f..89d06d4 100644
--- a/quic/core/http/quic_spdy_session_test.cc
+++ b/quic/core/http/quic_spdy_session_test.cc
@@ -2828,13 +2828,10 @@
 
   QuicStreamFrame frame(stream_id, /* fin = */ false, /* offset = */ 0, data);
 
-  EXPECT_CALL(
-      *connection_,
-      CloseConnection(
-          GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-              ? QUIC_QPACK_ENCODER_STREAM_DUPLICATE_INVALID_RELATIVE_INDEX
-              : QUIC_QPACK_ENCODER_STREAM_ERROR,
-          "Encoder stream error: Invalid relative index.", _));
+  EXPECT_CALL(*connection_,
+              CloseConnection(
+                  QUIC_QPACK_ENCODER_STREAM_DUPLICATE_INVALID_RELATIVE_INDEX,
+                  "Encoder stream error: Invalid relative index.", _));
   session_.OnStreamFrame(frame);
 }
 
@@ -2854,9 +2851,7 @@
 
   EXPECT_CALL(
       *connection_,
-      CloseConnection(GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-                          ? QUIC_QPACK_DECODER_STREAM_INVALID_ZERO_INCREMENT
-                          : QUIC_QPACK_DECODER_STREAM_ERROR,
+      CloseConnection(QUIC_QPACK_DECODER_STREAM_INVALID_ZERO_INCREMENT,
                       "Decoder stream error: Invalid increment value 0.", _));
   session_.OnStreamFrame(frame);
 }
diff --git a/quic/core/qpack/qpack_decoder.cc b/quic/core/qpack/qpack_decoder.cc
index 6ba9608..35c64a0 100644
--- a/quic/core/qpack/qpack_decoder.cc
+++ b/quic/core/qpack/qpack_decoder.cc
@@ -154,14 +154,8 @@
 
 void QpackDecoder::OnErrorDetected(QuicErrorCode error_code,
                                    absl::string_view error_message) {
-  if (GetQuicReloadableFlag(quic_granular_qpack_error_codes)) {
-    QUIC_CODE_COUNT_N(quic_granular_qpack_error_codes, 2, 2);
-    encoder_stream_error_delegate_->OnEncoderStreamError(error_code,
-                                                         error_message);
-  } else {
-    encoder_stream_error_delegate_->OnEncoderStreamError(
-        QUIC_QPACK_ENCODER_STREAM_ERROR, error_message);
-  }
+  encoder_stream_error_delegate_->OnEncoderStreamError(error_code,
+                                                       error_message);
 }
 
 std::unique_ptr<QpackProgressiveDecoder> QpackDecoder::CreateProgressiveDecoder(
diff --git a/quic/core/qpack/qpack_decoder_test.cc b/quic/core/qpack/qpack_decoder_test.cc
index 4aa4d82..3b57ca6 100644
--- a/quic/core/qpack/qpack_decoder_test.cc
+++ b/quic/core/qpack/qpack_decoder_test.cc
@@ -440,12 +440,10 @@
 }
 
 TEST_P(QpackDecoderTest, EncoderStreamErrorEntryTooLarge) {
-  EXPECT_CALL(encoder_stream_error_delegate_,
-              OnEncoderStreamError(
-                  GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-                      ? QUIC_QPACK_ENCODER_STREAM_ERROR_INSERTING_LITERAL
-                      : QUIC_QPACK_ENCODER_STREAM_ERROR,
-                  Eq("Error inserting literal entry.")));
+  EXPECT_CALL(
+      encoder_stream_error_delegate_,
+      OnEncoderStreamError(QUIC_QPACK_ENCODER_STREAM_ERROR_INSERTING_LITERAL,
+                           Eq("Error inserting literal entry.")));
 
   // Set dynamic table capacity to 34.
   DecodeEncoderStreamData(absl::HexStringToBytes("3f03"));
@@ -454,25 +452,20 @@
 }
 
 TEST_P(QpackDecoderTest, EncoderStreamErrorInvalidStaticTableEntry) {
-  EXPECT_CALL(encoder_stream_error_delegate_,
-              OnEncoderStreamError(
-                  GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-                      ? QUIC_QPACK_ENCODER_STREAM_INVALID_STATIC_ENTRY
-                      : QUIC_QPACK_ENCODER_STREAM_ERROR,
-                  Eq("Invalid static table entry.")));
+  EXPECT_CALL(
+      encoder_stream_error_delegate_,
+      OnEncoderStreamError(QUIC_QPACK_ENCODER_STREAM_INVALID_STATIC_ENTRY,
+                           Eq("Invalid static table entry.")));
 
   // Address invalid static table entry index 99.
   DecodeEncoderStreamData(absl::HexStringToBytes("ff2400"));
 }
 
 TEST_P(QpackDecoderTest, EncoderStreamErrorInvalidDynamicTableEntry) {
-  EXPECT_CALL(
-      encoder_stream_error_delegate_,
-      OnEncoderStreamError(
-          GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-              ? QUIC_QPACK_ENCODER_STREAM_INSERTION_INVALID_RELATIVE_INDEX
-              : QUIC_QPACK_ENCODER_STREAM_ERROR,
-          Eq("Invalid relative index.")));
+  EXPECT_CALL(encoder_stream_error_delegate_,
+              OnEncoderStreamError(
+                  QUIC_QPACK_ENCODER_STREAM_INSERTION_INVALID_RELATIVE_INDEX,
+                  Eq("Invalid relative index.")));
 
   DecodeEncoderStreamData(absl::HexStringToBytes(
       "3fe107"          // Set dynamic table capacity to 1024.
@@ -483,13 +476,10 @@
 }
 
 TEST_P(QpackDecoderTest, EncoderStreamErrorDuplicateInvalidEntry) {
-  EXPECT_CALL(
-      encoder_stream_error_delegate_,
-      OnEncoderStreamError(
-          GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-              ? QUIC_QPACK_ENCODER_STREAM_DUPLICATE_INVALID_RELATIVE_INDEX
-              : QUIC_QPACK_ENCODER_STREAM_ERROR,
-          Eq("Invalid relative index.")));
+  EXPECT_CALL(encoder_stream_error_delegate_,
+              OnEncoderStreamError(
+                  QUIC_QPACK_ENCODER_STREAM_DUPLICATE_INVALID_RELATIVE_INDEX,
+                  Eq("Invalid relative index.")));
 
   DecodeEncoderStreamData(absl::HexStringToBytes(
       "3fe107"          // Set dynamic table capacity to 1024.
@@ -501,11 +491,8 @@
 
 TEST_P(QpackDecoderTest, EncoderStreamErrorTooLargeInteger) {
   EXPECT_CALL(encoder_stream_error_delegate_,
-              OnEncoderStreamError(
-                  GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-                      ? QUIC_QPACK_ENCODER_STREAM_INTEGER_TOO_LARGE
-                      : QUIC_QPACK_ENCODER_STREAM_ERROR,
-                  Eq("Encoded integer too large.")));
+              OnEncoderStreamError(QUIC_QPACK_ENCODER_STREAM_INTEGER_TOO_LARGE,
+                                   Eq("Encoded integer too large.")));
 
   DecodeEncoderStreamData(absl::HexStringToBytes("3fffffffffffffffffffff"));
 }
@@ -608,12 +595,10 @@
 }
 
 TEST_P(QpackDecoderTest, TableCapacityMustNotExceedMaximum) {
-  EXPECT_CALL(encoder_stream_error_delegate_,
-              OnEncoderStreamError(
-                  GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-                      ? QUIC_QPACK_ENCODER_STREAM_SET_DYNAMIC_TABLE_CAPACITY
-                      : QUIC_QPACK_ENCODER_STREAM_ERROR,
-                  Eq("Error updating dynamic table capacity.")));
+  EXPECT_CALL(
+      encoder_stream_error_delegate_,
+      OnEncoderStreamError(QUIC_QPACK_ENCODER_STREAM_SET_DYNAMIC_TABLE_CAPACITY,
+                           Eq("Error updating dynamic table capacity.")));
 
   // Try to update dynamic table capacity to 2048, which exceeds the maximum.
   DecodeEncoderStreamData(absl::HexStringToBytes("3fe10f"));
diff --git a/quic/core/qpack/qpack_encoder.cc b/quic/core/qpack/qpack_encoder.cc
index 7fc128f..6ad432b 100644
--- a/quic/core/qpack/qpack_encoder.cc
+++ b/quic/core/qpack/qpack_encoder.cc
@@ -441,14 +441,8 @@
 
 void QpackEncoder::OnErrorDetected(QuicErrorCode error_code,
                                    absl::string_view error_message) {
-  if (GetQuicReloadableFlag(quic_granular_qpack_error_codes)) {
-    QUIC_CODE_COUNT_N(quic_granular_qpack_error_codes, 1, 2);
-    decoder_stream_error_delegate_->OnDecoderStreamError(error_code,
-                                                         error_message);
-  } else {
-    decoder_stream_error_delegate_->OnDecoderStreamError(
-        QUIC_QPACK_DECODER_STREAM_ERROR, error_message);
-  }
+  decoder_stream_error_delegate_->OnDecoderStreamError(error_code,
+                                                       error_message);
 }
 
 }  // namespace quic
diff --git a/quic/core/qpack/qpack_encoder_test.cc b/quic/core/qpack/qpack_encoder_test.cc
index 0a1d739..5045c8f 100644
--- a/quic/core/qpack/qpack_encoder_test.cc
+++ b/quic/core/qpack/qpack_encoder_test.cc
@@ -141,11 +141,8 @@
 
 TEST_F(QpackEncoderTest, DecoderStreamError) {
   EXPECT_CALL(decoder_stream_error_delegate_,
-              OnDecoderStreamError(
-                  GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-                      ? QUIC_QPACK_DECODER_STREAM_INTEGER_TOO_LARGE
-                      : QUIC_QPACK_DECODER_STREAM_ERROR,
-                  Eq("Encoded integer too large.")));
+              OnDecoderStreamError(QUIC_QPACK_DECODER_STREAM_INTEGER_TOO_LARGE,
+                                   Eq("Encoded integer too large.")));
 
   QpackEncoder encoder(&decoder_stream_error_delegate_);
   encoder.set_qpack_stream_sender_delegate(&encoder_stream_sender_delegate_);
@@ -168,12 +165,10 @@
 
 TEST_F(QpackEncoderTest, ZeroInsertCountIncrement) {
   // Encoder receives insert count increment with forbidden value 0.
-  EXPECT_CALL(decoder_stream_error_delegate_,
-              OnDecoderStreamError(
-                  GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-                      ? QUIC_QPACK_DECODER_STREAM_INVALID_ZERO_INCREMENT
-                      : QUIC_QPACK_DECODER_STREAM_ERROR,
-                  Eq("Invalid increment value 0.")));
+  EXPECT_CALL(
+      decoder_stream_error_delegate_,
+      OnDecoderStreamError(QUIC_QPACK_DECODER_STREAM_INVALID_ZERO_INCREMENT,
+                           Eq("Invalid increment value 0.")));
   encoder_.OnInsertCountIncrement(0);
 }
 
@@ -181,13 +176,11 @@
   // Encoder receives insert count increment with value that increases Known
   // Received Count to a value (one) which is larger than the number of dynamic
   // table insertions sent (zero).
-  EXPECT_CALL(decoder_stream_error_delegate_,
-              OnDecoderStreamError(
-                  GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-                      ? QUIC_QPACK_DECODER_STREAM_IMPOSSIBLE_INSERT_COUNT
-                      : QUIC_QPACK_DECODER_STREAM_ERROR,
-                  Eq("Increment value 1 raises known received count "
-                     "to 1 exceeding inserted entry count 0")));
+  EXPECT_CALL(
+      decoder_stream_error_delegate_,
+      OnDecoderStreamError(QUIC_QPACK_DECODER_STREAM_IMPOSSIBLE_INSERT_COUNT,
+                           Eq("Increment value 1 raises known received count "
+                              "to 1 exceeding inserted entry count 0")));
   encoder_.OnInsertCountIncrement(1);
 }
 
@@ -208,9 +201,7 @@
   // received count.  This must result in an error instead of a crash.
   EXPECT_CALL(decoder_stream_error_delegate_,
               OnDecoderStreamError(
-                  GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-                      ? QUIC_QPACK_DECODER_STREAM_INCREMENT_OVERFLOW
-                      : QUIC_QPACK_DECODER_STREAM_ERROR,
+                  QUIC_QPACK_DECODER_STREAM_INCREMENT_OVERFLOW,
                   Eq("Insert Count Increment instruction causes overflow.")));
   encoder_.OnInsertCountIncrement(std::numeric_limits<uint64_t>::max());
 }
@@ -218,13 +209,11 @@
 TEST_F(QpackEncoderTest, InvalidHeaderAcknowledgement) {
   // Encoder receives header acknowledgement for a stream on which no header
   // block with dynamic table entries was ever sent.
-  EXPECT_CALL(decoder_stream_error_delegate_,
-              OnDecoderStreamError(
-                  GetQuicReloadableFlag(quic_granular_qpack_error_codes)
-                      ? QUIC_QPACK_DECODER_STREAM_INCORRECT_ACKNOWLEDGEMENT
-                      : QUIC_QPACK_DECODER_STREAM_ERROR,
-                  Eq("Header Acknowledgement received for stream 0 "
-                     "with no outstanding header blocks.")));
+  EXPECT_CALL(
+      decoder_stream_error_delegate_,
+      OnDecoderStreamError(QUIC_QPACK_DECODER_STREAM_INCORRECT_ACKNOWLEDGEMENT,
+                           Eq("Header Acknowledgement received for stream 0 "
+                              "with no outstanding header blocks.")));
   encoder_.OnHeaderAcknowledgement(/* stream_id = */ 0);
 }
 
diff --git a/quic/core/quic_error_codes.h b/quic/core/quic_error_codes.h
index 3d0e3f1..3a80696 100644
--- a/quic/core/quic_error_codes.h
+++ b/quic/core/quic_error_codes.h
@@ -398,7 +398,6 @@
   QUIC_QPACK_DECOMPRESSION_FAILED = 126,
 
   // Obsolete generic QPACK encoder and decoder stream error codes.
-  // (Obsoleted by gfe2_reloadable_flag_quic_granular_qpack_error_codes.)
   QUIC_QPACK_ENCODER_STREAM_ERROR = 127,
   QUIC_QPACK_DECODER_STREAM_ERROR = 128,
 
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index a79d6cc..b39cc73 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -45,7 +45,6 @@
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_encrypted_goaway, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_willing_and_able_to_write2, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_goaway_with_max_stream_id, true)
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_granular_qpack_error_codes, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_parse_accept_ch_frame, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_pass_path_response_to_validator, false)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_require_handshake_confirmation, false)