| Index: net/filter/sdch_source_stream.cc
|
| diff --git a/net/filter/sdch_source_stream.cc b/net/filter/sdch_source_stream.cc
|
| index 954364e222e575bb9386a73b90500e4baee60997..972841cd47bc3e55052562fd0fcc6a7232d4bef4 100644
|
| --- a/net/filter/sdch_source_stream.cc
|
| +++ b/net/filter/sdch_source_stream.cc
|
| @@ -142,18 +142,19 @@ int SdchSourceStream::FilterData(IOBuffer* output_buffer,
|
| break;
|
| }
|
| case STATE_PASS_THROUGH: {
|
| - if (buffered_output_.empty())
|
| - break;
|
| - int flushed = FlushBufferedOutput(output_buffer->data() + bytes_out,
|
| - output_buffer_size - bytes_out,
|
| - buffered_output_);
|
| - buffered_output_.erase(0, flushed);
|
| - bytes_out += flushed;
|
| + if (!buffered_output_.empty()) {
|
| + int flushed = FlushBufferedOutput(output_buffer->data() + bytes_out,
|
| + output_buffer_size - bytes_out,
|
| + buffered_output_);
|
| + buffered_output_.erase(0, flushed);
|
| + bytes_out += flushed;
|
| + }
|
| if (!buffered_output_.empty())
|
| break;
|
| size_t to_copy =
|
| std::min(output_buffer_size - bytes_out, input_data_size);
|
| memcpy(output_buffer->data() + bytes_out, input_data, to_copy);
|
| + bytes_out += to_copy;
|
| input_data += to_copy;
|
| input_data_size -= to_copy;
|
| break;
|
|
|