Index: net/spdy/spdy_session.cc |
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc |
index 1c9abce6d1775b031963baf86f28a3d950ee3316..4b9190976c6a27d457a2f9c3eea37159b7491451 100644 |
--- a/net/spdy/spdy_session.cc |
+++ b/net/spdy/spdy_session.cc |
@@ -655,7 +655,7 @@ SpdySession::SpdySession( |
check_ping_status_pending_(false), |
send_connection_header_prefix_(false), |
flow_control_state_(FLOW_CONTROL_NONE), |
- stream_initial_send_window_size_(kSpdyStreamInitialWindowSize), |
+ stream_initial_send_window_size_(GetInitialWindowSize(default_protocol)), |
stream_initial_recv_window_size_(stream_initial_recv_window_size == 0 |
? kDefaultInitialRecvWindowSize |
: stream_initial_recv_window_size), |
@@ -729,6 +729,7 @@ void SpdySession::InitializeWithSocket( |
connection_->socket()->GetNegotiatedProtocol(); |
if (protocol_negotiated != kProtoUnknown) { |
protocol_ = protocol_negotiated; |
+ stream_initial_send_window_size_ = GetInitialWindowSize(protocol_); |
} |
DCHECK_GE(protocol_, kProtoSPDYMinimumVersion); |
DCHECK_LE(protocol_, kProtoSPDYMaximumVersion); |
@@ -739,8 +740,8 @@ void SpdySession::InitializeWithSocket( |
if (protocol_ >= kProtoSPDY31) { |
flow_control_state_ = FLOW_CONTROL_STREAM_AND_SESSION; |
- session_send_window_size_ = kSpdySessionInitialWindowSize; |
- session_recv_window_size_ = kSpdySessionInitialWindowSize; |
+ session_send_window_size_ = GetInitialWindowSize(protocol_); |
+ session_recv_window_size_ = GetInitialWindowSize(protocol_); |
} else if (protocol_ >= kProtoSPDY3) { |
flow_control_state_ = FLOW_CONTROL_STREAM; |
} else { |
@@ -2778,7 +2779,7 @@ void SpdySession::SendInitialData() { |
settings_map[SETTINGS_MAX_CONCURRENT_STREAMS] = |
SettingsFlagsAndValue(SETTINGS_FLAG_NONE, kMaxConcurrentPushedStreams); |
if (flow_control_state_ >= FLOW_CONTROL_STREAM && |
- stream_initial_recv_window_size_ != kSpdyStreamInitialWindowSize) { |
+ stream_initial_recv_window_size_ != GetInitialWindowSize(protocol_)) { |
settings_map[SETTINGS_INITIAL_WINDOW_SIZE] = |
SettingsFlagsAndValue(SETTINGS_FLAG_NONE, |
stream_initial_recv_window_size_); |
@@ -3195,7 +3196,8 @@ void SpdySession::IncreaseRecvWindowSize(int32 delta_window_size) { |
delta_window_size, session_recv_window_size_)); |
session_unacked_recv_window_bytes_ += delta_window_size; |
- if (session_unacked_recv_window_bytes_ > kSpdySessionInitialWindowSize / 2) { |
+ if (session_unacked_recv_window_bytes_ > |
+ GetInitialWindowSize(protocol_) / 2) { |
SendWindowUpdateFrame(kSessionFlowControlStreamId, |
session_unacked_recv_window_bytes_, |
HIGHEST); |