Index: chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc |
diff --git a/chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc b/chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc |
index 5cd5e30c6e40a9dfe6eec6ea8f9bd98d8eb8390f..148b2715391c6ae300190e5a9826b3ede7a1e511 100644 |
--- a/chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc |
+++ b/chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc |
@@ -6,6 +6,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "chrome/browser/chromeos/file_system_provider/fileapi/buffering_file_stream_reader.h" |
+#include "chrome/browser/chromeos/file_system_provider/fileapi/buffering_file_stream_writer.h" |
#include "chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.h" |
#include "chrome/browser/chromeos/file_system_provider/fileapi/file_stream_writer.h" |
#include "chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.h" |
@@ -24,6 +25,10 @@ namespace { |
// be read ahead of the requested data. |
const int kReaderBufferSize = 512 * 1024; // 512KB. |
+// Size of the stream writer internal buffer. At most this number of bytes will |
+// be postponed for writing. |
+const int kWriterBufferSize = 512 * 1024; // 512KB. |
+ |
} // namespace |
BackendDelegate::BackendDelegate() |
@@ -59,8 +64,9 @@ scoped_ptr<storage::FileStreamWriter> BackendDelegate::CreateFileStreamWriter( |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
DCHECK_EQ(storage::kFileSystemTypeProvided, url.type()); |
- return scoped_ptr<storage::FileStreamWriter>( |
- new FileStreamWriter(url, offset)); |
+ return scoped_ptr<storage::FileStreamWriter>(new BufferingFileStreamWriter( |
+ scoped_ptr<storage::FileStreamWriter>(new FileStreamWriter(url, offset)), |
+ kWriterBufferSize)); |
} |
} // namespace file_system_provider |