| Index: net/url_request/url_request_file_job.cc
|
| diff --git a/net/url_request/url_request_file_job.cc b/net/url_request/url_request_file_job.cc
|
| index 7db8d818836bf77fb9398a1f3cbd4327f5030e4a..fffdc0789e89db4b1d926b3ecc74b578a6f66bb8 100644
|
| --- a/net/url_request/url_request_file_job.cc
|
| +++ b/net/url_request/url_request_file_job.cc
|
| @@ -83,8 +83,9 @@ void URLRequestFileJob::Kill() {
|
| URLRequestJob::Kill();
|
| }
|
|
|
| -bool URLRequestFileJob::ReadRawData(IOBuffer* dest, int dest_size,
|
| - int *bytes_read) {
|
| +bool URLRequestFileJob::ReadRawData(IOBuffer* dest,
|
| + int dest_size,
|
| + int* bytes_read) {
|
| DCHECK_NE(dest_size, 0);
|
| DCHECK(bytes_read);
|
| DCHECK_GE(remaining_bytes_, 0);
|
| @@ -99,9 +100,11 @@ bool URLRequestFileJob::ReadRawData(IOBuffer* dest, int dest_size,
|
| return true;
|
| }
|
|
|
| - int rv = stream_->Read(dest, dest_size,
|
| + int rv = stream_->Read(dest,
|
| + dest_size,
|
| base::Bind(&URLRequestFileJob::DidRead,
|
| - weak_ptr_factory_.GetWeakPtr()));
|
| + weak_ptr_factory_.GetWeakPtr(),
|
| + make_scoped_refptr(dest)));
|
| if (rv >= 0) {
|
| // Data is immediately available.
|
| *bytes_read = rv;
|
| @@ -192,6 +195,12 @@ void URLRequestFileJob::SetExtraRequestHeaders(
|
| }
|
| }
|
|
|
| +void URLRequestFileJob::OnSeekComplete(int64 result) {
|
| +}
|
| +
|
| +void URLRequestFileJob::OnReadComplete(net::IOBuffer* buf, int result) {
|
| +}
|
| +
|
| URLRequestFileJob::~URLRequestFileJob() {
|
| }
|
|
|
| @@ -273,6 +282,7 @@ void URLRequestFileJob::DidOpen(int result) {
|
| }
|
|
|
| void URLRequestFileJob::DidSeek(int64 result) {
|
| + OnSeekComplete(result);
|
| if (result != byte_range_.first_byte_position()) {
|
| NotifyDone(URLRequestStatus(URLRequestStatus::FAILED,
|
| ERR_REQUEST_RANGE_NOT_SATISFIABLE));
|
| @@ -283,7 +293,9 @@ void URLRequestFileJob::DidSeek(int64 result) {
|
| NotifyHeadersComplete();
|
| }
|
|
|
| -void URLRequestFileJob::DidRead(int result) {
|
| +void URLRequestFileJob::DidRead(scoped_refptr<net::IOBuffer> buf, int result) {
|
| + OnReadComplete(buf.get(), result);
|
| + buf = NULL;
|
| if (result > 0) {
|
| SetStatus(URLRequestStatus()); // Clear the IO_PENDING status
|
| } else if (result == 0) {
|
|
|