Index: content/browser/loader/redirect_to_file_resource_handler.cc |
diff --git a/content/browser/loader/redirect_to_file_resource_handler.cc b/content/browser/loader/redirect_to_file_resource_handler.cc |
index 74dc08ac572df11f3bd3ed65f6c2548b421e188a..45cf93431df87f3c4d4bdab59697850aaf2d4309 100644 |
--- a/content/browser/loader/redirect_to_file_resource_handler.cc |
+++ b/content/browser/loader/redirect_to_file_resource_handler.cc |
@@ -11,8 +11,8 @@ |
#include "base/platform_file.h" |
#include "base/threading/thread_restrictions.h" |
#include "content/browser/loader/resource_dispatcher_host_impl.h" |
+#include "content/browser/loader/resource_request_info_impl.h" |
#include "content/public/browser/browser_thread.h" |
-#include "content/public/browser/resource_request_info.h" |
#include "content/public/common/resource_response.h" |
#include "net/base/file_stream.h" |
#include "net/base/io_buffer.h" |
@@ -57,10 +57,9 @@ RedirectToFileResourceHandler::RedirectToFileResourceHandler( |
scoped_ptr<ResourceHandler> next_handler, |
net::URLRequest* request, |
ResourceDispatcherHostImpl* host) |
- : LayeredResourceHandler(next_handler.Pass()), |
+ : LayeredResourceHandler(request, next_handler.Pass()), |
weak_factory_(this), |
host_(host), |
- request_(request), |
buf_(new net::GrowableIOBuffer()), |
buf_write_pending_(false), |
write_cursor_(0), |
@@ -103,10 +102,11 @@ bool RedirectToFileResourceHandler::OnWillStart(int request_id, |
return next_handler_->OnWillStart(request_id, url, defer); |
} |
-bool RedirectToFileResourceHandler::OnWillRead(int request_id, |
- net::IOBuffer** buf, |
- int* buf_size, |
- int min_size) { |
+bool RedirectToFileResourceHandler::OnWillRead( |
+ int request_id, |
+ scoped_refptr<net::IOBuffer>* buf, |
+ int* buf_size, |
+ int min_size) { |
DCHECK_EQ(-1, min_size); |
if (buf_->capacity() < next_buffer_size_) |
@@ -171,7 +171,7 @@ void RedirectToFileResourceHandler::DidCreateTemporaryFile( |
new net::FileStream(file_handle.ReleaseValue(), |
base::PLATFORM_FILE_WRITE | base::PLATFORM_FILE_ASYNC, |
NULL)); |
- const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); |
+ const ResourceRequestInfo* info = GetRequestInfo(); |
host_->RegisterDownloadedTempFile( |
info->GetChildID(), info->GetRequestID(), deletable_file_.get()); |
ResumeIfDeferred(); |
@@ -179,11 +179,11 @@ void RedirectToFileResourceHandler::DidCreateTemporaryFile( |
void RedirectToFileResourceHandler::DidWriteToFile(int result) { |
write_callback_pending_ = false; |
- const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); |
+ int request_id = GetRequestID(); |
bool failed = false; |
if (result > 0) { |
- next_handler_->OnDataDownloaded(info->GetRequestID(), result); |
+ next_handler_->OnDataDownloaded(request_id, result); |
write_cursor_ += result; |
failed = !WriteMore(); |
} else { |
@@ -193,7 +193,7 @@ void RedirectToFileResourceHandler::DidWriteToFile(int result) { |
if (failed) { |
ResumeIfDeferred(); |
} else if (completed_during_write_) { |
- if (next_handler_->OnResponseCompleted(info->GetRequestID(), |
+ if (next_handler_->OnResponseCompleted(request_id, |
completed_status_, |
completed_security_info_)) { |
ResumeIfDeferred(); |
@@ -248,8 +248,7 @@ bool RedirectToFileResourceHandler::WriteMore() { |
} |
if (rv <= 0) |
return false; |
- const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); |
- next_handler_->OnDataDownloaded(info->GetRequestID(), rv); |
+ next_handler_->OnDataDownloaded(GetRequestID(), rv); |
write_cursor_ += rv; |
} |
} |