Index: webkit/browser/fileapi/file_system_operation_impl.cc |
diff --git a/webkit/browser/fileapi/file_system_operation_impl.cc b/webkit/browser/fileapi/file_system_operation_impl.cc |
index 7cae79aaf3b1045b09c1a82eab85eec77c76eaa5..9b1d92a2b7842393f3f29929a192e59d65285f46 100644 |
--- a/webkit/browser/fileapi/file_system_operation_impl.cc |
+++ b/webkit/browser/fileapi/file_system_operation_impl.cc |
@@ -31,20 +31,12 @@ using webkit_blob::ScopedFile; |
namespace fileapi { |
-FileSystemOperationImpl::FileSystemOperationImpl( |
+FileSystemOperation* FileSystemOperation::Create( |
const FileSystemURL& url, |
FileSystemContext* file_system_context, |
- scoped_ptr<FileSystemOperationContext> operation_context) |
- : file_system_context_(file_system_context), |
- operation_context_(operation_context.Pass()), |
- async_file_util_(NULL), |
- peer_handle_(base::kNullProcessHandle), |
- pending_operation_(kOperationNone), |
- weak_factory_(this) { |
- DCHECK(operation_context_.get()); |
- operation_context_->DetachUserDataThread(); |
- async_file_util_ = file_system_context_->GetAsyncFileUtil(url.type()); |
- DCHECK(async_file_util_); |
+ scoped_ptr<FileSystemOperationContext> operation_context) { |
+ return new FileSystemOperationImpl(url, file_system_context, |
+ operation_context.Pass()); |
} |
FileSystemOperationImpl::~FileSystemOperationImpl() { |
@@ -318,6 +310,22 @@ base::PlatformFileError FileSystemOperationImpl::SyncGetPlatformPath( |
return base::PLATFORM_FILE_OK; |
} |
+FileSystemOperationImpl::FileSystemOperationImpl( |
+ const FileSystemURL& url, |
+ FileSystemContext* file_system_context, |
+ scoped_ptr<FileSystemOperationContext> operation_context) |
+ : file_system_context_(file_system_context), |
+ operation_context_(operation_context.Pass()), |
+ async_file_util_(NULL), |
+ peer_handle_(base::kNullProcessHandle), |
+ pending_operation_(kOperationNone), |
+ weak_factory_(this) { |
+ DCHECK(operation_context_.get()); |
+ operation_context_->DetachUserDataThread(); |
+ async_file_util_ = file_system_context_->GetAsyncFileUtil(url.type()); |
+ DCHECK(async_file_util_); |
+} |
+ |
void FileSystemOperationImpl::GetUsageAndQuotaThenRunTask( |
const FileSystemURL& url, |
const base::Closure& task, |