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 eba4927fd3a3d0b26b247205a9c132942d3db6b9..4ea467d14cc6c812a912d92f75db22cb3080621d 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() |
@@ -61,8 +66,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)); |
} |
storage::WatcherManager* BackendDelegate::GetWatcherManager( |