summaryrefslogtreecommitdiffstats
path: root/webkit/browser/fileapi
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/browser/fileapi')
-rw-r--r--webkit/browser/fileapi/file_stream_writer.h14
-rw-r--r--webkit/browser/fileapi/file_system_file_stream_reader.cc50
-rw-r--r--webkit/browser/fileapi/file_system_file_stream_reader.h34
-rw-r--r--webkit/browser/fileapi/isolated_file_system_backend.cc9
-rw-r--r--webkit/browser/fileapi/local_file_stream_writer.cc23
-rw-r--r--webkit/browser/fileapi/local_file_stream_writer.h15
-rw-r--r--webkit/browser/fileapi/local_file_stream_writer_unittest.cc34
-rw-r--r--webkit/browser/fileapi/sandbox_file_stream_writer.cc6
-rw-r--r--webkit/browser/fileapi/sandbox_file_stream_writer.h6
-rw-r--r--webkit/browser/fileapi/sandbox_file_system_backend.cc4
-rw-r--r--webkit/browser/fileapi/sandbox_file_system_backend_delegate.cc4
-rw-r--r--webkit/browser/fileapi/test_file_system_backend.cc4
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));
}