Update ProofVerifier implementations to use new type

quic::ProofVerifier::VerifyCertChain is changing the type of one of its
arguments. This change updates ProofVerifier implementations to
implement the new function instead of the old function.
PiperOrigin-RevId: 924980778
diff --git a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
index b862606..5cbce24 100644
--- a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
+++ b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
@@ -138,10 +138,10 @@
 
 QuicAsyncStatus WebTransportFingerprintProofVerifier::VerifyCertChain(
     const std::string& /*hostname*/, const uint16_t /*port*/,
-    const std::vector<std::string>& certs, const std::string& /*ocsp_response*/,
-    const std::string& /*cert_sct*/, const ProofVerifyContext* /*context*/,
-    std::string* error_details, std::unique_ptr<ProofVerifyDetails>* details,
-    uint8_t* /*out_alert*/,
+    const std::vector<absl::string_view>& certs,
+    const std::string& /*ocsp_response*/, const std::string& /*cert_sct*/,
+    const ProofVerifyContext* /*context*/, std::string* error_details,
+    std::unique_ptr<ProofVerifyDetails>* details, uint8_t* /*out_alert*/,
     std::unique_ptr<ProofVerifierCallback> /*callback*/) {
   if (certs.empty()) {
     *details = std::make_unique<Details>(Status::kInternalError);
diff --git a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.h b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.h
index 1fa5928..dde1e73 100644
--- a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.h
+++ b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.h
@@ -114,10 +114,10 @@
       std::unique_ptr<ProofVerifierCallback> callback) override;
   QuicAsyncStatus VerifyCertChain(
       const std::string& hostname, const uint16_t port,
-      const std::vector<std::string>& certs, const std::string& ocsp_response,
-      const std::string& cert_sct, const ProofVerifyContext* context,
-      std::string* error_details, std::unique_ptr<ProofVerifyDetails>* details,
-      uint8_t* out_alert,
+      const std::vector<absl::string_view>& certs,
+      const std::string& ocsp_response, const std::string& cert_sct,
+      const ProofVerifyContext* context, std::string* error_details,
+      std::unique_ptr<ProofVerifyDetails>* details, uint8_t* out_alert,
       std::unique_ptr<ProofVerifierCallback> callback) override;
   std::unique_ptr<ProofVerifyContext> CreateDefaultContext() override;
 
diff --git a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc
index 49d5cf6..1ae5df9 100644
--- a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc
+++ b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc
@@ -51,8 +51,7 @@
     std::unique_ptr<ProofVerifyDetails> details;
     uint8_t tls_alert;
     result.status = verifier_->VerifyCertChain(
-        /*hostname=*/"", /*port=*/0,
-        std::vector<std::string>{std::string(certificate)},
+        /*hostname=*/"", /*port=*/0, {certificate},
         /*ocsp_response=*/"",
         /*cert_sct=*/"",
         /*context=*/nullptr, &result.error, &details, &tls_alert,
diff --git a/quiche/quic/core/quic_crypto_client_handshaker_test.cc b/quiche/quic/core/quic_crypto_client_handshaker_test.cc
index 40f40d4..b8af74d 100644
--- a/quiche/quic/core/quic_crypto_client_handshaker_test.cc
+++ b/quiche/quic/core/quic_crypto_client_handshaker_test.cc
@@ -51,7 +51,7 @@
 
   QuicAsyncStatus VerifyCertChain(
       const std::string& /*hostname*/, const uint16_t /*port*/,
-      const std::vector<std::string>& /*certs*/,
+      const std::vector<absl::string_view>& /*certs*/,
       const std::string& /*ocsp_response*/, const std::string& /*cert_sct*/,
       const ProofVerifyContext* /*context*/, std::string* /*error_details*/,
       std::unique_ptr<ProofVerifyDetails>* /*details*/, uint8_t* /*out_alert*/,
diff --git a/quiche/quic/qbone/qbone_session_test.cc b/quiche/quic/qbone/qbone_session_test.cc
index 6edeb00..de97a2b 100644
--- a/quiche/quic/qbone/qbone_session_test.cc
+++ b/quiche/quic/qbone/qbone_session_test.cc
@@ -157,10 +157,10 @@
 
   QuicAsyncStatus VerifyCertChain(
       const std::string& hostname, const uint16_t port,
-      const std::vector<std::string>& certs, const std::string& ocsp_response,
-      const std::string& cert_sct, const ProofVerifyContext* context,
-      std::string* error_details, std::unique_ptr<ProofVerifyDetails>* details,
-      uint8_t* out_alert,
+      const std::vector<absl::string_view>& certs,
+      const std::string& ocsp_response, const std::string& cert_sct,
+      const ProofVerifyContext* context, std::string* error_details,
+      std::unique_ptr<ProofVerifyDetails>* details, uint8_t* out_alert,
       std::unique_ptr<ProofVerifierCallback> callback) override {
     if (!proof_verifier_) {
       return QUIC_FAILURE;
diff --git a/quiche/quic/test_tools/crypto_test_utils.cc b/quiche/quic/test_tools/crypto_test_utils.cc
index 1956dcf..b7e7e85 100644
--- a/quiche/quic/test_tools/crypto_test_utils.cc
+++ b/quiche/quic/test_tools/crypto_test_utils.cc
@@ -951,14 +951,16 @@
     }
 
     uint8_t out_alert;
-    return VerifyCertChain(hostname, port, certs, /*ocsp_response=*/"",
-                           cert_sct, context, error_details, details,
-                           &out_alert, std::move(callback));
+    return VerifyCertChain(
+        hostname, port,
+        std::vector<absl::string_view>(certs.begin(), certs.end()),
+        /*ocsp_response=*/"", cert_sct, context, error_details, details,
+        &out_alert, std::move(callback));
   }
 
   QuicAsyncStatus VerifyCertChain(
       const std::string& hostname, const uint16_t /*port*/,
-      const std::vector<std::string>& certs,
+      const std::vector<absl::string_view>& certs,
       const std::string& /*ocsp_response*/, const std::string& /*cert_sct*/,
       const ProofVerifyContext* /*context*/, std::string* error_details,
       std::unique_ptr<ProofVerifyDetails>* details, uint8_t* /*out_alert*/,
diff --git a/quiche/quic/test_tools/quic_test_client.cc b/quiche/quic/test_tools/quic_test_client.cc
index feb51b1..5797a21 100644
--- a/quiche/quic/test_tools/quic_test_client.cc
+++ b/quiche/quic/test_tools/quic_test_client.cc
@@ -56,7 +56,8 @@
       const ProofVerifyContext* context, std::string* error_details,
       std::unique_ptr<ProofVerifyDetails>* details,
       std::unique_ptr<ProofVerifierCallback> callback) override {
-    QuicAsyncStatus status = ProcessCerts(certs, cert_sct);
+    QuicAsyncStatus status = ProcessCerts(
+        std::vector<absl::string_view>(certs.begin(), certs.end()), cert_sct);
     if (verifier_ == nullptr) {
       return status;
     }
@@ -68,10 +69,10 @@
 
   QuicAsyncStatus VerifyCertChain(
       const std::string& hostname, const uint16_t port,
-      const std::vector<std::string>& certs, const std::string& ocsp_response,
-      const std::string& cert_sct, const ProofVerifyContext* context,
-      std::string* error_details, std::unique_ptr<ProofVerifyDetails>* details,
-      uint8_t* out_alert,
+      const std::vector<absl::string_view>& certs,
+      const std::string& ocsp_response, const std::string& cert_sct,
+      const ProofVerifyContext* context, std::string* error_details,
+      std::unique_ptr<ProofVerifyDetails>* details, uint8_t* out_alert,
       std::unique_ptr<ProofVerifierCallback> callback) override {
     // Record the cert.
     QuicAsyncStatus status = ProcessCerts(certs, cert_sct);
@@ -92,7 +93,7 @@
   const std::string& cert_sct() const { return cert_sct_; }
 
  private:
-  QuicAsyncStatus ProcessCerts(const std::vector<std::string>& certs,
+  QuicAsyncStatus ProcessCerts(const std::vector<absl::string_view>& certs,
                                const std::string& cert_sct) {
     common_name_.clear();
     if (certs.empty()) {
diff --git a/quiche/quic/tools/fake_proof_verifier.h b/quiche/quic/tools/fake_proof_verifier.h
index 9350fc6..fdb8f82 100644
--- a/quiche/quic/tools/fake_proof_verifier.h
+++ b/quiche/quic/tools/fake_proof_verifier.h
@@ -27,7 +27,7 @@
   }
   QuicAsyncStatus VerifyCertChain(
       const std::string& /*hostname*/, const uint16_t /*port*/,
-      const std::vector<std::string>& /*certs*/,
+      const std::vector<absl::string_view>& /*certs*/,
       const std::string& /*ocsp_response*/, const std::string& /*cert_sct*/,
       const ProofVerifyContext* /*context*/, std::string* /*error_details*/,
       std::unique_ptr<ProofVerifyDetails>* /*details*/, uint8_t* /*out_alert*/,