diff --git a/quic/core/crypto/crypto_protocol.h b/quic/core/crypto/crypto_protocol.h
index 0facf00..bbd0b18 100644
--- a/quic/core/crypto/crypto_protocol.h
+++ b/quic/core/crypto/crypto_protocol.h
@@ -201,6 +201,8 @@
 const QuicTag kH2PR = TAG('H', '2', 'P', 'R');  // HTTP2 priorities.
 const QuicTag kFIFO = TAG('F', 'I', 'F', 'O');  // Stream with the smallest ID
                                                 // has the highest priority.
+const QuicTag kLIFO = TAG('L', 'I', 'F', 'O');  // Stream with the largest ID
+                                                // has the highest priority.
 
 // Proof types (i.e. certificate types)
 // NOTE: although it would be silly to do so, specifying both kX509 and kX59R
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc
index 2e79f78..750f371 100644
--- a/quic/core/http/end_to_end_test.cc
+++ b/quic/core/http/end_to_end_test.cc
@@ -158,7 +158,7 @@
         continue;
       }
       for (const QuicTag priority_tag :
-           {/*no tag*/ static_cast<QuicTag>(0), kH2PR, kFIFO}) {
+           {/*no tag*/ static_cast<QuicTag>(0), kH2PR, kFIFO, kLIFO}) {
         // Add an entry for server and client supporting all versions.
         params.push_back(TestParams(client_versions, all_supported_versions,
                                     client_versions.front(),
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index e39fd41..fe65bc3 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -1014,6 +1014,14 @@
                 connection_->transport_version())) {
           QUIC_RELOADABLE_FLAG_COUNT(quic_enable_fifo_write_scheduler);
         }
+      } else if (GetQuicReloadableFlag(quic_enable_lifo_write_scheduler) &&
+                 ContainsQuicTag(config_.ReceivedConnectionOptions(), kLIFO)) {
+        // Enable LIFO write scheduler.
+        if (write_blocked_streams_.SwitchWriteScheduler(
+                spdy::WriteSchedulerType::LIFO,
+                connection_->transport_version())) {
+          QUIC_RELOADABLE_FLAG_COUNT(quic_enable_lifo_write_scheduler);
+        }
       }
     }
 
diff --git a/quic/core/quic_write_blocked_list.h b/quic/core/quic_write_blocked_list.h
index dd9ddb4..72ebc05 100644
--- a/quic/core/quic_write_blocked_list.h
+++ b/quic/core/quic_write_blocked_list.h
@@ -16,6 +16,7 @@
 #include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
 #include "net/third_party/quiche/src/spdy/core/fifo_write_scheduler.h"
 #include "net/third_party/quiche/src/spdy/core/http2_priority_write_scheduler.h"
+#include "net/third_party/quiche/src/spdy/core/lifo_write_scheduler.h"
 #include "net/third_party/quiche/src/spdy/core/priority_write_scheduler.h"
 
 namespace quic {
@@ -79,6 +80,10 @@
     QUIC_DVLOG(1) << "Switching to scheduler type: "
                   << spdy::WriteSchedulerTypeToString(type);
     switch (type) {
+      case spdy::WriteSchedulerType::LIFO:
+        priority_write_scheduler_ =
+            QuicMakeUnique<spdy::LifoWriteScheduler<QuicStreamId>>();
+        break;
       case spdy::WriteSchedulerType::SPDY:
         priority_write_scheduler_ =
             QuicMakeUnique<spdy::PriorityWriteScheduler<QuicStreamId>>(
@@ -209,6 +214,8 @@
   bool PrecedenceMatchesSchedulerType(
       const spdy::SpdyStreamPrecedence& precedence) {
     switch (scheduler_type_) {
+      case spdy::WriteSchedulerType::LIFO:
+        break;
       case spdy::WriteSchedulerType::SPDY:
         return precedence.is_spdy3_priority();
       case spdy::WriteSchedulerType::HTTP2:
