Remove the header argument from WebTransport OnSessionReady callback

We in general should avoid using headers for communicating application-related payload, since those are intentionally not exposed in the browser.

Even if we do want to support headers, OnSessionReady() is not a good place for those, since headers may become available at a different time than the OnSessionReady() call.

PiperOrigin-RevId: 532572942
diff --git a/quiche/quic/core/http/web_transport_http3.cc b/quiche/quic/core/http/web_transport_http3.cc
index f1c922b..6388e4c 100644
--- a/quiche/quic/core/http/web_transport_http3.cc
+++ b/quiche/quic/core/http/web_transport_http3.cc
@@ -30,7 +30,7 @@
 
 namespace {
 class QUIC_NO_EXPORT NoopWebTransportVisitor : public WebTransportVisitor {
-  void OnSessionReady(const spdy::Http2HeaderBlock&) override {}
+  void OnSessionReady() override {}
   void OnSessionClosed(WebTransportSessionError /*error_code*/,
                        const std::string& /*error_message*/) override {}
   void OnIncomingBidirectionalStreamAvailable() override {}
@@ -205,7 +205,7 @@
 
   QUIC_DVLOG(1) << ENDPOINT << "WebTransport session " << id_ << " ready.";
   ready_ = true;
-  visitor_->OnSessionReady(headers);
+  visitor_->OnSessionReady();
   session_->ProcessBufferedWebTransportStreamsForSession(this);
 }
 
diff --git a/quiche/quic/test_tools/quic_test_backend.cc b/quiche/quic/test_tools/quic_test_backend.cc
index 983db8e..be8068b 100644
--- a/quiche/quic/test_tools/quic_test_backend.cc
+++ b/quiche/quic/test_tools/quic_test_backend.cc
@@ -28,7 +28,7 @@
  public:
   SessionCloseVisitor(WebTransportSession* session) : session_(session) {}
 
-  void OnSessionReady(const spdy::Http2HeaderBlock& /*headers*/) override {}
+  void OnSessionReady() override {}
   void OnSessionClosed(WebTransportSessionError /*error_code*/,
                        const std::string& /*error_message*/) override {}
 
diff --git a/quiche/quic/test_tools/web_transport_resets_backend.cc b/quiche/quic/test_tools/web_transport_resets_backend.cc
index 63bb842..e77a9f4 100644
--- a/quiche/quic/test_tools/web_transport_resets_backend.cc
+++ b/quiche/quic/test_tools/web_transport_resets_backend.cc
@@ -36,7 +36,7 @@
  public:
   ResetsVisitor(WebTransportSession* session) : session_(session) {}
 
-  void OnSessionReady(const spdy::Http2HeaderBlock& /*headers*/) override {}
+  void OnSessionReady() override {}
   void OnSessionClosed(WebTransportSessionError /*error_code*/,
                        const std::string& /*error_message*/) override {}
 
diff --git a/quiche/quic/test_tools/web_transport_test_tools.h b/quiche/quic/test_tools/web_transport_test_tools.h
index 353b48f..60d21aa 100644
--- a/quiche/quic/test_tools/web_transport_test_tools.h
+++ b/quiche/quic/test_tools/web_transport_test_tools.h
@@ -5,39 +5,13 @@
 #ifndef QUICHE_QUIC_TEST_TOOLS_WEB_TRANSPORT_TEST_TOOLS_H_
 #define QUICHE_QUIC_TEST_TOOLS_WEB_TRANSPORT_TEST_TOOLS_H_
 
-#include "quiche/quic/core/web_transport_interface.h"
-#include "quiche/quic/platform/api/quic_test.h"
-#include "quiche/spdy/core/http2_header_block.h"
+#include "quiche/web_transport/test_tools/mock_web_transport.h"
 
-namespace quic {
-namespace test {
+namespace quic::test {
 
-class MockWebTransportSessionVisitor : public WebTransportVisitor {
- public:
-  MOCK_METHOD(void, OnSessionReady, (const spdy::Http2HeaderBlock&),
-              (override));
-  MOCK_METHOD(void, OnSessionClosed,
-              (WebTransportSessionError, const std::string&), (override));
-  MOCK_METHOD(void, OnIncomingBidirectionalStreamAvailable, (), (override));
-  MOCK_METHOD(void, OnIncomingUnidirectionalStreamAvailable, (), (override));
-  MOCK_METHOD(void, OnDatagramReceived, (absl::string_view), (override));
-  MOCK_METHOD(void, OnCanCreateNewOutgoingBidirectionalStream, (), (override));
-  MOCK_METHOD(void, OnCanCreateNewOutgoingUnidirectionalStream, (), (override));
-};
+using MockWebTransportSessionVisitor = ::webtransport::test::MockSessionVisitor;
+using MockWebTransportStreamVisitor = ::webtransport::test::MockStreamVisitor;
 
-class MockWebTransportStreamVisitor : public WebTransportStreamVisitor {
- public:
-  MOCK_METHOD(void, OnCanRead, (), (override));
-  MOCK_METHOD(void, OnCanWrite, (), (override));
-
-  MOCK_METHOD(void, OnResetStreamReceived, (WebTransportStreamError error),
-              (override));
-  MOCK_METHOD(void, OnStopSendingReceived, (WebTransportStreamError error),
-              (override));
-  MOCK_METHOD(void, OnWriteSideInDataRecvdState, (), (override));
-};
-
-}  // namespace test
-}  // namespace quic
+}  // namespace quic::test
 
 #endif  // QUICHE_QUIC_TEST_TOOLS_WEB_TRANSPORT_TEST_TOOLS_H_
diff --git a/quiche/quic/tools/web_transport_test_visitors.h b/quiche/quic/tools/web_transport_test_visitors.h
index 0770af6..5fc3fbd 100644
--- a/quiche/quic/tools/web_transport_test_visitors.h
+++ b/quiche/quic/tools/web_transport_test_visitors.h
@@ -183,7 +183,7 @@
   EchoWebTransportSessionVisitor(WebTransportSession* session)
       : session_(session) {}
 
-  void OnSessionReady(const spdy::Http2HeaderBlock&) override {
+  void OnSessionReady() override {
     if (session_->CanOpenNextOutgoingBidirectionalStream()) {
       OnCanCreateNewOutgoingBidirectionalStream();
     }
diff --git a/quiche/web_transport/test_tools/mock_web_transport.h b/quiche/web_transport/test_tools/mock_web_transport.h
index 9fdecfc..923702d 100644
--- a/quiche/web_transport/test_tools/mock_web_transport.h
+++ b/quiche/web_transport/test_tools/mock_web_transport.h
@@ -14,6 +14,7 @@
 namespace test {
 
 class QUICHE_NO_EXPORT MockStreamVisitor : public StreamVisitor {
+ public:
   MOCK_METHOD(void, OnCanRead, (), (override));
   MOCK_METHOD(void, OnCanWrite, (), (override));
   MOCK_METHOD(void, OnResetStreamReceived, (StreamErrorCode), (override));
@@ -22,6 +23,7 @@
 };
 
 class QUICHE_NO_EXPORT MockStream : public Stream {
+ public:
   MOCK_METHOD(ReadResult, Read, (absl::Span<char> buffer), (override));
   MOCK_METHOD(ReadResult, Read, (std::string * output), (override));
   MOCK_METHOD(absl::Status, Writev,
@@ -42,8 +44,8 @@
 };
 
 class QUICHE_NO_EXPORT MockSessionVisitor : public SessionVisitor {
-  MOCK_METHOD(void, OnSessionReady, (const spdy::Http2HeaderBlock& headers),
-              (override));
+ public:
+  MOCK_METHOD(void, OnSessionReady, (), (override));
   MOCK_METHOD(void, OnSessionClosed,
               (SessionErrorCode error_code, const std::string& error_message),
               (override));
diff --git a/quiche/web_transport/web_transport.h b/quiche/web_transport/web_transport.h
index 70bb36f..39a1ac1 100644
--- a/quiche/web_transport/web_transport.h
+++ b/quiche/web_transport/web_transport.h
@@ -19,7 +19,6 @@
 #include "absl/types/span.h"
 #include "quiche/common/platform/api/quiche_export.h"
 #include "quiche/common/quiche_stream.h"
-#include "quiche/spdy/core/http2_header_block.h"
 
 namespace webtransport {
 
@@ -136,7 +135,7 @@
 
   // Notifies the visitor when the session is ready to exchange application
   // data.
-  virtual void OnSessionReady(const spdy::Http2HeaderBlock& headers) = 0;
+  virtual void OnSessionReady() = 0;
 
   // Notifies the visitor when the session has been closed.
   virtual void OnSessionClosed(SessionErrorCode error_code,