| Index: webkit/fileapi/file_system_operation.cc
|
| diff --git a/webkit/fileapi/file_system_operation.cc b/webkit/fileapi/file_system_operation.cc
|
| index 1084fd8a33b15587132aa9d02f48be59ed9a4a43..5c77024848a5d55852bc0472dd6ff94325012999 100644
|
| --- a/webkit/fileapi/file_system_operation.cc
|
| +++ b/webkit/fileapi/file_system_operation.cc
|
| @@ -287,13 +287,25 @@ void FileSystemOperation::Write(
|
| delete this;
|
| return;
|
| }
|
| +
|
| + FileSystemMountPointProvider* provider = file_system_context()->
|
| + GetMountPointProvider(src_path_.type());
|
| + DCHECK(provider);
|
| + scoped_ptr<FileStreamWriter> writer(provider->CreateFileStreamWriter(
|
| + path_url, offset, file_system_context()));
|
| +
|
| + if (!writer.get()) {
|
| + // Write is not supported.
|
| + callback.Run(base::PLATFORM_FILE_ERROR_SECURITY, 0, false);
|
| + delete this;
|
| + return;
|
| + }
|
| +
|
| DCHECK(blob_url.is_valid());
|
| file_writer_delegate_.reset(new FileWriterDelegate(
|
| base::Bind(&FileSystemOperation::DidWrite, weak_factory_.GetWeakPtr()),
|
| - scoped_ptr<FileStreamWriter>(
|
| - new SandboxFileStreamWriter(file_system_context(),
|
| - path_url,
|
| - offset))));
|
| + writer.Pass()));
|
| +
|
| set_write_callback(callback);
|
| scoped_ptr<net::URLRequest> blob_request(
|
| new net::URLRequest(blob_url, file_writer_delegate_.get()));
|
|
|