Deprecate --gfe2_reloadable_flag_quic_fix_on_stream_reset.

PiperOrigin-RevId: 466355869
diff --git a/quiche/quic/core/http/quic_spdy_stream.cc b/quiche/quic/core/http/quic_spdy_stream.cc
index ed8ff04..056514c 100644
--- a/quiche/quic/core/http/quic_spdy_stream.cc
+++ b/quiche/quic/core/http/quic_spdy_stream.cc
@@ -732,31 +732,16 @@
     return;
   }
 
-  // TODO(bnc): Merge the two blocks below when deprecating
-  // quic_fix_on_stream_reset.
-  if (frame.error_code != QUIC_STREAM_NO_ERROR) {
-    if (VersionUsesHttp3(transport_version()) && !fin_received() &&
-        spdy_session_->qpack_decoder()) {
-      spdy_session_->qpack_decoder()->OnStreamReset(id());
-      qpack_decoded_headers_accumulator_.reset();
-    }
-
-    QuicStream::OnStreamReset(frame);
-    return;
+  if (VersionUsesHttp3(transport_version()) && !fin_received() &&
+      spdy_session_->qpack_decoder()) {
+    spdy_session_->qpack_decoder()->OnStreamReset(id());
+    qpack_decoded_headers_accumulator_.reset();
   }
 
-  if (VersionUsesHttp3(transport_version())) {
-    QUIC_CODE_COUNT(quic_fix_on_stream_reset);
-    if (GetQuicReloadableFlag(quic_fix_on_stream_reset)) {
-      QUIC_RELOADABLE_FLAG_COUNT(quic_fix_on_stream_reset);
-      if (!fin_received() && spdy_session_->qpack_decoder()) {
-        spdy_session_->qpack_decoder()->OnStreamReset(id());
-        qpack_decoded_headers_accumulator_.reset();
-      }
-
-      QuicStream::OnStreamReset(frame);
-      return;
-    }
+  if (VersionUsesHttp3(transport_version()) ||
+      frame.error_code != QUIC_STREAM_NO_ERROR) {
+    QuicStream::OnStreamReset(frame);
+    return;
   }
 
   QUIC_DVLOG(1) << ENDPOINT
diff --git a/quiche/quic/core/http/quic_spdy_stream_test.cc b/quiche/quic/core/http/quic_spdy_stream_test.cc
index ba4137e..6255251 100644
--- a/quiche/quic/core/http/quic_spdy_stream_test.cc
+++ b/quiche/quic/core/http/quic_spdy_stream_test.cc
@@ -1195,7 +1195,7 @@
   stream_->OnStreamReset(QuicRstStreamFrame(
       kInvalidControlFrameId, stream_->id(), QUIC_STREAM_NO_ERROR, 0));
 
-  if (GetQuicReloadableFlag(quic_fix_on_stream_reset) && UsesHttp3()) {
+  if (UsesHttp3()) {
     // RESET_STREAM should close the read side but not the write side.
     EXPECT_TRUE(stream_->read_side_closed());
     EXPECT_FALSE(stream_->write_side_closed());
@@ -3039,20 +3039,9 @@
 
   QuicRstStreamFrame rst_frame2(kInvalidControlFrameId, stream_->id(),
                                 QUIC_STREAM_NO_ERROR, /* bytes_written = */ 0);
-  if (GetQuicReloadableFlag(quic_fix_on_stream_reset)) {
-    stream_->OnStreamReset(rst_frame2);
-    EXPECT_TRUE(stream_->read_side_closed());
-    EXPECT_FALSE(stream_->write_side_closed());
-  } else {
-    EXPECT_CALL(
-        *session_,
-        MaybeSendRstStreamFrame(
-            stream_->id(),
-            QuicResetStreamError::FromInternal(QUIC_RST_ACKNOWLEDGEMENT), _));
-    EXPECT_QUIC_BUG(
-        stream_->OnStreamReset(rst_frame2),
-        "The stream should've already sent RST in response to STOP_SENDING");
-  }
+  stream_->OnStreamReset(rst_frame2);
+  EXPECT_TRUE(stream_->read_side_closed());
+  EXPECT_FALSE(stream_->write_side_closed());
 }
 
 TEST_P(QuicSpdyStreamTest, ProcessOutgoingWebTransportHeadersDatagramDraft04) {
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index fd44242..c2ff08a 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -35,8 +35,6 @@
 QUIC_FLAG(quic_reloadable_flag_quic_can_send_ack_frequency, true)
 // If true, allow client to enable BBRv2 on server via connection option \'B2ON\'.
 QUIC_FLAG(quic_reloadable_flag_quic_allow_client_enabled_bbr_v2, true)
-// If true, close read side but not write side in QuicSpdyStream::OnStreamReset().
-QUIC_FLAG(quic_reloadable_flag_quic_fix_on_stream_reset, true)
 // If true, close the connection if a crypto send buffer exceeds its size limit.
 QUIC_FLAG(quic_reloadable_flag_quic_bounded_crypto_send_buffer, false)
 // If true, default-enable 5RTO blachole detection.