Index: components/nacl/renderer/file_downloader.cc |
diff --git a/components/nacl/renderer/file_downloader.cc b/components/nacl/renderer/file_downloader.cc |
index d6dd27063378f4b257215066747da1d023d9ca76..b2771f25db4e276a1d4f0b2c14a7fedee80e76db 100644 |
--- a/components/nacl/renderer/file_downloader.cc |
+++ b/components/nacl/renderer/file_downloader.cc |
@@ -93,6 +93,13 @@ void FileDownloader::didFail( |
// It's a WebKit error. |
status_ = ACCESS_DENIED; |
} |
+ |
+ // Delete url_loader to prevent didFinishLoading from being called, which |
+ // some implementations of blink::WebURLLoader will do after calling didFail. |
+ url_loader_.reset(); |
+ |
+ status_cb_.Run(status_, file_.Pass(), http_status_code_); |
+ delete this; |
} |
} // namespace nacl |