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 c63e8a2583e8c8e268343ce2972fa5813e34a035..be229a8ff9920a830351d8797d1b47cb9b1481c9 100644 |
--- a/chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc |
+++ b/chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/chromeos/file_system_provider/fileapi/backend_delegate.h" |
#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/file_stream_reader.h" |
#include "chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.h" |
#include "content/public/browser/browser_thread.h" |
@@ -16,6 +17,13 @@ using content::BrowserThread; |
namespace chromeos { |
namespace file_system_provider { |
+namespace { |
+ |
+// Size of the stream reader internal buffer. At most this number of bytes will |
+// be read ahead of the requested data. |
+const int kBufferSize = 512 * 1024; // 512KB. |
hashimoto
2014/06/05 03:18:36
nit: kBufferSize sounds too general. How about som
mtomasz
2014/06/05 09:22:27
Done.
|
+ |
+} // namespace |
BackendDelegate::BackendDelegate() |
: async_file_util_(new internal::ProviderAsyncFileUtil) {} |
@@ -39,7 +47,10 @@ BackendDelegate::CreateFileStreamReader( |
DCHECK_EQ(fileapi::kFileSystemTypeProvided, url.type()); |
return scoped_ptr<webkit_blob::FileStreamReader>( |
- new FileStreamReader(context, url, offset, expected_modification_time)); |
+ new BufferingFileStreamReader( |
+ scoped_ptr<webkit_blob::FileStreamReader>(new FileStreamReader( |
+ context, url, offset, expected_modification_time)), |
+ kBufferSize)); |
} |
scoped_ptr<fileapi::FileStreamWriter> BackendDelegate::CreateFileStreamWriter( |