Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(698)

Unified Diff: webkit/blob/blob_url_request_job.cc

Issue 8311010: base::Bind: Convert FileUtilProxy::CreateOrOpenCallback. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/blob/blob_url_request_job.h ('k') | webkit/fileapi/file_system_file_util_proxy.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/blob/blob_url_request_job.cc
diff --git a/webkit/blob/blob_url_request_job.cc b/webkit/blob/blob_url_request_job.cc
index a02096f56ec579a2ff5fd726279c3820b226a77e..d70536a26443295b136daf1da4d0a2d70acacac5 100644
--- a/webkit/blob/blob_url_request_job.cc
+++ b/webkit/blob/blob_url_request_job.cc
@@ -52,7 +52,8 @@ BlobURLRequestJob::BlobURLRequestJob(
BlobData* blob_data,
base::MessageLoopProxy* file_thread_proxy)
: net::URLRequestJob(request),
- callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
+ ALLOW_THIS_IN_INITIALIZER_LIST(callback_factory_(this)),
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
blob_data_(blob_data),
file_thread_proxy_(file_thread_proxy),
item_index_(0),
@@ -111,6 +112,7 @@ void BlobURLRequestJob::Kill() {
net::URLRequestJob::Kill();
callback_factory_.RevokeAll();
+ weak_factory_.InvalidateWeakPtrs();
method_factory_.RevokeAll();
}
@@ -316,7 +318,7 @@ bool BlobURLRequestJob::DispatchReadFile(const BlobData::Item& item) {
base::FileUtilProxy::CreateOrOpen(
file_thread_proxy_, item.file_path(), kFileOpenFlags,
- callback_factory_.NewCallback(&BlobURLRequestJob::DidOpen));
+ base::Bind(&BlobURLRequestJob::DidOpen, weak_factory_.GetWeakPtr()));
SetStatus(net::URLRequestStatus(net::URLRequestStatus::IO_PENDING, 0));
return false;
}
« no previous file with comments | « webkit/blob/blob_url_request_job.h ('k') | webkit/fileapi/file_system_file_util_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698