| Index: storage/browser/fileapi/file_writer_delegate.cc
|
| diff --git a/storage/browser/fileapi/file_writer_delegate.cc b/storage/browser/fileapi/file_writer_delegate.cc
|
| index ab264d3b517fc1919a362e6750557c3b52dde6ec..b401e020247a36d013def7105f6fa26db53eb0b5 100644
|
| --- a/storage/browser/fileapi/file_writer_delegate.cc
|
| +++ b/storage/browser/fileapi/file_writer_delegate.cc
|
| @@ -44,11 +44,8 @@ void FileWriterDelegate::Start(scoped_ptr<net::URLRequest> request,
|
| }
|
|
|
| void FileWriterDelegate::Cancel() {
|
| - if (request_) {
|
| - // This halts any callbacks on this delegate.
|
| - request_->set_delegate(NULL);
|
| - request_->Cancel();
|
| - }
|
| + // Destroy the request to prevent it from invoking any callbacks.
|
| + request_.reset();
|
|
|
| const int status = file_stream_writer_->Cancel(
|
| base::Bind(&FileWriterDelegate::OnWriteCancelled,
|
| @@ -172,10 +169,8 @@ FileWriterDelegate::GetCompletionStatusOnError() const {
|
| }
|
|
|
| void FileWriterDelegate::OnError(base::File::Error error) {
|
| - if (request_) {
|
| - request_->set_delegate(NULL);
|
| - request_->Cancel();
|
| - }
|
| + // Destroy the request to prevent it from invoking any callbacks.
|
| + request_.reset();
|
|
|
| if (writing_started_)
|
| MaybeFlushForCompletion(error, 0, ERROR_WRITE_STARTED);
|
|
|