| 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 a617d6a90e2574645d331a94c528847bcf8b6b1b..d01dc400343e886080ac1090e14b0dff7c4d6b00 100644
|
| --- a/webkit/fileapi/file_system_url_request_job.cc
|
| +++ b/webkit/fileapi/file_system_url_request_job.cc
|
| @@ -23,6 +23,7 @@
|
| #include "net/http/http_util.h"
|
| #include "net/url_request/url_request.h"
|
| #include "webkit/fileapi/file_system_callback_dispatcher.h"
|
| +#include "webkit/fileapi/file_system_context.h"
|
| #include "webkit/fileapi/file_system_operation.h"
|
| #include "webkit/fileapi/file_system_util.h"
|
|
|
| @@ -219,12 +220,19 @@ int FileSystemURLRequestJob::GetResponseCode() const {
|
| }
|
|
|
| void FileSystemURLRequestJob::StartAsync() {
|
| - if (request_) {
|
| - (new FileSystemOperation(CallbackDispatcher::Create(this),
|
| - file_thread_proxy_,
|
| - file_system_context_)
|
| - )->GetMetadata(request_->url());
|
| + if (!request_)
|
| + return;
|
| + FileSystemOperationInterface* operation =
|
| + file_system_context_->CreateFileSystemOperation(
|
| + request_->url(),
|
| + CallbackDispatcher::Create(this),
|
| + file_thread_proxy_);
|
| + if (!operation) {
|
| + NotifyDone(URLRequestStatus(URLRequestStatus::FAILED,
|
| + net::ERR_INVALID_URL));
|
| + return;
|
| }
|
| + operation->GetMetadata(request_->url());
|
| }
|
|
|
| void FileSystemURLRequestJob::DidGetMetadata(
|
|
|