Remove QuicClientPushPromiseIndex.

PiperOrigin-RevId: 572602062
diff --git a/build/source_list.bzl b/build/source_list.bzl
index 3fea228..b0541b3 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -219,7 +219,6 @@
     "quic/core/http/http_decoder.h",
     "quic/core/http/http_encoder.h",
     "quic/core/http/http_frames.h",
-    "quic/core/http/quic_client_push_promise_index.h",
     "quic/core/http/quic_header_list.h",
     "quic/core/http/quic_headers_stream.h",
     "quic/core/http/quic_receive_control_stream.h",
diff --git a/build/source_list.gni b/build/source_list.gni
index 3848790..6745133 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -219,7 +219,6 @@
     "src/quiche/quic/core/http/http_decoder.h",
     "src/quiche/quic/core/http/http_encoder.h",
     "src/quiche/quic/core/http/http_frames.h",
-    "src/quiche/quic/core/http/quic_client_push_promise_index.h",
     "src/quiche/quic/core/http/quic_header_list.h",
     "src/quiche/quic/core/http/quic_headers_stream.h",
     "src/quiche/quic/core/http/quic_receive_control_stream.h",
diff --git a/build/source_list.json b/build/source_list.json
index b900595..0796cd6 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -218,7 +218,6 @@
     "quiche/quic/core/http/http_decoder.h",
     "quiche/quic/core/http/http_encoder.h",
     "quiche/quic/core/http/http_frames.h",
-    "quiche/quic/core/http/quic_client_push_promise_index.h",
     "quiche/quic/core/http/quic_header_list.h",
     "quiche/quic/core/http/quic_headers_stream.h",
     "quiche/quic/core/http/quic_receive_control_stream.h",
diff --git a/quiche/quic/core/http/quic_client_push_promise_index.h b/quiche/quic/core/http/quic_client_push_promise_index.h
deleted file mode 100644
index 901e134..0000000
--- a/quiche/quic/core/http/quic_client_push_promise_index.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef QUICHE_QUIC_CORE_HTTP_QUIC_CLIENT_PUSH_PROMISE_INDEX_H_
-#define QUICHE_QUIC_CORE_HTTP_QUIC_CLIENT_PUSH_PROMISE_INDEX_H_
-
-#include "quiche/quic/core/http/quic_spdy_client_session_base.h"
-#include "quiche/quic/core/quic_types.h"
-#include "quiche/quic/platform/api/quic_export.h"
-#include "quiche/spdy/core/http2_header_block.h"
-
-namespace quic {
-
-// TODO(b/171463363): Remove.
-class QUICHE_EXPORT QuicClientPushPromiseIndex {};
-
-}  // namespace quic
-
-#endif  // QUICHE_QUIC_CORE_HTTP_QUIC_CLIENT_PUSH_PROMISE_INDEX_H_
diff --git a/quiche/quic/core/http/quic_spdy_client_session.cc b/quiche/quic/core/http/quic_spdy_client_session.cc
index 52c4d04..54bb367 100644
--- a/quiche/quic/core/http/quic_spdy_client_session.cc
+++ b/quiche/quic/core/http/quic_spdy_client_session.cc
@@ -24,17 +24,15 @@
 QuicSpdyClientSession::QuicSpdyClientSession(
     const QuicConfig& config, const ParsedQuicVersionVector& supported_versions,
     QuicConnection* connection, const QuicServerId& server_id,
-    QuicCryptoClientConfig* crypto_config,
-    QuicClientPushPromiseIndex* push_promise_index)
+    QuicCryptoClientConfig* crypto_config)
     : QuicSpdyClientSession(config, supported_versions, connection, nullptr,
-                            server_id, crypto_config, push_promise_index) {}
+                            server_id, crypto_config) {}
 
 QuicSpdyClientSession::QuicSpdyClientSession(
     const QuicConfig& config, const ParsedQuicVersionVector& supported_versions,
     QuicConnection* connection, QuicSession::Visitor* visitor,
-    const QuicServerId& server_id, QuicCryptoClientConfig* crypto_config,
-    QuicClientPushPromiseIndex* push_promise_index)
-    : QuicSpdyClientSessionBase(connection, visitor, push_promise_index, config,
+    const QuicServerId& server_id, QuicCryptoClientConfig* crypto_config)
+    : QuicSpdyClientSessionBase(connection, visitor, config,
                                 supported_versions),
       server_id_(server_id),
       crypto_config_(crypto_config),
