Index: net/quic/core/quic_headers_stream.cc |
diff --git a/net/quic/core/quic_headers_stream.cc b/net/quic/core/quic_headers_stream.cc |
index 3609594e20306925e1d2b8a9154cc92f23b7b218..6468137c2789eec58b07fb56f43d40a9abda2e57 100644 |
--- a/net/quic/core/quic_headers_stream.cc |
+++ b/net/quic/core/quic_headers_stream.cc |
@@ -207,6 +207,10 @@ class QuicHeadersStream::SpdyFramerVisitor |
break; |
// TODO(fayang): Need to support SETTINGS_MAX_HEADER_LIST_SIZE when |
// clients are actually sending it. |
+ case SETTINGS_MAX_HEADER_LIST_SIZE: |
+ if (FLAGS_quic_send_max_header_list_size) { |
+ break; |
+ } |
default: |
CloseConnection("Unsupported field of HTTP/2 SETTINGS frame: " + |
base::IntToString(id)); |
@@ -577,6 +581,15 @@ void QuicHeadersStream::MaybeReleaseSequencerBuffer() { |
} |
} |
+size_t QuicHeadersStream::SendMaxHeaderListSize(size_t value) { |
+ SpdySettingsIR settings_frame; |
+ settings_frame.AddSetting(SETTINGS_MAX_HEADER_LIST_SIZE, false, false, value); |
+ |
+ SpdySerializedFrame frame(spdy_framer_.SerializeFrame(settings_frame)); |
+ WriteOrBufferData(StringPiece(frame.data(), frame.size()), false, nullptr); |
+ return frame.size(); |
+} |
+ |
bool QuicHeadersStream::OnDataFrameHeader(QuicStreamId stream_id, |
size_t length, |
bool fin) { |