Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1422)

Unified Diff: chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc

Issue 301973007: [fsp] Fix crash when reading files. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc
diff --git a/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc b/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc
index c7a5aec20861d765f9c8827f83d2435e5719c61c..4bdb3ad1c51be2065cf2828dc7c4e67f91a105b9 100644
--- a/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc
+++ b/chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.cc
@@ -5,10 +5,12 @@
#include "chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader.h"
#include "base/files/file.h"
+#include "base/memory/ref_counted.h"
#include "chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.h"
#include "chrome/browser/chromeos/file_system_provider/mount_path_util.h"
#include "chrome/browser/chromeos/file_system_provider/provided_file_system_interface.h"
#include "content/public/browser/browser_thread.h"
+#include "net/base/io_buffer.h"
#include "net/base/net_errors.h"
using content::BrowserThread;
@@ -82,7 +84,7 @@ void CloseFileOnUIThread(base::WeakPtr<ProvidedFileSystemInterface> file_system,
void ReadFileOnUIThread(
base::WeakPtr<ProvidedFileSystemInterface> file_system,
int file_handle,
- net::IOBuffer* buffer,
+ scoped_refptr<net::IOBuffer> buffer,
int64 offset,
int length,
const ProvidedFileSystemInterface::ReadChunkReceivedCallback& callback) {
@@ -206,7 +208,7 @@ int FileStreamReader::Read(net::IOBuffer* buffer,
if (!file_handle_) {
Initialize(base::Bind(&FileStreamReader::ReadAfterInitialized,
weak_ptr_factory_.GetWeakPtr(),
- buffer,
+ make_scoped_refptr(buffer),
buffer_length,
callback),
base::Bind(&Int64ToIntCompletionCallback, callback));
@@ -233,7 +235,7 @@ int64 FileStreamReader::GetLength(
}
void FileStreamReader::ReadAfterInitialized(
- net::IOBuffer* buffer,
+ scoped_refptr<net::IOBuffer> buffer,
int buffer_length,
const net::CompletionCallback& callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);

Powered by Google App Engine
This is Rietveld 408576698