Ensure WebTransport QUIC streams are always set to level-triggered mode.

MOQT and other WebTransport users rely on that behavior, and apparently we can currently deadlock if that is not true.

PiperOrigin-RevId: 852836409
diff --git a/quiche/quic/core/http/web_transport_stream_adapter.cc b/quiche/quic/core/http/web_transport_stream_adapter.cc
index fe68dfa..47357c6 100644
--- a/quiche/quic/core/http/web_transport_stream_adapter.cc
+++ b/quiche/quic/core/http/web_transport_stream_adapter.cc
@@ -128,6 +128,7 @@
 }
 
 size_t WebTransportStreamAdapter::ReadableBytes() const {
+  QUICHE_DCHECK(sequencer_->level_triggered());
   return sequencer_->ReadableBytes();
 }
 
diff --git a/quiche/quic/core/quic_generic_session.cc b/quiche/quic/core/quic_generic_session.cc
index a687f74..a592f1a 100644
--- a/quiche/quic/core/quic_generic_session.cc
+++ b/quiche/quic/core/quic_generic_session.cc
@@ -60,6 +60,7 @@
                        id, session->connection()->perspective(),
                        session->IsIncomingStream(id), session->version())),
         adapter_(session, this, sequencer(), std::nullopt) {
+    sequencer()->set_level_triggered(true);
     adapter_.SetPriority(webtransport::StreamPriority{0, 0});
   }