| Index: webkit/fileapi/file_system_url_request_job.cc
|
| diff --git a/webkit/fileapi/file_system_url_request_job.cc b/webkit/fileapi/file_system_url_request_job.cc
|
| index 8cdf9d42d3245957a884799510a54ff8610d56c1..8c28ded57f620be4f162c31c476e2b2e955ec09f 100644
|
| --- a/webkit/fileapi/file_system_url_request_job.cc
|
| +++ b/webkit/fileapi/file_system_url_request_job.cc
|
| @@ -107,7 +107,7 @@ FileSystemURLRequestJob::FileSystemURLRequestJob(
|
| file_system_context_(file_system_context),
|
| file_thread_proxy_(file_thread_proxy),
|
| ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)),
|
| - ALLOW_THIS_IN_INITIALIZER_LIST(callback_factory_(this)),
|
| + ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
|
| stream_(NULL),
|
| is_directory_(false),
|
| remaining_bytes_(0) {
|
| @@ -133,7 +133,7 @@ void FileSystemURLRequestJob::Kill() {
|
| }
|
| URLRequestJob::Kill();
|
| method_factory_.RevokeAll();
|
| - callback_factory_.RevokeAll();
|
| + weak_factory_.InvalidateWeakPtrs();
|
| }
|
|
|
| bool FileSystemURLRequestJob::ReadRawData(net::IOBuffer* dest, int dest_size,
|
| @@ -239,7 +239,8 @@ void FileSystemURLRequestJob::DidGetMetadata(
|
| if (!is_directory_) {
|
| base::FileUtilProxy::CreateOrOpen(
|
| file_thread_proxy_, platform_path, kFileFlags,
|
| - callback_factory_.NewCallback(&FileSystemURLRequestJob::DidOpen));
|
| + base::Bind(&FileSystemURLRequestJob::DidOpen,
|
| + weak_factory_.GetWeakPtr()));
|
| } else {
|
| NotifyHeadersComplete();
|
| }
|
|
|