Remove unused QuicSession::CreateIncomingStream(PendingStream*).
Remove overrides in subclasses which considered it an error
to call this method. Move from override to virtual in those
subclasses which actually use this method.

NOT generated via copybara

PiperOrigin-RevId: 904511789
diff --git a/quiche/quic/core/http/quic_connection_migration_manager_test.cc b/quiche/quic/core/http/quic_connection_migration_manager_test.cc
index fba1256..a24aaca 100644
--- a/quiche/quic/core/http/quic_connection_migration_manager_test.cc
+++ b/quiche/quic/core/http/quic_connection_migration_manager_test.cc
@@ -400,12 +400,6 @@
     return stream;
   }
 
-  TestStream* CreateIncomingStream(PendingStream* pending) override {
-    TestStream* stream = new TestStream(*pending, this);
-    ActivateStream(absl::WrapUnique(stream));
-    return stream;
-  }
-
   void set_alternate_network(QuicNetworkHandle network) {
     alternate_network_ = network;
   }
diff --git a/quiche/quic/core/http/quic_server_session_base_test.cc b/quiche/quic/core/http/quic_server_session_base_test.cc
index 6f5f9c6..5f8f7af 100644
--- a/quiche/quic/core/http/quic_server_session_base_test.cc
+++ b/quiche/quic/core/http/quic_server_session_base_test.cc
@@ -90,13 +90,6 @@
     return stream;
   }
 
-  QuicSpdyStream* CreateIncomingStream(PendingStream* pending) override {
-    QuicSpdyStream* stream =
-        new QuicSimpleServerStream(*pending, this, quic_simple_server_backend_);
-    ActivateStream(absl::WrapUnique(stream));
-    return stream;
-  }
-
   QuicSpdyStream* CreateOutgoingBidirectionalStream() override {
     QUICHE_DCHECK(false);
     return nullptr;
@@ -111,7 +104,10 @@
 
   QuicStream* ProcessBidirectionalPendingStream(
       PendingStream& pending) override {
-    return CreateIncomingStream(&pending);
+    QuicSpdyStream* stream =
+        new QuicSimpleServerStream(pending, this, quic_simple_server_backend_);
+    ActivateStream(absl::WrapUnique(stream));
+    return stream;
   }
 
  private:
diff --git a/quiche/quic/core/http/quic_spdy_client_session.cc b/quiche/quic/core/http/quic_spdy_client_session.cc
index ec5aabf..740c0e9 100644
--- a/quiche/quic/core/http/quic_spdy_client_session.cc
+++ b/quiche/quic/core/http/quic_spdy_client_session.cc
@@ -188,13 +188,6 @@
   return true;
 }
 
-QuicSpdyStream* QuicSpdyClientSession::CreateIncomingStream(
-    PendingStream* pending) {
-  QuicSpdyStream* stream = new QuicSpdyClientStream(*pending, this);
-  ActivateStream(absl::WrapUnique(stream));
-  return stream;
-}
-
 QuicSpdyStream* QuicSpdyClientSession::CreateIncomingStream(QuicStreamId id) {
   if (!ShouldCreateIncomingStream(id)) {
     return nullptr;
diff --git a/quiche/quic/core/http/quic_spdy_client_session.h b/quiche/quic/core/http/quic_spdy_client_session.h
index 2969f47..4d104d1 100644
--- a/quiche/quic/core/http/quic_spdy_client_session.h
+++ b/quiche/quic/core/http/quic_spdy_client_session.h
@@ -143,7 +143,6 @@
  protected:
   // QuicSession methods:
   QuicSpdyStream* CreateIncomingStream(QuicStreamId id) override;
-  QuicSpdyStream* CreateIncomingStream(PendingStream* pending) override;
   // If an outgoing stream can be created, return true.
   bool ShouldCreateOutgoingBidirectionalStream() override;
 
diff --git a/quiche/quic/core/http/quic_spdy_session.h b/quiche/quic/core/http/quic_spdy_session.h
index 00c53f7..46cee7b 100644
--- a/quiche/quic/core/http/quic_spdy_session.h
+++ b/quiche/quic/core/http/quic_spdy_session.h
@@ -496,7 +496,6 @@
   // Override CreateIncomingStream() with QuicSpdyStream return type to
   // ensure that all data streams are QuicSpdyStreams.
   QuicSpdyStream* CreateIncomingStream(QuicStreamId id) override = 0;
-  QuicSpdyStream* CreateIncomingStream(PendingStream* pending) override = 0;
   bool ShouldRefuseIncomingStream(QuicStreamId id) override;
   // Called to create a new outgoing bidirectional stream.
   virtual QuicSpdyStream* CreateOutgoingBidirectionalStream() = 0;
diff --git a/quiche/quic/core/http/quic_spdy_session_test.cc b/quiche/quic/core/http/quic_spdy_session_test.cc
index b9b3caa..bc2005b 100644
--- a/quiche/quic/core/http/quic_spdy_session_test.cc
+++ b/quiche/quic/core/http/quic_spdy_session_test.cc
@@ -313,12 +313,6 @@
     }
   }
 
