Deprecate gfe2_reloadable_flag_quic_donot_mark_stream_write_blocked_if_write_side_closed.

PiperOrigin-RevId: 491772299
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index 1e403cb..e84b98d 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -55,8 +55,6 @@
 QUIC_FLAG(quic_reloadable_flag_quic_donot_pto_stream_data_before_handshake_confirmed, true)
 // If true, do not issue a new connection ID that has been claimed by another connection.
 QUIC_FLAG(quic_reloadable_flag_quic_check_cid_collision_when_issue_new_cid, true)
-// If true, do not mark stream connection level write blocked if its write side has been closed.
-QUIC_FLAG(quic_reloadable_flag_quic_donot_mark_stream_write_blocked_if_write_side_closed, true)
 // If true, enable server retransmittable on wire PING.
 QUIC_FLAG(quic_reloadable_flag_quic_enable_server_on_wire_ping, true)
 // If true, flush pending frames as well as pending padding bytes on connection migration.
diff --git a/quiche/quic/core/quic_session_test.cc b/quiche/quic/core/quic_session_test.cc
index 280d8a8..a55035f 100644
--- a/quiche/quic/core/quic_session_test.cc
+++ b/quiche/quic/core/quic_session_test.cc
@@ -3078,14 +3078,7 @@
             ConnectionCloseBehavior::SILENT_CLOSE);
         return false;
       }));
-  std::string msg =
-      absl::StrCat("Marking unknown stream ", stream->id(), " blocked.");
-  if (GetQuicReloadableFlag(
-          quic_donot_mark_stream_write_blocked_if_write_side_closed)) {
-    stream->WriteOrBufferData(body, false, nullptr);
-  } else {
-    EXPECT_QUIC_BUG(stream->WriteOrBufferData(body, false, nullptr), msg);
-  }
+  stream->WriteOrBufferData(body, false, nullptr);
 }
 
 TEST_P(QuicSessionTestServer, BufferedCryptoFrameCausesWriteError) {
diff --git a/quiche/quic/core/quic_stream.cc b/quiche/quic/core/quic_stream.cc
index 921682d..29a6d04 100644
--- a/quiche/quic/core/quic_stream.cc
+++ b/quiche/quic/core/quic_stream.cc
@@ -746,20 +746,12 @@
     return;
   }
   connection_flow_controller_->MaybeSendBlocked();
-  if (GetQuicReloadableFlag(
-          quic_donot_mark_stream_write_blocked_if_write_side_closed)) {
-    QUIC_RELOADABLE_FLAG_COUNT(
-        quic_donot_mark_stream_write_blocked_if_write_side_closed);
-  }
 
   // If the stream is blocked by connection-level flow control but not by
   // stream-level flow control, add the stream to the write blocked list so that
   // the stream will be given a chance to write when a connection-level
   // WINDOW_UPDATE arrives.
-  if ((!GetQuicReloadableFlag(
-           quic_donot_mark_stream_write_blocked_if_write_side_closed) ||
-       !write_side_closed_) &&
-      connection_flow_controller_->IsBlocked() &&
+  if (!write_side_closed_ && connection_flow_controller_->IsBlocked() &&
       !flow_controller_->IsBlocked()) {
     session_->MarkConnectionLevelWriteBlocked(id());
   }
@@ -1300,11 +1292,7 @@
         was_draining_ = true;
       }
       CloseWriteSide();
-    } else if (
-        fin && !consumed_data.fin_consumed &&
-        (!GetQuicReloadableFlag(
-             quic_donot_mark_stream_write_blocked_if_write_side_closed) ||
-         !write_side_closed_)) {
+    } else if (fin && !consumed_data.fin_consumed && !write_side_closed_) {
       session_->MarkConnectionLevelWriteBlocked(id());
     }
   } else {