gfe-relnote: Disable server push.  Protected by gfe2_reloadable_flag_quic_enable_version_draft_25_v3 and gfe2_reloadable_flag_quic_enable_version_draft_27.

PiperOrigin-RevId: 301242145
Change-Id: Ia5b790cd632d4a0a521a2149fe6713132ac2b4fe
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index f211046..4ba9e78 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -703,6 +703,11 @@
   stream->WritePushPromise(frame);
 }
 
+bool QuicSpdySession::server_push_enabled() const {
+  // TODO(b/151641466): Improve and enable server push for IETF QUIC.
+  return VersionUsesHttp3(transport_version()) ? false : server_push_enabled_;
+}
+
 void QuicSpdySession::SendInitialData() {
   if (!VersionUsesHttp3(transport_version())) {
     return;
diff --git a/quic/core/http/quic_spdy_session.h b/quic/core/http/quic_spdy_session.h
index 95f90c9..efa8d83 100644
--- a/quic/core/http/quic_spdy_session.h
+++ b/quic/core/http/quic_spdy_session.h
@@ -179,7 +179,7 @@
 
   const QuicHeadersStream* headers_stream() const { return headers_stream_; }
 
-  bool server_push_enabled() const { return server_push_enabled_; }
+  bool server_push_enabled() const;
 
   // Called when a setting is parsed from an incoming SETTINGS frame.
   void OnSetting(uint64_t id, uint64_t value);
diff --git a/quic/tools/quic_simple_server_session_test.cc b/quic/tools/quic_simple_server_session_test.cc
index d82bd08..a19adec 100644
--- a/quic/tools/quic_simple_server_session_test.cc
+++ b/quic/tools/quic_simple_server_session_test.cc
@@ -763,6 +763,11 @@
 // PUSH_PROMISE's will be sent out and only kMaxStreamsForTest streams will be
 // opened and send push response.
 TEST_P(QuicSimpleServerSessionServerPushTest, TestPromisePushResources) {
+  // TODO(b/151641466): Re-enable server push for IETF QUIC.
+  if (VersionUsesHttp3(transport_version())) {
+    return;
+  }
+
   MaybeConsumeHeadersStreamData();
   session_->SetMaxAllowedPushId(kMaxQuicStreamId);
   size_t num_resources = kMaxStreamsForTest + 5;
@@ -774,6 +779,11 @@
 // draining, a queued promised stream will become open and send push response.
 TEST_P(QuicSimpleServerSessionServerPushTest,
        HandlePromisedPushRequestsAfterStreamDraining) {
+  // TODO(b/151641466): Re-enable server push for IETF QUIC.
+  if (VersionUsesHttp3(transport_version())) {
+    return;
+  }
+
   MaybeConsumeHeadersStreamData();
   session_->SetMaxAllowedPushId(kMaxQuicStreamId);
   size_t num_resources = kMaxStreamsForTest + 1;
@@ -934,6 +944,11 @@
 // the queue to be send out.
 TEST_P(QuicSimpleServerSessionServerPushTest,
        CloseStreamToHandleMorePromisedStream) {
+  // TODO(b/151641466): Re-enable server push for IETF QUIC.
+  if (VersionUsesHttp3(transport_version())) {
+    return;
+  }
+
   MaybeConsumeHeadersStreamData();
   session_->SetMaxAllowedPushId(kMaxQuicStreamId);
   size_t num_resources = kMaxStreamsForTest + 1;