diff --git a/quiche/quic/core/quic_session.h b/quiche/quic/core/quic_session.h
index 56ac2b0..ea1ba87 100644
--- a/quiche/quic/core/quic_session.h
+++ b/quiche/quic/core/quic_session.h
@@ -1169,6 +1169,12 @@
   void PerformActionOnNonStaticStreams(
       quiche::UnretainedCallback<bool(QuicStream*)> action);
 
+  // This is a temporary workaround to fix compile breakage in the Chromium
+  // roll. Do not call this method or add more references to it.
+  // TODO: b/508413463 - Remove this method once a version of Open Screen that
+  // doesn't override this method has rolled into Chromium.
+  virtual QuicStream* CreateIncomingStream(PendingStream*) { return nullptr; }
+
   // A counter for streams which have sent and received FIN but waiting for
   // application to consume data.
   size_t num_draining_streams_;
diff --git a/quiche/quic/core/quic_session_test.cc b/quiche/quic/core/quic_session_test.cc
index 01a1b07..d7d5113 100644
--- a/quiche/quic/core/quic_session_test.cc
+++ b/quiche/quic/core/quic_session_test.cc
@@ -305,8 +305,8 @@
     return stream;
   }
 
-  TestStream* CreateIncomingStream(PendingStream& pending) {
-    TestStream* stream = new TestStream(pending, this);
+  TestStream* CreateIncomingStream(PendingStream* pending) override {
+    TestStream* stream = new TestStream(*pending, this);
     ActivateStream(absl::WrapUnique(stream));
     ++num_incoming_streams_created_;
     return stream;
@@ -317,14 +317,14 @@
   // receiving stream frames.
   QuicStream* ProcessBidirectionalPendingStream(
       PendingStream& pending) override {
-    return CreateIncomingStream(pending);
+    return CreateIncomingStream(&pending);
   }
   QuicStream* ProcessReadUnidirectionalPendingStream(
       PendingStream& pending) override {
     struct iovec iov;
     if (pending.sequencer()->GetReadableRegion(&iov)) {
       // Create TestStream once the first byte is received.
-      return CreateIncomingStream(pending);
+      return CreateIncomingStream(&pending);
     }
     return nullptr;
   }
