| Index: net/quic/quic_connection.cc | 
| diff --git a/net/quic/quic_connection.cc b/net/quic/quic_connection.cc | 
| index 7dda3c7b2c13f6bc192634ecf996a8511eb56da1..c96fb42e35ae04f687dda51e8b5badbab0137128 100644 | 
| --- a/net/quic/quic_connection.cc | 
| +++ b/net/quic/quic_connection.cc | 
| @@ -694,6 +694,7 @@ bool QuicConnection::OnStreamFrame(const QuicStreamFrame& frame) { | 
| return false; | 
| } | 
| visitor_->OnStreamFrame(frame); | 
| +  visitor_->PostProcessAfterData(); | 
| stats_.stream_bytes_received += frame.frame_length; | 
| should_last_packet_instigate_acks_ = true; | 
| return connected_; | 
| @@ -882,6 +883,7 @@ bool QuicConnection::OnRstStreamFrame(const QuicRstStreamFrame& frame) { | 
| << " with error: " | 
| << QuicUtils::StreamErrorToString(frame.error_code); | 
| visitor_->OnRstStream(frame); | 
| +  visitor_->PostProcessAfterData(); | 
| should_last_packet_instigate_acks_ = true; | 
| return connected_; | 
| } | 
| @@ -912,6 +914,7 @@ bool QuicConnection::OnGoAwayFrame(const QuicGoAwayFrame& frame) { | 
|  | 
| goaway_received_ = true; | 
| visitor_->OnGoAway(frame); | 
| +  visitor_->PostProcessAfterData(); | 
| should_last_packet_instigate_acks_ = true; | 
| return connected_; | 
| } | 
| @@ -925,6 +928,7 @@ bool QuicConnection::OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) { | 
| << "WINDOW_UPDATE_FRAME received for stream: " << frame.stream_id | 
| << " with byte offset: " << frame.byte_offset; | 
| visitor_->OnWindowUpdateFrame(frame); | 
| +  visitor_->PostProcessAfterData(); | 
| should_last_packet_instigate_acks_ = true; | 
| return connected_; | 
| } | 
| @@ -937,6 +941,7 @@ bool QuicConnection::OnBlockedFrame(const QuicBlockedFrame& frame) { | 
| DVLOG(1) << ENDPOINT | 
| << "BLOCKED_FRAME received for stream: " << frame.stream_id; | 
| visitor_->OnBlockedFrame(frame); | 
| +  visitor_->PostProcessAfterData(); | 
| should_last_packet_instigate_acks_ = true; | 
| return connected_; | 
| } | 
| @@ -1332,6 +1337,7 @@ void QuicConnection::OnCanWrite() { | 
| {  // Limit the scope of the bundler. ACK inclusion happens elsewhere. | 
| ScopedPacketBundler bundler(this, NO_ACK); | 
| visitor_->OnCanWrite(); | 
| +    visitor_->PostProcessAfterData(); | 
| } | 
|  | 
| // After the visitor writes, it may have caused the socket to become write | 
|  |