| Index: webkit/browser/fileapi/local_file_system_operation.cc
|
| diff --git a/webkit/browser/fileapi/local_file_system_operation.cc b/webkit/browser/fileapi/local_file_system_operation.cc
|
| index a79b4799dba4e463050a8931c09db8c9b7fc3c95..23653b49e1ed40dce7aecd007d2ad03603b48f22 100644
|
| --- a/webkit/browser/fileapi/local_file_system_operation.cc
|
| +++ b/webkit/browser/fileapi/local_file_system_operation.cc
|
| @@ -9,7 +9,7 @@
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "base/time.h"
|
| #include "net/base/escape.h"
|
| -#include "net/url_request/url_request_context.h"
|
| +#include "net/url_request/url_request.h"
|
| #include "webkit/browser/fileapi/async_file_util.h"
|
| #include "webkit/browser/fileapi/copy_or_move_operation_delegate.h"
|
| #include "webkit/browser/fileapi/file_observers.h"
|
| @@ -156,12 +156,16 @@ void LocalFileSystemOperation::Remove(const FileSystemURL& url,
|
| }
|
|
|
| void LocalFileSystemOperation::Write(
|
| - const net::URLRequestContext* url_request_context,
|
| const FileSystemURL& url,
|
| - const GURL& blob_url,
|
| - int64 offset,
|
| + scoped_ptr<FileWriterDelegate> writer_delegate,
|
| + scoped_ptr<net::URLRequest> blob_request,
|
| const WriteCallback& callback) {
|
| - GetWriteClosure(url_request_context, url, blob_url, offset, callback).Run();
|
| + DCHECK(SetPendingOperationType(kOperationWrite));
|
| + file_writer_delegate_ = writer_delegate.Pass();
|
| + file_writer_delegate_->Start(
|
| + blob_request.Pass(),
|
| + base::Bind(&LocalFileSystemOperation::DidWrite, AsWeakPtr(),
|
| + url, callback));
|
| }
|
|
|
| void LocalFileSystemOperation::Truncate(const FileSystemURL& url, int64 length,
|
| @@ -351,43 +355,6 @@ void LocalFileSystemOperation::DidGetUsageAndQuotaAndRunTask(
|
| task.Run();
|
| }
|
|
|
| -base::Closure LocalFileSystemOperation::GetWriteClosure(
|
| - const net::URLRequestContext* url_request_context,
|
| - const FileSystemURL& url,
|
| - const GURL& blob_url,
|
| - int64 offset,
|
| - const WriteCallback& callback) {
|
| - DCHECK(SetPendingOperationType(kOperationWrite));
|
| - scoped_ptr<FileStreamWriter> writer(
|
| - file_system_context()->CreateFileStreamWriter(url, offset));
|
| -
|
| - if (!writer) {
|
| - // Write is not supported.
|
| - return base::Bind(&LocalFileSystemOperation::DidFailWrite,
|
| - AsWeakPtr(), callback,
|
| - base::PLATFORM_FILE_ERROR_SECURITY);
|
| - }
|
| -
|
| - DCHECK(blob_url.is_valid());
|
| - file_writer_delegate_.reset(new FileWriterDelegate(
|
| - base::Bind(&LocalFileSystemOperation::DidWrite, AsWeakPtr(),
|
| - url, callback),
|
| - writer.Pass()));
|
| -
|
| - scoped_ptr<net::URLRequest> blob_request(url_request_context->CreateRequest(
|
| - blob_url, file_writer_delegate_.get()));
|
| -
|
| - return base::Bind(&FileWriterDelegate::Start,
|
| - base::Unretained(file_writer_delegate_.get()),
|
| - base::Passed(&blob_request));
|
| -}
|
| -
|
| -void LocalFileSystemOperation::DidFailWrite(
|
| - const WriteCallback& callback,
|
| - base::PlatformFileError result) {
|
| - callback.Run(result, 0, false);
|
| -}
|
| -
|
| void LocalFileSystemOperation::DoCreateFile(
|
| const FileSystemURL& url,
|
| const StatusCallback& callback,
|
|
|