summaryrefslogtreecommitdiffstats
path: root/webkit/fileapi/file_system_url_request_job.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/fileapi/file_system_url_request_job.cc')
-rw-r--r--webkit/fileapi/file_system_url_request_job.cc18
1 files changed, 13 insertions, 5 deletions
diff --git a/webkit/fileapi/file_system_url_request_job.cc b/webkit/fileapi/file_system_url_request_job.cc
index a617d6a..d01dc40 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(