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..469a7023f7e1dcc02b293ccec796d6e49be4cd1a 100644 |
--- a/storage/browser/fileapi/file_writer_delegate.cc |
+++ b/storage/browser/fileapi/file_writer_delegate.cc |
@@ -45,9 +45,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( |
@@ -173,8 +172,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_) |