Refine QuicSpdyStream::UsesPendingStreams() behavior.

This is so that VersionHasStreamType(), which is an HTTP/3 concept, can be
removed from QuicStream, which lives in the transport layer.

gfe-relnote: n/a, no functional change.
PiperOrigin-RevId: 254379801
Change-Id: I6634dc77e85673166628b5912788cc8a41db2b57
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index b4849ab..55ceb2a 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -577,8 +577,10 @@
 }
 
 bool QuicSpdySession::UsesPendingStreams() const {
-  DCHECK(VersionHasStreamType(connection()->transport_version()));
-  return true;
+  // QuicSpdySession supports PendingStreams, therefore this method should
+  // eventually just return true.  However, pending streams can only be used if
+  // unidirectional stream type is supported.
+  return VersionHasStreamType(connection()->transport_version());
 }
 
 size_t QuicSpdySession::WriteHeadersOnHeadersStreamImpl(
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index bb2a7b9..19b219d 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -200,8 +200,7 @@
     return;
   }
 
-  if (VersionHasStreamType(connection()->transport_version()) &&
-      UsesPendingStreams() &&
+  if (UsesPendingStreams() &&
       QuicUtils::GetStreamType(stream_id, perspective(),
                                IsIncomingStream(stream_id)) ==
           READ_UNIDIRECTIONAL &&
@@ -370,8 +369,7 @@
     visitor_->OnRstStreamReceived(frame);
   }
 
-  if (VersionHasStreamType(connection()->transport_version()) &&
-      UsesPendingStreams() &&
+  if (UsesPendingStreams() &&
       QuicUtils::GetStreamType(stream_id, perspective(),
                                IsIncomingStream(stream_id)) ==
           READ_UNIDIRECTIONAL &&