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..8d8094bccf1dd7b6d01d630ee0252f1825a6342c 100644 |
--- a/net/url_request/url_request_file_job.cc |
+++ b/net/url_request/url_request_file_job.cc |
@@ -99,9 +99,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(), |
+ base::Unretained(dest))); |
rvargas (doing something else)
2014/04/08 16:53:45
This cannot be unretained because the stream is al
asargent_no_longer_on_chrome
2014/04/09 20:59:59
Ok, I guess I was confused by both the code flow a
rvargas (doing something else)
2014/04/09 23:48:50
yeah, the comment definitely can be improved.
|
if (rv >= 0) { |
// Data is immediately available. |
*bytes_read = rv; |
@@ -192,6 +194,9 @@ void URLRequestFileJob::SetExtraRequestHeaders( |
} |
} |
+void URLRequestFileJob::OnSeekComplete(int64 result) {} |
rvargas (doing something else)
2014/04/08 16:53:45
nit: use {
}
and an empty line between the methods
asargent_no_longer_on_chrome
2014/04/09 20:59:59
Done.
(Note that 'git cl format' does {} without
|
+void URLRequestFileJob::OnReadComplete(net::IOBuffer* buf, int result) {} |
+ |
URLRequestFileJob::~URLRequestFileJob() { |
} |
@@ -273,6 +278,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 +289,8 @@ void URLRequestFileJob::DidSeek(int64 result) { |
NotifyHeadersComplete(); |
} |
-void URLRequestFileJob::DidRead(int result) { |
+void URLRequestFileJob::DidRead(net::IOBuffer* buf, int result) { |
+ OnReadComplete(buf, result); |
if (result > 0) { |
SetStatus(URLRequestStatus()); // Clear the IO_PENDING status |
} else if (result == 0) { |