diff --git a/quiche/quic/core/http/quic_spdy_client_session.h b/quiche/quic/core/http/quic_spdy_client_session.h
index 34d255a..b79f86e 100644
--- a/quiche/quic/core/http/quic_spdy_client_session.h
+++ b/quiche/quic/core/http/quic_spdy_client_session.h
@@ -28,16 +28,14 @@
                         const ParsedQuicVersionVector& supported_versions,
                         QuicConnection* connection,
                         const QuicServerId& server_id,
-                        QuicCryptoClientConfig* crypto_config,
-                        QuicClientPushPromiseIndex* push_promise_index);
+                        QuicCryptoClientConfig* crypto_config);
 
   QuicSpdyClientSession(const QuicConfig& config,
                         const ParsedQuicVersionVector& supported_versions,
                         QuicConnection* connection,
                         QuicSession::Visitor* visitor,
                         const QuicServerId& server_id,
-                        QuicCryptoClientConfig* crypto_config,
-                        QuicClientPushPromiseIndex* push_promise_index);
+                        QuicCryptoClientConfig* crypto_config);
 
   QuicSpdyClientSession(const QuicSpdyClientSession&) = delete;
   QuicSpdyClientSession& operator=(const QuicSpdyClientSession&) = delete;
diff --git a/quiche/quic/core/http/quic_spdy_client_session_base.cc b/quiche/quic/core/http/quic_spdy_client_session_base.cc
index b730251..fa941d6 100644
--- a/quiche/quic/core/http/quic_spdy_client_session_base.cc
+++ b/quiche/quic/core/http/quic_spdy_client_session_base.cc
@@ -17,10 +17,8 @@
 
 QuicSpdyClientSessionBase::QuicSpdyClientSessionBase(
     QuicConnection* connection, QuicSession::Visitor* visitor,
-    QuicClientPushPromiseIndex* push_promise_index, const QuicConfig& config,
-    const ParsedQuicVersionVector& supported_versions)
-    : QuicSpdySession(connection, visitor, config, supported_versions),
-      push_promise_index_(push_promise_index) {}
+    const QuicConfig& config, const ParsedQuicVersionVector& supported_versions)
+    : QuicSpdySession(connection, visitor, config, supported_versions) {}
 
 QuicSpdyClientSessionBase::~QuicSpdyClientSessionBase() {
   DeleteConnection();
diff --git a/quiche/quic/core/http/quic_spdy_client_session_base.h b/quiche/quic/core/http/quic_spdy_client_session_base.h
index 7657642..7923937 100644
--- a/quiche/quic/core/http/quic_spdy_client_session_base.h
+++ b/quiche/quic/core/http/quic_spdy_client_session_base.h
@@ -15,8 +15,6 @@
 
 namespace quic {
 
-class QuicClientPushPromiseIndex;
-
 // Base class for all client-specific QuicSession subclasses.
 class QUICHE_EXPORT QuicSpdyClientSessionBase
     : public QuicSpdySession,
@@ -26,7 +24,6 @@
   // |promised_by_url|.
   QuicSpdyClientSessionBase(QuicConnection* connection,
                             QuicSession::Visitor* visitor,
-                            QuicClientPushPromiseIndex* push_promise_index,
                             const QuicConfig& config,
                             const ParsedQuicVersionVector& supported_versions);
   QuicSpdyClientSessionBase(const QuicSpdyClientSessionBase&) = delete;
@@ -55,15 +52,8 @@
   // Override to wait for all received responses to be consumed by application.
   bool ShouldKeepConnectionAlive() const override;
 
-  QuicClientPushPromiseIndex* push_promise_index() {
-    return push_promise_index_;
-  }
-
   // Override to serialize the settings and pass it down to the handshaker.
   bool OnSettingsFrame(const SettingsFrame& frame) override;
-
- private:
-  QuicClientPushPromiseIndex* push_promise_index_;
 };
 
 }  // namespace quic
diff --git a/quiche/quic/core/http/quic_spdy_client_session_test.cc b/quiche/quic/core/http/quic_spdy_client_session_test.cc
index 7949fb7..2c93bc9 100644
--- a/quiche/quic/core/http/quic_spdy_client_session_test.cc
+++ b/quiche/quic/core/http/quic_spdy_client_session_test.cc
@@ -64,10 +64,9 @@
       const QuicConfig& config,
       const ParsedQuicVersionVector& supported_versions,
       QuicConnection* connection, const QuicServerId& server_id,
-      QuicCryptoClientConfig* crypto_config,
-      QuicClientPushPromiseIndex* push_promise_index)
+      QuicCryptoClientConfig* crypto_config)
       : QuicSpdyClientSession(config, supported_versions, connection, server_id,
-                              crypto_config, push_promise_index) {}
+                              crypto_config) {}
 
   std::unique_ptr<QuicSpdyClientStream> CreateClientStream() override {
     return std::make_unique<MockQuicSpdyClientStream>(
@@ -111,7 +110,7 @@
     session_ = std::make_unique<TestQuicSpdyClientSession>(
         DefaultQuicConfig(), SupportedVersions(GetParam()), connection_,
         QuicServerId(kServerHostname, kPort, false),
-        client_crypto_config_.get(), &push_promise_index_);
+        client_crypto_config_.get());
     session_->Initialize();
     connection_->SetEncrypter(
         ENCRYPTION_FORWARD_SECURE,
@@ -176,7 +175,7 @@
     session_ = std::make_unique<TestQuicSpdyClientSession>(
         DefaultQuicConfig(), SupportedVersions(GetParam()), connection_,
         QuicServerId(kServerHostname, kPort, false),
-        client_crypto_config_.get(), &push_promise_index_);
+        client_crypto_config_.get());
     session_->Initialize();
     crypto_stream_ = static_cast<QuicCryptoClientStream*>(
         session_->GetMutableCryptoStream());
@@ -202,7 +201,6 @@
   MockAlarmFactory alarm_factory_;
   ::testing::NiceMock<PacketSavingConnection>* connection_;
   std::unique_ptr<TestQuicSpdyClientSession> session_;
-  QuicClientPushPromiseIndex push_promise_index_;
   test::SimpleSessionCache* client_session_cache_;
 };
 
diff --git a/quiche/quic/core/http/quic_spdy_client_stream_test.cc b/quiche/quic/core/http/quic_spdy_client_stream_test.cc
index b91dab1..af875dc 100644
--- a/quiche/quic/core/http/quic_spdy_client_stream_test.cc
+++ b/quiche/quic/core/http/quic_spdy_client_stream_test.cc
@@ -34,12 +34,10 @@
  public:
   explicit MockQuicSpdyClientSession(
       const ParsedQuicVersionVector& supported_versions,
-      QuicConnection* connection,
-      QuicClientPushPromiseIndex* push_promise_index)
-      : QuicSpdyClientSession(DefaultQuicConfig(), supported_versions,
-                              connection,
-                              QuicServerId("example.com", 443, false),
-                              &crypto_config_, push_promise_index),
+      QuicConnection* connection)
+      : QuicSpdyClientSession(
+            DefaultQuicConfig(), supported_versions, connection,
+            QuicServerId("example.com", 443, false), &crypto_config_),
         crypto_config_(crypto_test_utils::ProofVerifierForTesting()) {}
   MockQuicSpdyClientSession(const MockQuicSpdyClientSession&) = delete;
   MockQuicSpdyClientSession& operator=(const MockQuicSpdyClientSession&) =
@@ -63,8 +61,7 @@
       : connection_(new StrictMock<MockQuicConnection>(
             &helper_, &alarm_factory_, Perspective::IS_CLIENT,
             SupportedVersions(GetParam()))),
-        session_(connection_->supported_versions(), connection_,
-                 &push_promise_index_),
+        session_(connection_->supported_versions(), connection_),
         body_("hello world") {
     session_.Initialize();
     connection_->AdvanceTime(QuicTime::Delta::FromSeconds(1));
@@ -94,7 +91,6 @@
   MockQuicConnectionHelper helper_;
   MockAlarmFactory alarm_factory_;
   StrictMock<MockQuicConnection>* connection_;
-  QuicClientPushPromiseIndex push_promise_index_;
 
   MockQuicSpdyClientSession session_;
   QuicSpdyClientStream* stream_;
diff --git a/quiche/quic/core/tls_chlo_extractor_test.cc b/quiche/quic/core/tls_chlo_extractor_test.cc
index 34fe798..3d3f83f 100644
--- a/quiche/quic/core/tls_chlo_extractor_test.cc
+++ b/quiche/quic/core/tls_chlo_extractor_test.cc
@@ -63,10 +63,9 @@
                                    Perspective::IS_CLIENT, supported_versions);
     // Advance the time, because timers do not like uninitialized times.
     client_connection->AdvanceTime(QuicTime::Delta::FromSeconds(1));
-    QuicClientPushPromiseIndex push_promise_index;
     QuicSpdyClientSession client_session(config_, supported_versions,
                                          client_connection, server_id_,
-                                         crypto_config, &push_promise_index);
+                                         crypto_config);
     client_session.Initialize();
 
     std::unique_ptr<QuicCryptoServerConfig> server_crypto_config =
diff --git a/quiche/quic/masque/masque_client.cc b/quiche/quic/masque/masque_client.cc
index b30597b..3d64ed4 100644
--- a/quiche/quic/masque/masque_client.cc
+++ b/quiche/quic/masque/masque_client.cc
@@ -31,7 +31,7 @@
                   << connection->connection_id();
   return std::make_unique<MasqueClientSession>(
       masque_mode_, uri_template_, *config(), supported_versions, connection,
-      server_id(), crypto_config(), push_promise_index(), this);
+      server_id(), crypto_config(), this);
 }
 
 MasqueClientSession* MasqueClient::masque_client_session() {
diff --git a/quiche/quic/masque/masque_client_session.cc b/quiche/quic/masque/masque_client_session.cc
index d023741..c55f98e 100644
--- a/quiche/quic/masque/masque_client_session.cc
+++ b/quiche/quic/masque/masque_client_session.cc
@@ -39,10 +39,9 @@
     MasqueMode masque_mode, const std::string& uri_template,
     const QuicConfig& config, const ParsedQuicVersionVector& supported_versions,
     QuicConnection* connection, const QuicServerId& server_id,
-    QuicCryptoClientConfig* crypto_config,
-    QuicClientPushPromiseIndex* push_promise_index, Owner* owner)
+    QuicCryptoClientConfig* crypto_config, Owner* owner)
     : QuicSpdyClientSession(config, supported_versions, connection, server_id,
-                            crypto_config, push_promise_index),
+                            crypto_config),
       masque_mode_(masque_mode),
       uri_template_(uri_template),
       owner_(owner) {}
diff --git a/quiche/quic/masque/masque_client_session.h b/quiche/quic/masque/masque_client_session.h
index 742ae41..9307f74 100644
--- a/quiche/quic/masque/masque_client_session.h
+++ b/quiche/quic/masque/masque_client_session.h
@@ -86,16 +86,14 @@
     virtual void CloseEthernetSession(const std::string& details) = 0;
   };
 
-  // Takes ownership of |connection|, but not of |crypto_config| or
-  // |push_promise_index| or |owner|. All pointers must be non-null. Caller
-  // must ensure that |push_promise_index| and |owner| stay valid for the
-  // lifetime of the newly created MasqueClientSession.
+  // Takes ownership of |connection|, but not of |crypto_config| or |owner|.
+  // All pointers must be non-null. Caller must ensure that |owner| stays valid
+  // for the lifetime of the newly created MasqueClientSession.
   MasqueClientSession(MasqueMode masque_mode, const std::string& uri_template,
                       const QuicConfig& config,
                       const ParsedQuicVersionVector& supported_versions,
                       QuicConnection* connection, const QuicServerId& server_id,
                       QuicCryptoClientConfig* crypto_config,
-                      QuicClientPushPromiseIndex* push_promise_index,
                       Owner* owner);
 
   // Disallow copy and assign.
diff --git a/quiche/quic/masque/masque_encapsulated_client.cc b/quiche/quic/masque/masque_encapsulated_client.cc
index f6bdc58..f24143e 100644
--- a/quiche/quic/masque/masque_encapsulated_client.cc
+++ b/quiche/quic/masque/masque_encapsulated_client.cc
@@ -253,7 +253,7 @@
                   << connection->connection_id();
   return std::make_unique<MasqueEncapsulatedClientSession>(
       *config(), supported_versions, connection, server_id(), crypto_config(),
-      push_promise_index(), masque_client_->masque_client_session());
+      masque_client_->masque_client_session());
 }
 
 MasqueEncapsulatedClientSession*
diff --git a/quiche/quic/masque/masque_encapsulated_client_session.cc b/quiche/quic/masque/masque_encapsulated_client_session.cc
index d9e77ba..05e132a 100644
--- a/quiche/quic/masque/masque_encapsulated_client_session.cc
+++ b/quiche/quic/masque/masque_encapsulated_client_session.cc
@@ -18,10 +18,9 @@
     const QuicConfig& config, const ParsedQuicVersionVector& supported_versions,
     QuicConnection* connection, const QuicServerId& server_id,
     QuicCryptoClientConfig* crypto_config,
-    QuicClientPushPromiseIndex* push_promise_index,
     MasqueClientSession* masque_client_session)
     : QuicSpdyClientSession(config, supported_versions, connection, server_id,
-                            crypto_config, push_promise_index),
+                            crypto_config),
       masque_client_session_(masque_client_session) {}
 
 void MasqueEncapsulatedClientSession::ProcessPacket(
diff --git a/quiche/quic/masque/masque_encapsulated_client_session.h b/quiche/quic/masque/masque_encapsulated_client_session.h
index 323c16d..fe753cd 100644
--- a/quiche/quic/masque/masque_encapsulated_client_session.h
+++ b/quiche/quic/masque/masque_encapsulated_client_session.h
@@ -23,16 +23,14 @@
       public MasqueClientSession::EncapsulatedIpSession {
  public:
   // Takes ownership of |connection|, but not of |crypto_config| or
-  // |push_promise_index| or |masque_client_session|. All pointers must be
-  // non-null. Caller must ensure that |push_promise_index| and
-  // |masque_client_session| stay valid for the lifetime of the newly created
-  // MasqueEncapsulatedClientSession.
+  // |masque_client_session|. All pointers must be non-null. Caller must ensure
+  // that |masque_client_session| stays valid for the lifetime of the newly
+  // created MasqueEncapsulatedClientSession.
   MasqueEncapsulatedClientSession(
       const QuicConfig& config,
       const ParsedQuicVersionVector& supported_versions,
       QuicConnection* connection, const QuicServerId& server_id,
       QuicCryptoClientConfig* crypto_config,
-      QuicClientPushPromiseIndex* push_promise_index,
       MasqueClientSession* masque_client_session);
 
   // Disallow copy and assign.
diff --git a/quiche/quic/test_tools/first_flight.cc b/quiche/quic/test_tools/first_flight.cc
index a0b93fb..3214c56 100644
--- a/quiche/quic/test_tools/first_flight.cc
+++ b/quiche/quic/test_tools/first_flight.cc
@@ -8,7 +8,6 @@
 #include <vector>
 
 #include "quiche/quic/core/crypto/quic_crypto_client_config.h"
-#include "quiche/quic/core/http/quic_client_push_promise_index.h"
 #include "quiche/quic/core/http/quic_spdy_client_session.h"
 #include "quiche/quic/core/quic_config.h"
 #include "quiche/quic/core/quic_connection.h"
@@ -67,7 +66,7 @@
     session_ = std::make_unique<QuicSpdyClientSession>(
         config_, ParsedQuicVersionVector{version_},
         connection_,  // session_ takes ownership of connection_ here.
-        TestServerId(), crypto_config_.get(), &push_promise_index_);
+        TestServerId(), crypto_config_.get());
     session_->Initialize();
     session_->CryptoConnect();
   }
@@ -106,7 +105,6 @@
   DelegatedPacketWriter writer_;
   QuicConfig config_;
   std::unique_ptr<QuicCryptoClientConfig> crypto_config_;
-  QuicClientPushPromiseIndex push_promise_index_;
   QuicConnection* connection_;  // Owned by session_.
   std::unique_ptr<QuicSpdyClientSession> session_;
   std::vector<std::unique_ptr<QuicReceivedPacket>> packets_;
diff --git a/quiche/quic/test_tools/quic_test_utils.cc b/quiche/quic/test_tools/quic_test_utils.cc
index 52bd115..abc0747 100644
--- a/quiche/quic/test_tools/quic_test_utils.cc
+++ b/quiche/quic/test_tools/quic_test_utils.cc
@@ -743,8 +743,8 @@
     const ParsedQuicVersionVector& supported_versions,
     const QuicServerId& server_id, QuicCryptoClientConfig* crypto_config,
     absl::optional<QuicSSLConfig> ssl_config)
-    : QuicSpdyClientSessionBase(connection, nullptr, &push_promise_index_,
-                                config, supported_versions),
+    : QuicSpdyClientSessionBase(connection, nullptr, config,
+                                supported_versions),
       ssl_config_(std::move(ssl_config)) {
   // TODO(b/153726130): Consider adding SetServerApplicationStateForResumption
   // calls in tests and set |has_application_state| to true.
diff --git a/quiche/quic/test_tools/quic_test_utils.h b/quiche/quic/test_tools/quic_test_utils.h
index 20567e3..9d30046 100644
--- a/quiche/quic/test_tools/quic_test_utils.h
+++ b/quiche/quic/test_tools/quic_test_utils.h
@@ -21,8 +21,8 @@
 #include "quiche/quic/core/congestion_control/send_algorithm_interface.h"
 #include "quiche/quic/core/crypto/transport_parameters.h"
 #include "quiche/quic/core/http/http_decoder.h"
-#include "quiche/quic/core/http/quic_client_push_promise_index.h"
 #include "quiche/quic/core/http/quic_server_session_base.h"
+#include "quiche/quic/core/http/quic_spdy_client_session_base.h"
 #include "quiche/quic/core/http/quic_spdy_session.h"
 #include "quiche/quic/core/quic_connection.h"
 #include "quiche/quic/core/quic_connection_id.h"
@@ -1146,7 +1146,6 @@
   void RealOnConfigNegotiated();
 
   std::unique_ptr<QuicCryptoClientStream> crypto_stream_;
-  QuicClientPushPromiseIndex push_promise_index_;
   std::vector<CryptoHandshakeMessage> sent_crypto_handshake_messages_;
   absl::optional<QuicSSLConfig> ssl_config_;
 };
diff --git a/quiche/quic/tools/quic_client_base.h b/quiche/quic/tools/quic_client_base.h
index 8e73acc..955f83a 100644
--- a/quiche/quic/tools/quic_client_base.h
+++ b/quiche/quic/tools/quic_client_base.h
@@ -15,7 +15,6 @@
 #include "absl/strings/string_view.h"
 #include "quiche/quic/core/crypto/crypto_handshake.h"
 #include "quiche/quic/core/deterministic_connection_id_generator.h"
-#include "quiche/quic/core/http/quic_client_push_promise_index.h"
 #include "quiche/quic/core/http/quic_spdy_client_session.h"
 #include "quiche/quic/core/http/quic_spdy_client_stream.h"
 #include "quiche/quic/core/quic_config.h"
diff --git a/quiche/quic/tools/quic_default_client.cc b/quiche/quic/tools/quic_default_client.cc
index 6a15fa9..d6b40f2 100644
--- a/quiche/quic/tools/quic_default_client.cc
+++ b/quiche/quic/tools/quic_default_client.cc
@@ -87,7 +87,7 @@
     QuicConnection* connection) {
   return std::make_unique<QuicSimpleClientSession>(
       *config(), supported_versions, connection, this, network_helper(),
-      server_id(), crypto_config(), push_promise_index(), drop_response_body(),
+      server_id(), crypto_config(), drop_response_body(),
       enable_web_transport());
 }
 
diff --git a/quiche/quic/tools/quic_simple_client_session.cc b/quiche/quic/tools/quic_simple_client_session.cc
index 4bb27ae..da6400d 100644
--- a/quiche/quic/tools/quic_simple_client_session.cc
+++ b/quiche/quic/tools/quic_simple_client_session.cc
@@ -15,22 +15,20 @@
     const QuicConfig& config, const ParsedQuicVersionVector& supported_versions,
     QuicConnection* connection, QuicClientBase::NetworkHelper* network_helper,
     const QuicServerId& server_id, QuicCryptoClientConfig* crypto_config,
-    QuicClientPushPromiseIndex* push_promise_index, bool drop_response_body,
-    bool enable_web_transport)
+    bool drop_response_body, bool enable_web_transport)
     : QuicSimpleClientSession(config, supported_versions, connection,
                               /*visitor=*/nullptr, network_helper, server_id,
-                              crypto_config, push_promise_index,
-                              drop_response_body, enable_web_transport) {}
+                              crypto_config, drop_response_body,
+                              enable_web_transport) {}
 
 QuicSimpleClientSession::QuicSimpleClientSession(
     const QuicConfig& config, const ParsedQuicVersionVector& supported_versions,
     QuicConnection* connection, QuicSession::Visitor* visitor,
     QuicClientBase::NetworkHelper* network_helper,
     const QuicServerId& server_id, QuicCryptoClientConfig* crypto_config,
-    QuicClientPushPromiseIndex* push_promise_index, bool drop_response_body,
-    bool enable_web_transport)
+    bool drop_response_body, bool enable_web_transport)
     : QuicSpdyClientSession(config, supported_versions, connection, visitor,
-                            server_id, crypto_config, push_promise_index),
+                            server_id, crypto_config),
       network_helper_(network_helper),
       drop_response_body_(drop_response_body),
       enable_web_transport_(enable_web_transport) {}
diff --git a/quiche/quic/tools/quic_simple_client_session.h b/quiche/quic/tools/quic_simple_client_session.h
index 4850647..424051c 100644
--- a/quiche/quic/tools/quic_simple_client_session.h
+++ b/quiche/quic/tools/quic_simple_client_session.h
@@ -24,7 +24,6 @@
                           QuicClientBase::NetworkHelper* network_helper,
                           const QuicServerId& server_id,
                           QuicCryptoClientConfig* crypto_config,
-                          QuicClientPushPromiseIndex* push_promise_index,
                           bool drop_response_body, bool enable_web_transport);
 
   QuicSimpleClientSession(const QuicConfig& config,
@@ -34,7 +33,6 @@
                           QuicClientBase::NetworkHelper* network_helper,
                           const QuicServerId& server_id,
                           QuicCryptoClientConfig* crypto_config,
-                          QuicClientPushPromiseIndex* push_promise_index,
                           bool drop_response_body, bool enable_web_transport);
 
   std::unique_ptr<QuicSpdyClientStream> CreateClientStream() override;
diff --git a/quiche/quic/tools/quic_spdy_client_base.cc b/quiche/quic/tools/quic_spdy_client_base.cc
index e8d86ab..7335617 100644
--- a/quiche/quic/tools/quic_spdy_client_base.cc
+++ b/quiche/quic/tools/quic_spdy_client_base.cc
@@ -105,8 +105,7 @@
     const quic::ParsedQuicVersionVector& supported_versions,
     QuicConnection* connection) {
   return std::make_unique<QuicSpdyClientSession>(
-      *config(), supported_versions, connection, server_id(), crypto_config(),
-      &push_promise_index_);
+      *config(), supported_versions, connection, server_id(), crypto_config());
 }
 
 void QuicSpdyClientBase::SendRequest(const Http2HeaderBlock& headers,
diff --git a/quiche/quic/tools/quic_spdy_client_base.h b/quiche/quic/tools/quic_spdy_client_base.h
index cd5b37f..7fff7e1 100644
--- a/quiche/quic/tools/quic_spdy_client_base.h
+++ b/quiche/quic/tools/quic_spdy_client_base.h
@@ -12,7 +12,6 @@
 
 #include "absl/strings/string_view.h"
 #include "quiche/quic/core/crypto/crypto_handshake.h"
-#include "quiche/quic/core/http/quic_client_push_promise_index.h"
 #include "quiche/quic/core/http/quic_spdy_client_session.h"
 #include "quiche/quic/core/http/quic_spdy_client_stream.h"
 #include "quiche/quic/core/quic_config.h"
@@ -102,10 +101,6 @@
   QuicSpdyClientSession* client_session();
   const QuicSpdyClientSession* client_session() const;
 
-  QuicClientPushPromiseIndex* push_promise_index() {
-    return &push_promise_index_;
-  }
-
   // If the crypto handshake has not yet been confirmed, adds the data to the
   // queue of data to resend if the client receives a stateless reject.
   // Otherwise, deletes the data.
@@ -196,9 +191,6 @@
   void SendRequestInternal(spdy::Http2HeaderBlock sanitized_headers,
                            absl::string_view body, bool fin);
 
-  // Index of pending promised streams. Must outlive |session_|.
-  QuicClientPushPromiseIndex push_promise_index_;
-
   // If true, store the latest response code, headers, and body.
   bool store_response_;
   // HTTP response code from most recent response.