diff options
Diffstat (limited to 'webkit/browser/fileapi')
12 files changed, 117 insertions, 86 deletions
diff --git a/webkit/browser/fileapi/file_stream_writer.h b/webkit/browser/fileapi/file_stream_writer.h index 7262cdf..1ebdfb9 100644 --- a/webkit/browser/fileapi/file_stream_writer.h +++ b/webkit/browser/fileapi/file_stream_writer.h @@ -9,6 +9,11 @@ #include "net/base/completion_callback.h" #include "webkit/browser/webkit_storage_browser_export.h" +namespace base { +class FilePath; +class TaskRunner; +} + namespace net { class IOBuffer; } @@ -16,8 +21,15 @@ class IOBuffer; namespace fileapi { // A generic interface for writing to a file-like object. -class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE FileStreamWriter { +class FileStreamWriter { public: + // Creates a writer for the existing file in the path |file_path| starting + // from |initial_offset|. Uses |task_runner| for async file operations. + WEBKIT_STORAGE_BROWSER_EXPORT static FileStreamWriter* CreateForLocalFile( + base::TaskRunner* task_runner, + const base::FilePath& file_path, + int64 initial_offset); + // Closes the file. If there's an in-flight operation, it is canceled (i.e., // the callback function associated with the operation is not called). virtual ~FileStreamWriter() {} diff --git a/webkit/browser/fileapi/file_system_file_stream_reader.cc b/webkit/browser/fileapi/file_system_file_stream_reader.cc index 71b3827..d3697c2 100644 --- a/webkit/browser/fileapi/file_system_file_stream_reader.cc +++ b/webkit/browser/fileapi/file_system_file_stream_reader.cc @@ -10,11 +10,29 @@ #include "net/base/file_stream.h" #include "net/base/io_buffer.h" #include "net/base/net_errors.h" -#include "webkit/browser/blob/local_file_stream_reader.h" +#include "webkit/browser/blob/file_stream_reader.h" #include "webkit/browser/fileapi/file_system_context.h" #include "webkit/browser/fileapi/file_system_operation_runner.h" -using webkit_blob::LocalFileStreamReader; +using webkit_blob::FileStreamReader; + +// TODO(kinuko): Remove this temporary namespace hack after we move both +// blob and fileapi into content namespace. +namespace webkit_blob { + +FileStreamReader* FileStreamReader::CreateForFileSystemFile( + fileapi::FileSystemContext* file_system_context, + const fileapi::FileSystemURL& url, + int64 initial_offset, + const base::Time& expected_modification_time) { + return new fileapi::FileSystemFileStreamReader( + file_system_context, + url, + initial_offset, + expected_modification_time); +} + +} // webkit_blob namespace fileapi { @@ -46,19 +64,6 @@ void Int64CallbackAdapter(const net::Int64CompletionCallback& callback, } // namespace -FileSystemFileStreamReader::FileSystemFileStreamReader( - FileSystemContext* file_system_context, - const FileSystemURL& url, - int64 initial_offset, - const base::Time& expected_modification_time) - : file_system_context_(file_system_context), - url_(url), - initial_offset_(initial_offset), - expected_modification_time_(expected_modification_time), - has_pending_create_snapshot_(false), - weak_factory_(this) { -} - FileSystemFileStreamReader::~FileSystemFileStreamReader() { } @@ -82,6 +87,19 @@ int64 FileSystemFileStreamReader::GetLength( base::Bind(&Int64CallbackAdapter, callback)); } +FileSystemFileStreamReader::FileSystemFileStreamReader( + FileSystemContext* file_system_context, + const FileSystemURL& url, + int64 initial_offset, + const base::Time& expected_modification_time) + : file_system_context_(file_system_context), + url_(url), + initial_offset_(initial_offset), + expected_modification_time_(expected_modification_time), + has_pending_create_snapshot_(false), + weak_factory_(this) { +} + int FileSystemFileStreamReader::CreateSnapshot( const base::Closure& callback, const net::CompletionCallback& error_callback) { @@ -116,7 +134,7 @@ void FileSystemFileStreamReader::DidCreateSnapshot( snapshot_ref_ = file_ref; local_file_reader_.reset( - new LocalFileStreamReader( + FileStreamReader::CreateForLocalFile( file_system_context_->default_file_task_runner(), platform_path, initial_offset_, expected_modification_time_)); diff --git a/webkit/browser/fileapi/file_system_file_stream_reader.h b/webkit/browser/fileapi/file_system_file_stream_reader.h index 634f568..3a90663 100644 --- a/webkit/browser/fileapi/file_system_file_stream_reader.h +++ b/webkit/browser/fileapi/file_system_file_stream_reader.h @@ -19,30 +19,18 @@ class FilePath; class SequencedTaskRunner; } -namespace webkit_blob { -class LocalFileStreamReader; -} - namespace fileapi { class FileSystemContext; -// TODO(kinaba,satorux): This generic implementation would work for any -// filesystems but remote filesystem should implement its own reader -// rather than relying on FileSystemOperation::GetSnapshotFile() which -// may force downloading the entire contents for remote files. +// Generic FileStreamReader implementation for FileSystem files. +// Note: This generic implementation would work for any filesystems but +// remote filesystem should implement its own reader rather than relying +// on FileSystemOperation::GetSnapshotFile() which may force downloading +// the entire contents for remote files. class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE FileSystemFileStreamReader - : public webkit_blob::FileStreamReader { + : public NON_EXPORTED_BASE(webkit_blob::FileStreamReader) { public: - // Creates a new FileReader for a filesystem URL |url| form |initial_offset|. - // |expected_modification_time| specifies the expected last modification if - // the value is non-null, the reader will check the underlying file's actual - // modification time to see if the file has been modified, and if it does any - // succeeding read operations should fail with ERR_UPLOAD_FILE_CHANGED error. - FileSystemFileStreamReader(FileSystemContext* file_system_context, - const FileSystemURL& url, - int64 initial_offset, - const base::Time& expected_modification_time); virtual ~FileSystemFileStreamReader(); // FileStreamReader overrides. @@ -52,6 +40,14 @@ class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE FileSystemFileStreamReader const net::Int64CompletionCallback& callback) OVERRIDE; private: + friend class webkit_blob::FileStreamReader; + friend class FileSystemFileStreamReaderTest; + + FileSystemFileStreamReader(FileSystemContext* file_system_context, + const FileSystemURL& url, + int64 initial_offset, + const base::Time& expected_modification_time); + int CreateSnapshot(const base::Closure& callback, const net::CompletionCallback& error_callback); void DidCreateSnapshot( @@ -66,7 +62,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE FileSystemFileStreamReader FileSystemURL url_; const int64 initial_offset_; const base::Time expected_modification_time_; - scoped_ptr<webkit_blob::LocalFileStreamReader> local_file_reader_; + scoped_ptr<webkit_blob::FileStreamReader> local_file_reader_; scoped_refptr<webkit_blob::ShareableFileReference> snapshot_ref_; bool has_pending_create_snapshot_; base::WeakPtrFactory<FileSystemFileStreamReader> weak_factory_; diff --git a/webkit/browser/fileapi/isolated_file_system_backend.cc b/webkit/browser/fileapi/isolated_file_system_backend.cc index 82accce..6d7cbce 100644 --- a/webkit/browser/fileapi/isolated_file_system_backend.cc +++ b/webkit/browser/fileapi/isolated_file_system_backend.cc @@ -13,16 +13,15 @@ #include "base/message_loop/message_loop_proxy.h" #include "base/platform_file.h" #include "base/sequenced_task_runner.h" -#include "webkit/browser/blob/local_file_stream_reader.h" +#include "webkit/browser/blob/file_stream_reader.h" #include "webkit/browser/fileapi/async_file_util_adapter.h" #include "webkit/browser/fileapi/copy_or_move_file_validator.h" +#include "webkit/browser/fileapi/file_stream_writer.h" #include "webkit/browser/fileapi/file_system_context.h" -#include "webkit/browser/fileapi/file_system_file_stream_reader.h" #include "webkit/browser/fileapi/file_system_operation.h" #include "webkit/browser/fileapi/file_system_operation_context.h" #include "webkit/browser/fileapi/isolated_context.h" #include "webkit/browser/fileapi/isolated_file_util.h" -#include "webkit/browser/fileapi/local_file_stream_writer.h" #include "webkit/browser/fileapi/native_file_util.h" #include "webkit/browser/fileapi/transient_file_util.h" #include "webkit/common/fileapi/file_system_types.h" @@ -110,7 +109,7 @@ IsolatedFileSystemBackend::CreateFileStreamReader( const base::Time& expected_modification_time, FileSystemContext* context) const { return scoped_ptr<webkit_blob::FileStreamReader>( - new webkit_blob::LocalFileStreamReader( + webkit_blob::FileStreamReader::CreateForLocalFile( context->default_file_task_runner(), url.path(), offset, expected_modification_time)); } @@ -119,7 +118,7 @@ scoped_ptr<FileStreamWriter> IsolatedFileSystemBackend::CreateFileStreamWriter( const FileSystemURL& url, int64 offset, FileSystemContext* context) const { - return scoped_ptr<FileStreamWriter>(new LocalFileStreamWriter( + return scoped_ptr<FileStreamWriter>(FileStreamWriter::CreateForLocalFile( context->default_file_task_runner(), url.path(), offset)); } diff --git a/webkit/browser/fileapi/local_file_stream_writer.cc b/webkit/browser/fileapi/local_file_stream_writer.cc index 3f779c9..75c2cad 100644 --- a/webkit/browser/fileapi/local_file_stream_writer.cc +++ b/webkit/browser/fileapi/local_file_stream_writer.cc @@ -20,14 +20,12 @@ const int kOpenFlagsForWrite = base::PLATFORM_FILE_OPEN | } // namespace -LocalFileStreamWriter::LocalFileStreamWriter(base::TaskRunner* task_runner, - const base::FilePath& file_path, - int64 initial_offset) - : file_path_(file_path), - initial_offset_(initial_offset), - has_pending_operation_(false), - weak_factory_(this), - task_runner_(task_runner) {} +FileStreamWriter* FileStreamWriter::CreateForLocalFile( + base::TaskRunner* task_runner, + const base::FilePath& file_path, + int64 initial_offset) { + return new LocalFileStreamWriter(task_runner, file_path, initial_offset); +} LocalFileStreamWriter::~LocalFileStreamWriter() { // Invalidate weak pointers so that we won't receive any callbacks from @@ -81,6 +79,15 @@ int LocalFileStreamWriter::Flush(const net::CompletionCallback& callback) { return result; } +LocalFileStreamWriter::LocalFileStreamWriter(base::TaskRunner* task_runner, + const base::FilePath& file_path, + int64 initial_offset) + : file_path_(file_path), + initial_offset_(initial_offset), + has_pending_operation_(false), + weak_factory_(this), + task_runner_(task_runner) {} + int LocalFileStreamWriter::InitiateOpen( const net::CompletionCallback& error_callback, const base::Closure& main_operation) { diff --git a/webkit/browser/fileapi/local_file_stream_writer.h b/webkit/browser/fileapi/local_file_stream_writer.h index 08e12e8..dce428a 100644 --- a/webkit/browser/fileapi/local_file_stream_writer.h +++ b/webkit/browser/fileapi/local_file_stream_writer.h @@ -10,6 +10,7 @@ #include "base/callback.h" #include "base/compiler_specific.h" #include "base/files/file_path.h" +#include "base/gtest_prod_util.h" #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "base/platform_file.h" @@ -24,13 +25,9 @@ class FileStream; namespace fileapi { // This class is a thin wrapper around net::FileStream for writing local files. -class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE LocalFileStreamWriter - : public FileStreamWriter { +class WEBKIT_STORAGE_BROWSER_EXPORT LocalFileStreamWriter + : public NON_EXPORTED_BASE(FileStreamWriter) { public: - // Creates a writer for the existing file in the path |file_path| starting - // from |initial_offset|. Uses |task_runner| for async file operations. - LocalFileStreamWriter(base::TaskRunner* task_runner, - const base::FilePath& file_path, int64 initial_offset); virtual ~LocalFileStreamWriter(); // FileStreamWriter overrides. @@ -40,6 +37,12 @@ class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE LocalFileStreamWriter virtual int Flush(const net::CompletionCallback& callback) OVERRIDE; private: + friend class FileStreamWriter; + friend class LocalFileStreamWriterTest; + LocalFileStreamWriter(base::TaskRunner* task_runner, + const base::FilePath& file_path, + int64 initial_offset); + // Opens |file_path_| and if it succeeds, proceeds to InitiateSeek(). // If failed, the error code is returned by calling |error_callback|. int InitiateOpen(const net::CompletionCallback& error_callback, diff --git a/webkit/browser/fileapi/local_file_stream_writer_unittest.cc b/webkit/browser/fileapi/local_file_stream_writer_unittest.cc index 96b51fa..450b59b 100644 --- a/webkit/browser/fileapi/local_file_stream_writer_unittest.cc +++ b/webkit/browser/fileapi/local_file_stream_writer_unittest.cc @@ -17,9 +17,7 @@ #include "net/base/test_completion_callback.h" #include "testing/gtest/include/gtest/gtest.h" -namespace { - -using fileapi::LocalFileStreamWriter; +namespace fileapi { class LocalFileStreamWriterTest : public testing::Test { public: @@ -80,6 +78,11 @@ class LocalFileStreamWriterTest : public testing::Test { return file_thread_.message_loop_proxy().get(); } + LocalFileStreamWriter* CreateWriter(const base::FilePath& path, + int64 offset) { + return new LocalFileStreamWriter(file_task_runner(), path, offset); + } + private: base::MessageLoop message_loop_; base::Thread file_thread_; @@ -90,12 +93,9 @@ void NeverCalled(int unused) { ADD_FAILURE(); } -} // namespace - TEST_F(LocalFileStreamWriterTest, Write) { base::FilePath path = CreateFileWithContent("file_a", std::string()); - scoped_ptr<LocalFileStreamWriter> writer( - new LocalFileStreamWriter(file_task_runner(), path, 0)); + scoped_ptr<LocalFileStreamWriter> writer(CreateWriter(path, 0)); EXPECT_EQ(net::OK, WriteStringToWriter(writer.get(), "foo")); EXPECT_EQ(net::OK, WriteStringToWriter(writer.get(), "bar")); writer.reset(); @@ -106,8 +106,7 @@ TEST_F(LocalFileStreamWriterTest, Write) { TEST_F(LocalFileStreamWriterTest, WriteMiddle) { base::FilePath path = CreateFileWithContent("file_a", "foobar"); - scoped_ptr<LocalFileStreamWriter> writer( - new LocalFileStreamWriter(file_task_runner(), path, 2)); + scoped_ptr<LocalFileStreamWriter> writer(CreateWriter(path, 2)); EXPECT_EQ(net::OK, WriteStringToWriter(writer.get(), "xxx")); writer.reset(); base::MessageLoop::current()->RunUntilIdle(); @@ -117,8 +116,7 @@ TEST_F(LocalFileStreamWriterTest, WriteMiddle) { TEST_F(LocalFileStreamWriterTest, WriteEnd) { base::FilePath path = CreateFileWithContent("file_a", "foobar"); - scoped_ptr<LocalFileStreamWriter> writer( - new LocalFileStreamWriter(file_task_runner(), path, 6)); + scoped_ptr<LocalFileStreamWriter> writer(CreateWriter(path, 6)); EXPECT_EQ(net::OK, WriteStringToWriter(writer.get(), "xxx")); writer.reset(); base::MessageLoop::current()->RunUntilIdle(); @@ -129,8 +127,7 @@ TEST_F(LocalFileStreamWriterTest, WriteEnd) { TEST_F(LocalFileStreamWriterTest, WriteFailForNonexistingFile) { base::FilePath path = Path("file_a"); ASSERT_FALSE(base::PathExists(path)); - scoped_ptr<LocalFileStreamWriter> writer( - new LocalFileStreamWriter(file_task_runner(), path, 0)); + scoped_ptr<LocalFileStreamWriter> writer(CreateWriter(path, 0)); EXPECT_EQ(net::ERR_FILE_NOT_FOUND, WriteStringToWriter(writer.get(), "foo")); writer.reset(); base::MessageLoop::current()->RunUntilIdle(); @@ -139,8 +136,7 @@ TEST_F(LocalFileStreamWriterTest, WriteFailForNonexistingFile) { TEST_F(LocalFileStreamWriterTest, CancelBeforeOperation) { base::FilePath path = Path("file_a"); - scoped_ptr<LocalFileStreamWriter> writer( - new LocalFileStreamWriter(file_task_runner(), path, 0)); + scoped_ptr<LocalFileStreamWriter> writer(CreateWriter(path, 0)); // Cancel immediately fails when there's no in-flight operation. int cancel_result = writer->Cancel(base::Bind(&NeverCalled)); EXPECT_EQ(net::ERR_UNEXPECTED, cancel_result); @@ -148,8 +144,7 @@ TEST_F(LocalFileStreamWriterTest, CancelBeforeOperation) { TEST_F(LocalFileStreamWriterTest, CancelAfterFinishedOperation) { base::FilePath path = CreateFileWithContent("file_a", std::string()); - scoped_ptr<LocalFileStreamWriter> writer( - new LocalFileStreamWriter(file_task_runner(), path, 0)); + scoped_ptr<LocalFileStreamWriter> writer(CreateWriter(path, 0)); EXPECT_EQ(net::OK, WriteStringToWriter(writer.get(), "foo")); // Cancel immediately fails when there's no in-flight operation. @@ -165,8 +160,7 @@ TEST_F(LocalFileStreamWriterTest, CancelAfterFinishedOperation) { TEST_F(LocalFileStreamWriterTest, CancelWrite) { base::FilePath path = CreateFileWithContent("file_a", "foobar"); - scoped_ptr<LocalFileStreamWriter> writer( - new LocalFileStreamWriter(file_task_runner(), path, 0)); + scoped_ptr<LocalFileStreamWriter> writer(CreateWriter(path, 0)); scoped_refptr<net::StringIOBuffer> buffer(new net::StringIOBuffer("xxx")); int result = @@ -178,3 +172,5 @@ TEST_F(LocalFileStreamWriterTest, CancelWrite) { int cancel_result = callback.WaitForResult(); EXPECT_EQ(net::OK, cancel_result); } + +} // namespace fileapi diff --git a/webkit/browser/fileapi/sandbox_file_stream_writer.cc b/webkit/browser/fileapi/sandbox_file_stream_writer.cc index 2e075ce..24fe1c9 100644 --- a/webkit/browser/fileapi/sandbox_file_stream_writer.cc +++ b/webkit/browser/fileapi/sandbox_file_stream_writer.cc @@ -9,11 +9,11 @@ #include "base/sequenced_task_runner.h" #include "net/base/io_buffer.h" #include "net/base/net_errors.h" -#include "webkit/browser/blob/local_file_stream_reader.h" +#include "webkit/browser/blob/file_stream_reader.h" #include "webkit/browser/fileapi/file_observers.h" +#include "webkit/browser/fileapi/file_stream_writer.h" #include "webkit/browser/fileapi/file_system_context.h" #include "webkit/browser/fileapi/file_system_operation_runner.h" -#include "webkit/browser/fileapi/local_file_stream_writer.h" #include "webkit/browser/quota/quota_manager.h" #include "webkit/common/fileapi/file_system_util.h" @@ -137,7 +137,7 @@ void SandboxFileStreamWriter::DidCreateSnapshotFile( initial_offset_ = file_size_; } DCHECK(!local_file_writer_.get()); - local_file_writer_.reset(new LocalFileStreamWriter( + local_file_writer_.reset(FileStreamWriter::CreateForLocalFile( file_system_context_->default_file_task_runner(), platform_path, initial_offset_)); diff --git a/webkit/browser/fileapi/sandbox_file_stream_writer.h b/webkit/browser/fileapi/sandbox_file_stream_writer.h index 43fb0cd..8112337 100644 --- a/webkit/browser/fileapi/sandbox_file_stream_writer.h +++ b/webkit/browser/fileapi/sandbox_file_stream_writer.h @@ -21,10 +21,10 @@ namespace fileapi { class FileSystemContext; class FileSystemQuotaUtil; -class LocalFileStreamWriter; +class FileStreamWriter; class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE SandboxFileStreamWriter - : public FileStreamWriter { + : public NON_EXPORTED_BASE(FileStreamWriter) { public: SandboxFileStreamWriter(FileSystemContext* file_system_context, const FileSystemURL& url, @@ -72,7 +72,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE SandboxFileStreamWriter scoped_refptr<FileSystemContext> file_system_context_; FileSystemURL url_; int64 initial_offset_; - scoped_ptr<LocalFileStreamWriter> local_file_writer_; + scoped_ptr<FileStreamWriter> local_file_writer_; net::CompletionCallback cancel_callback_; UpdateObserverList observers_; diff --git a/webkit/browser/fileapi/sandbox_file_system_backend.cc b/webkit/browser/fileapi/sandbox_file_system_backend.cc index fb83f68..a5adc63 100644 --- a/webkit/browser/fileapi/sandbox_file_system_backend.cc +++ b/webkit/browser/fileapi/sandbox_file_system_backend.cc @@ -10,16 +10,16 @@ #include "base/metrics/histogram.h" #include "base/task_runner_util.h" #include "url/gurl.h" +#include "webkit/browser/blob/file_stream_reader.h" #include "webkit/browser/fileapi/async_file_util_adapter.h" #include "webkit/browser/fileapi/copy_or_move_file_validator.h" +#include "webkit/browser/fileapi/file_stream_writer.h" #include "webkit/browser/fileapi/file_system_context.h" -#include "webkit/browser/fileapi/file_system_file_stream_reader.h" #include "webkit/browser/fileapi/file_system_operation.h" #include "webkit/browser/fileapi/file_system_operation_context.h" #include "webkit/browser/fileapi/file_system_options.h" #include "webkit/browser/fileapi/file_system_usage_cache.h" #include "webkit/browser/fileapi/obfuscated_file_util.h" -#include "webkit/browser/fileapi/sandbox_file_stream_writer.h" #include "webkit/browser/fileapi/sandbox_file_system_backend_delegate.h" #include "webkit/browser/fileapi/sandbox_quota_observer.h" #include "webkit/browser/quota/quota_manager.h" diff --git a/webkit/browser/fileapi/sandbox_file_system_backend_delegate.cc b/webkit/browser/fileapi/sandbox_file_system_backend_delegate.cc index eaca4d9..1cb61bb 100644 --- a/webkit/browser/fileapi/sandbox_file_system_backend_delegate.cc +++ b/webkit/browser/fileapi/sandbox_file_system_backend_delegate.cc @@ -10,9 +10,9 @@ #include "base/stl_util.h" #include "base/task_runner_util.h" #include "net/base/net_util.h" +#include "webkit/browser/blob/file_stream_reader.h" #include "webkit/browser/fileapi/async_file_util_adapter.h" #include "webkit/browser/fileapi/file_system_context.h" -#include "webkit/browser/fileapi/file_system_file_stream_reader.h" #include "webkit/browser/fileapi/file_system_operation_context.h" #include "webkit/browser/fileapi/file_system_url.h" #include "webkit/browser/fileapi/file_system_usage_cache.h" @@ -281,7 +281,7 @@ SandboxFileSystemBackendDelegate::CreateFileStreamReader( if (!IsAccessValid(url)) return scoped_ptr<webkit_blob::FileStreamReader>(); return scoped_ptr<webkit_blob::FileStreamReader>( - new FileSystemFileStreamReader( + webkit_blob::FileStreamReader::CreateForFileSystemFile( context, url, offset, expected_modification_time)); } diff --git a/webkit/browser/fileapi/test_file_system_backend.cc b/webkit/browser/fileapi/test_file_system_backend.cc index 55ad976..44109cf 100644 --- a/webkit/browser/fileapi/test_file_system_backend.cc +++ b/webkit/browser/fileapi/test_file_system_backend.cc @@ -10,9 +10,9 @@ #include "base/file_util.h" #include "base/sequenced_task_runner.h" +#include "webkit/browser/blob/file_stream_reader.h" #include "webkit/browser/fileapi/copy_or_move_file_validator.h" #include "webkit/browser/fileapi/file_observers.h" -#include "webkit/browser/fileapi/file_system_file_stream_reader.h" #include "webkit/browser/fileapi/file_system_operation.h" #include "webkit/browser/fileapi/file_system_operation_context.h" #include "webkit/browser/fileapi/file_system_quota_util.h" @@ -215,7 +215,7 @@ TestFileSystemBackend::CreateFileStreamReader( const base::Time& expected_modification_time, FileSystemContext* context) const { return scoped_ptr<webkit_blob::FileStreamReader>( - new FileSystemFileStreamReader( + webkit_blob::FileStreamReader::CreateForFileSystemFile( context, url, offset, expected_modification_time)); } |