Chromium Code Reviews| Index: net/url_request/url_fetcher_response_writer.cc |
| diff --git a/net/url_request/url_fetcher_response_writer.cc b/net/url_request/url_fetcher_response_writer.cc |
| index cb30dad8089efd6acd2d699126782cce3d147c45..e56f34c201912f3dda9a1c761e04edf130ad15f9 100644 |
| --- a/net/url_request/url_fetcher_response_writer.cc |
| +++ b/net/url_request/url_fetcher_response_writer.cc |
| @@ -102,8 +102,19 @@ int URLFetcherFileWriter::Write(IOBuffer* buffer, |
| } |
| int URLFetcherFileWriter::Finish(const CompletionCallback& callback) { |
| + int result = file_stream_->Close(base::Bind( |
| + &URLFetcherFileWriter::CloseComplete, |
| + weak_factory_.GetWeakPtr(), callback)); |
| + if (result != ERR_IO_PENDING) |
| + file_stream_.reset(); |
| + return result; |
| +} |
| + |
| +void URLFetcherFileWriter::CloseComplete(const CompletionCallback& callback, |
| + int result) { |
| + // Either we closed the file or we can't; either way destroy the file_stream. |
|
mmenke
2013/09/11 15:16:11
nit: Some people strongly object to "We" in comme
mmenke
2013/09/11 15:16:11
nit: Either "destroy the FileStream" or "destroy
waffles
2013/09/11 19:54:48
Done.
waffles
2013/09/11 19:54:48
Done.
|
| file_stream_.reset(); |
| - return OK; |
| + callback.Run(result); |
| } |
| void URLFetcherFileWriter::DidWrite(const CompletionCallback& callback, |