diff --git a/quiche/quic/core/http/quic_spdy_stream.cc b/quiche/quic/core/http/quic_spdy_stream.cc
index e27a23a..2584a39 100644
--- a/quiche/quic/core/http/quic_spdy_stream.cc
+++ b/quiche/quic/core/http/quic_spdy_stream.cc
@@ -659,6 +659,14 @@
                                    "Promise headers received by server");
 }
 
+bool QuicSpdyStream::CopyAndValidateTrailers(const QuicHeaderList& header_list,
+                                             bool expect_final_byte_offset,
+                                             size_t* final_byte_offset,
+                                             spdy::Http2HeaderBlock* trailers) {
+  return SpdyUtils::CopyAndValidateTrailers(
+      header_list, expect_final_byte_offset, final_byte_offset, trailers);
+}
+
 void QuicSpdyStream::OnTrailingHeadersComplete(
     bool fin, size_t /*frame_len*/, const QuicHeaderList& header_list) {
   // TODO(b/134706391): remove |fin| argument.
@@ -681,9 +689,8 @@
 
   size_t final_byte_offset = 0;
   const bool expect_final_byte_offset = !VersionUsesHttp3(transport_version());
-  if (!SpdyUtils::CopyAndValidateTrailers(header_list, expect_final_byte_offset,
-                                          &final_byte_offset,
-                                          &received_trailers_)) {
+  if (!CopyAndValidateTrailers(header_list, expect_final_byte_offset,
+                               &final_byte_offset, &received_trailers_)) {
     QUIC_DLOG(ERROR) << ENDPOINT << "Trailers for stream " << id()
                      << " are malformed.";
     stream_delegate()->OnStreamError(QUIC_INVALID_HEADERS_STREAM_DATA,
diff --git a/quiche/quic/core/http/quic_spdy_stream.h b/quiche/quic/core/http/quic_spdy_stream.h
index 5ba4400..a4ca50e 100644
--- a/quiche/quic/core/http/quic_spdy_stream.h
+++ b/quiche/quic/core/http/quic_spdy_stream.h
@@ -335,6 +335,11 @@
       quiche::QuicheReferenceCountedPointer<QuicAckListenerInterface>
           ack_listener);
 
+  virtual bool CopyAndValidateTrailers(const QuicHeaderList& header_list,
+                                       bool expect_final_byte_offset,
+                                       size_t* final_byte_offset,
+                                       spdy::Http2HeaderBlock* trailers);
+
   Visitor* visitor() { return visitor_; }
 
   void set_headers_decompressed(bool val) { headers_decompressed_ = val; }