-  TestStream* CreateIncomingStream(PendingStream* pending) override {
-    TestStream* stream = new TestStream(*pending, this);
-    ActivateStream(absl::WrapUnique(stream));
-    return stream;
-  }
-
   bool ShouldCreateIncomingStream(QuicStreamId /*id*/) override { return true; }
 
   bool ShouldCreateOutgoingBidirectionalStream() override { return true; }
diff --git a/quiche/quic/core/http/web_transport_only_server_session.cc b/quiche/quic/core/http/web_transport_only_server_session.cc
index cb03ed8..55b90d5 100644
--- a/quiche/quic/core/http/web_transport_only_server_session.cc
+++ b/quiche/quic/core/http/web_transport_only_server_session.cc
@@ -72,13 +72,6 @@
   return stream;
 }
 
-QuicSpdyStream* WebTransportOnlyServerSession::CreateIncomingStream(
-    PendingStream* pending) {
-  QuicSpdyStream* stream = new Stream(*pending, this);
-  ActivateStream(absl::WrapUnique(stream));
-  return stream;
-}
-
 QuicSpdyStream*
 WebTransportOnlyServerSession::CreateOutgoingBidirectionalStream() {
   if (!ShouldCreateOutgoingBidirectionalStream()) {
@@ -93,7 +86,9 @@
 
 QuicStream* WebTransportOnlyServerSession::ProcessBidirectionalPendingStream(
     PendingStream& pending) {
-  return CreateIncomingStream(&pending);
+  QuicSpdyStream* stream = new Stream(pending, this);
+  ActivateStream(absl::WrapUnique(stream));
+  return stream;
 }
 
 bool WebTransportOnlyServerSession::OnSettingsFrame(
diff --git a/quiche/quic/core/http/web_transport_only_server_session.h b/quiche/quic/core/http/web_transport_only_server_session.h
index f70ce15..fe9ebf8 100644
--- a/quiche/quic/core/http/web_transport_only_server_session.h
+++ b/quiche/quic/core/http/web_transport_only_server_session.h
@@ -83,7 +83,6 @@
   bool OnSettingsFrame(const SettingsFrame& frame) override;
 
   QuicSpdyStream* CreateIncomingStream(QuicStreamId id) override;
-  QuicSpdyStream* CreateIncomingStream(PendingStream* pending) override;
   QuicSpdyStream* CreateOutgoingBidirectionalStream() override;
   QuicStream* ProcessBidirectionalPendingStream(
       PendingStream& pending) override;
diff --git a/quiche/quic/core/quic_dispatcher_test.cc b/quiche/quic/core/quic_dispatcher_test.cc
index 0b18328..0e1cf64 100644
--- a/quiche/quic/core/quic_dispatcher_test.cc
+++ b/quiche/quic/core/quic_dispatcher_test.cc
@@ -117,8 +117,6 @@
               (override));
   MOCK_METHOD(QuicSpdyStream*, CreateIncomingStream, (QuicStreamId id),
               (override));
-  MOCK_METHOD(QuicSpdyStream*, CreateIncomingStream, (PendingStream*),
-              (override));
   MOCK_METHOD(QuicSpdyStream*, CreateOutgoingBidirectionalStream, (),
               (override));
 
diff --git a/quiche/quic/core/quic_generic_session.h b/quiche/quic/core/quic_generic_session.h
index aea69ad..16eba28 100644
--- a/quiche/quic/core/quic_generic_session.h
+++ b/quiche/quic/core/quic_generic_session.h
@@ -72,12 +72,6 @@
   bool ShouldKeepConnectionAlive() const override { return true; }
 
   QuicStream* CreateIncomingStream(QuicStreamId id) override;
-  QuicStream* CreateIncomingStream(PendingStream* /*pending*/) override {
-    QUIC_BUG(QuicGenericSessionBase_PendingStream)
-        << "QuicGenericSessionBase::CreateIncomingStream(PendingStream) not "
-           "implemented";
-    return nullptr;
-  }
 
   void OnTlsHandshakeComplete() override;
   void OnDatagramReceived(absl::string_view datagram) override;
diff --git a/quiche/quic/core/quic_session.h b/quiche/quic/core/quic_session.h
index cc6400f..56ac2b0 100644
--- a/quiche/quic/core/quic_session.h
+++ b/quiche/quic/core/quic_session.h
@@ -893,7 +893,6 @@
   // Caller does not own the returned stream.
   // Returns nullptr and does error handling if the stream can not be created.
   virtual QuicStream* CreateIncomingStream(QuicStreamId id) = 0;
-  virtual QuicStream* CreateIncomingStream(PendingStream* pending) = 0;
   // Return true if the specified stream should be refused.
   virtual bool ShouldRefuseIncomingStream(QuicStreamId) { return false; }
 
diff --git a/quiche/quic/core/quic_session_test.cc b/quiche/quic/core/quic_session_test.cc
index c92c356..73493a5 100644
--- a/quiche/quic/core/quic_session_test.cc
+++ b/quiche/quic/core/quic_session_test.cc
@@ -305,7 +305,7 @@
     return stream;
   }
 
-  TestStream* CreateIncomingStream(PendingStream* pending) override {
+  TestStream* CreateIncomingStream(PendingStream* pending) {
     TestStream* stream = new TestStream(*pending, this);
     ActivateStream(absl::WrapUnique(stream));
     ++num_incoming_streams_created_;
diff --git a/quiche/quic/qbone/qbone_session_base.cc b/quiche/quic/qbone/qbone_session_base.cc
index e28aab7..ebb3ced 100644
--- a/quiche/quic/qbone/qbone_session_base.cc
+++ b/quiche/quic/qbone/qbone_session_base.cc
@@ -94,11 +94,6 @@
   return ActivateDataStream(CreateDataStream(id));
 }
 
-QuicStream* QboneSessionBase::CreateIncomingStream(PendingStream* /*pending*/) {
-  QUICHE_NOTREACHED();
-  return nullptr;
-}
-
 bool QboneSessionBase::ShouldKeepConnectionAlive() const {
   // QBONE connections stay alive until they're explicitly closed.
   return true;
diff --git a/quiche/quic/qbone/qbone_session_base.h b/quiche/quic/qbone/qbone_session_base.h
index ab0481a..3160f13 100644
--- a/quiche/quic/qbone/qbone_session_base.h
+++ b/quiche/quic/qbone/qbone_session_base.h
@@ -66,7 +66,6 @@
   QuicCryptoStream* GetMutableCryptoStream() override;
   const QuicCryptoStream* GetCryptoStream() const override;
   QuicStream* CreateIncomingStream(QuicStreamId id) override;
-  QuicStream* CreateIncomingStream(PendingStream* pending) override;
   bool ShouldKeepConnectionAlive() const override;
 
   bool MaybeIncreaseLargestPeerStreamId(const QuicStreamId stream_id) override {
diff --git a/quiche/quic/test_tools/quic_test_utils.h b/quiche/quic/test_tools/quic_test_utils.h
index fd34314..390345b 100644
--- a/quiche/quic/test_tools/quic_test_utils.h
+++ b/quiche/quic/test_tools/quic_test_utils.h
@@ -828,8 +828,6 @@
                ConnectionCloseSource source),
               (override));
   MOCK_METHOD(QuicStream*, CreateIncomingStream, (QuicStreamId id), (override));
-  MOCK_METHOD(QuicSpdyStream*, CreateIncomingStream, (PendingStream*),
-              (override));
   MOCK_METHOD(QuicConsumedData, WritevData,
               (QuicStreamId id, size_t write_length, QuicStreamOffset offset,
                StreamSendingState state, TransmissionType type,
@@ -979,8 +977,6 @@
               (override));
   MOCK_METHOD(QuicSpdyStream*, CreateIncomingStream, (QuicStreamId id),
               (override));
-  MOCK_METHOD(QuicSpdyStream*, CreateIncomingStream, (PendingStream*),
-              (override));
   MOCK_METHOD(QuicSpdyStream*, CreateOutgoingBidirectionalStream, (),
               (override));
   MOCK_METHOD(bool, ShouldCreateIncomingStream, (QuicStreamId id), (override));
@@ -1087,8 +1083,6 @@
 
   MOCK_METHOD(QuicSpdyStream*, CreateIncomingStream, (QuicStreamId id),
               (override));
-  MOCK_METHOD(QuicSpdyStream*, CreateIncomingStream, (PendingStream*),
-              (override));
   MOCK_METHOD(QuicSpdyStream*, CreateOutgoingBidirectionalStream, (),
               (override));
   MOCK_METHOD(std::vector<absl::string_view>::const_iterator, SelectAlpn,
@@ -1152,8 +1146,6 @@
   // TestQuicSpdyClientSession
   MOCK_METHOD(QuicSpdyStream*, CreateIncomingStream, (QuicStreamId id),
               (override));
-  MOCK_METHOD(QuicSpdyStream*, CreateIncomingStream, (PendingStream*),
-              (override));
   MOCK_METHOD(QuicSpdyStream*, CreateOutgoingBidirectionalStream, (),
               (override));
   MOCK_METHOD(bool, ShouldCreateIncomingStream, (QuicStreamId id), (override));
diff --git a/quiche/quic/tools/quic_simple_server_session.cc b/quiche/quic/tools/quic_simple_server_session.cc
index 0f16e1e..d5099d1 100644
--- a/quiche/quic/tools/quic_simple_server_session.cc
+++ b/quiche/quic/tools/quic_simple_server_session.cc
@@ -69,14 +69,6 @@
   return stream;
 }
 
-QuicSpdyStream* QuicSimpleServerSession::CreateIncomingStream(
-    PendingStream* pending) {
-  QuicSpdyStream* stream =
-      new QuicSimpleServerStream(*pending, this, quic_simple_server_backend_);
-  ActivateStream(absl::WrapUnique(stream));
-  return stream;
-}
-
 QuicSpdyStream* QuicSimpleServerSession::CreateOutgoingBidirectionalStream() {
   if (!WillNegotiateWebTransport()) {
     QUIC_BUG(QuicSimpleServerSession CreateOutgoingBidirectionalStream without
@@ -98,7 +90,10 @@
 QuicStream* QuicSimpleServerSession::ProcessBidirectionalPendingStream(
     PendingStream& pending) {
   QUICHE_DCHECK(IsEncryptionEstablished());
-  return CreateIncomingStream(&pending);
+  QuicSpdyStream* stream =
+      new QuicSimpleServerStream(pending, this, quic_simple_server_backend_);
+  ActivateStream(absl::WrapUnique(stream));
+  return stream;
 }
 
 }  // namespace quic
diff --git a/quiche/quic/tools/quic_simple_server_session.h b/quiche/quic/tools/quic_simple_server_session.h
index f7303d2..1adc29d 100644
--- a/quiche/quic/tools/quic_simple_server_session.h
+++ b/quiche/quic/tools/quic_simple_server_session.h
@@ -53,7 +53,6 @@
  protected:
   // QuicSession methods:
   QuicSpdyStream* CreateIncomingStream(QuicStreamId id) override;
-  QuicSpdyStream* CreateIncomingStream(PendingStream* pending) override;
   QuicSpdyStream* CreateOutgoingBidirectionalStream() override;
 
   // QuicServerSessionBaseMethod: