Remove QuicClientPushPromiseIndex::Delegate.

PiperOrigin-RevId: 571097354
diff --git a/quiche/quic/core/http/quic_client_push_promise_index.h b/quiche/quic/core/http/quic_client_push_promise_index.h
index 740c1a5..901e134 100644
--- a/quiche/quic/core/http/quic_client_push_promise_index.h
+++ b/quiche/quic/core/http/quic_client_push_promise_index.h
@@ -13,34 +13,7 @@
 namespace quic {
 
 // TODO(b/171463363): Remove.
-class QUICHE_EXPORT QuicClientPushPromiseIndex {
- public:
-  // Delegate is used to complete the rendezvous that began with
-  // |Try()|.
-  class QUICHE_EXPORT Delegate {
-   public:
-    virtual ~Delegate() {}
-
-    // The primary lookup matched request with push promise by URL.  A
-    // secondary match is necessary to ensure Vary (RFC 2616, 14.14)
-    // is honored.  If Vary is not present, return true.  If Vary is
-    // present, return whether designated header fields of
-    // |promise_request| and |client_request| match.
-    virtual bool CheckVary(const spdy::Http2HeaderBlock& client_request,
-                           const spdy::Http2HeaderBlock& promise_request,
-                           const spdy::Http2HeaderBlock& promise_response) = 0;
-
-    // On rendezvous success, provides the promised |stream|.  Callee
-    // does not inherit ownership of |stream|.  On rendezvous failure,
-    // |stream| is |nullptr| and the client should retry the request.
-    // Rendezvous can fail due to promise validation failure or RST on
-    // promised stream.  |url| will have been removed from the index
-    // before |OnRendezvousResult()| is invoked, so a recursive call to
-    // |Try()| will return |QUIC_FAILURE|, which may be convenient for
-    // retry purposes.
-    virtual void OnRendezvousResult(QuicSpdyStream* stream) = 0;
-  };
-};
+class QUICHE_EXPORT QuicClientPushPromiseIndex {};
 
 }  // namespace quic
 
diff --git a/quiche/quic/test_tools/quic_test_client.cc b/quiche/quic/test_tools/quic_test_client.cc
index 7b1b594..eed82a1 100644
--- a/quiche/quic/test_tools/quic_test_client.cc
+++ b/quiche/quic/test_tools/quic_test_client.cc
@@ -730,24 +730,6 @@
   open_streams_.erase(id);
 }
 
-bool QuicTestClient::CheckVary(
-    const spdy::Http2HeaderBlock& /*client_request*/,
-    const spdy::Http2HeaderBlock& /*promise_request*/,
-    const spdy::Http2HeaderBlock& /*promise_response*/) {
-  return true;
-}
-
-void QuicTestClient::OnRendezvousResult(QuicSpdyStream* stream) {
-  std::unique_ptr<TestClientDataToResend> data_to_resend =
-      std::move(push_promise_data_to_resend_);
-  SetLatestCreatedStream(static_cast<QuicSpdyClientStream*>(stream));
-  if (stream) {
-    stream->OnBodyAvailable();
-  } else if (data_to_resend) {
-    data_to_resend->Resend();
-  }
-}
-
 void QuicTestClient::UseWriter(QuicPacketWriterWrapper* writer) {
   client_->UseWriter(writer);
 }
diff --git a/quiche/quic/test_tools/quic_test_client.h b/quiche/quic/test_tools/quic_test_client.h
index db595f4..ae024ab 100644
--- a/quiche/quic/test_tools/quic_test_client.h
+++ b/quiche/quic/test_tools/quic_test_client.h
@@ -85,8 +85,7 @@
 };
 
 // A toy QUIC client used for testing.
-class QuicTestClient : public QuicSpdyStream::Visitor,
-                       public QuicClientPushPromiseIndex::Delegate {
+class QuicTestClient : public QuicSpdyStream::Visitor {
  public:
   QuicTestClient(QuicSocketAddress server_address,
                  const std::string& server_hostname,
@@ -239,12 +238,6 @@
   // From QuicSpdyStream::Visitor
   void OnClose(QuicSpdyStream* stream) override;
 
-  // From QuicClientPushPromiseIndex::Delegate
-  bool CheckVary(const spdy::Http2HeaderBlock& client_request,
-                 const spdy::Http2HeaderBlock& promise_request,
-                 const spdy::Http2HeaderBlock& promise_response) override;
-  void OnRendezvousResult(QuicSpdyStream*) override;
-
   // Configures client_ to take ownership of and use the writer.
   // Must be called before initial connect.
   void UseWriter(QuicPacketWriterWrapper* writer);
diff --git a/quiche/quic/test_tools/quic_test_utils.cc b/quiche/quic/test_tools/quic_test_utils.cc
index ecc08ac..c79537d 100644
--- a/quiche/quic/test_tools/quic_test_utils.cc
+++ b/quiche/quic/test_tools/quic_test_utils.cc
@@ -777,22 +777,6 @@
   QuicSpdyClientSessionBase::OnConfigNegotiated();
 }
 
-TestPushPromiseDelegate::TestPushPromiseDelegate(bool match)
-    : match_(match), rendezvous_fired_(false), rendezvous_stream_(nullptr) {}
-
-bool TestPushPromiseDelegate::CheckVary(
-    const spdy::Http2HeaderBlock& /*client_request*/,
-    const spdy::Http2HeaderBlock& /*promise_request*/,
-    const spdy::Http2HeaderBlock& /*promise_response*/) {
-  QUIC_DVLOG(1) << "match " << match_;
-  return match_;
-}
-
-void TestPushPromiseDelegate::OnRendezvousResult(QuicSpdyStream* stream) {
-  rendezvous_fired_ = true;
-  rendezvous_stream_ = stream;
-}
-
 MockPacketWriter::MockPacketWriter() {
   ON_CALL(*this, GetMaxPacketSize(_))
       .WillByDefault(testing::Return(kMaxOutgoingPacketSize));
diff --git a/quiche/quic/test_tools/quic_test_utils.h b/quiche/quic/test_tools/quic_test_utils.h
index 883bdda..5fd0df1 100644
--- a/quiche/quic/test_tools/quic_test_utils.h
+++ b/quiche/quic/test_tools/quic_test_utils.h
@@ -1084,28 +1084,6 @@
   absl::optional<ClientCertMode> client_cert_mode_;
 };
 
-// A test implementation of QuicClientPushPromiseIndex::Delegate.
-class TestPushPromiseDelegate : public QuicClientPushPromiseIndex::Delegate {
- public:
-  // |match| sets the validation result for checking whether designated header
-  // fields match for promise request and client request.
-  explicit TestPushPromiseDelegate(bool match);
-
-  bool CheckVary(const spdy::Http2HeaderBlock& client_request,
-                 const spdy::Http2HeaderBlock& promise_request,
-                 const spdy::Http2HeaderBlock& promise_response) override;
-
-  void OnRendezvousResult(QuicSpdyStream* stream) override;
-
-  QuicSpdyStream* rendezvous_stream() { return rendezvous_stream_; }
-  bool rendezvous_fired() { return rendezvous_fired_; }
-
- private:
-  bool match_;
-  bool rendezvous_fired_;
-  QuicSpdyStream* rendezvous_stream_;
-};
-
 class TestQuicSpdyClientSession : public QuicSpdyClientSessionBase {
  public:
   TestQuicSpdyClientSession(
diff --git a/quiche/quic/tools/quic_spdy_client_base.cc b/quiche/quic/tools/quic_spdy_client_base.cc
index 694930e..e8d86ab 100644
--- a/quiche/quic/tools/quic_spdy_client_base.cc
+++ b/quiche/quic/tools/quic_spdy_client_base.cc
@@ -226,24 +226,6 @@
       new ClientQuicDataToResend(std::move(new_headers), body, fin, this));
 }
 
-bool QuicSpdyClientBase::CheckVary(
-    const Http2HeaderBlock& /*client_request*/,
-    const Http2HeaderBlock& /*promise_request*/,
-    const Http2HeaderBlock& /*promise_response*/) {
-  return true;
-}
-
-void QuicSpdyClientBase::OnRendezvousResult(QuicSpdyStream* stream) {
-  std::unique_ptr<ClientQuicDataToResend> data_to_resend =
-      std::move(push_promise_data_to_resend_);
-  if (stream) {
-    stream->set_visitor(this);
-    stream->OnBodyAvailable();
-  } else if (data_to_resend) {
-    data_to_resend->Resend();
-  }
-}
-
 int QuicSpdyClientBase::latest_response_code() const {
   QUIC_BUG_IF(quic_bug_10949_3, !store_response_) << "Response not stored!";
   return latest_response_code_;
diff --git a/quiche/quic/tools/quic_spdy_client_base.h b/quiche/quic/tools/quic_spdy_client_base.h
index 745c215..cd5b37f 100644
--- a/quiche/quic/tools/quic_spdy_client_base.h
+++ b/quiche/quic/tools/quic_spdy_client_base.h
@@ -27,7 +27,6 @@
 class SessionCache;
 
 class QuicSpdyClientBase : public QuicClientBase,
-                           public QuicClientPushPromiseIndex::Delegate,
                            public QuicSpdyStream::Visitor {
  public:
   // A ResponseListener is notified when a complete response is received.
@@ -107,11 +106,6 @@
     return &push_promise_index_;
   }
 
-  bool CheckVary(const spdy::Http2HeaderBlock& client_request,
-                 const spdy::Http2HeaderBlock& promise_request,
-                 const spdy::Http2HeaderBlock& promise_response) override;
-  void OnRendezvousResult(QuicSpdyStream*) override;
-
   // 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.