Index: trunk/src/content/browser/loader/redirect_to_file_resource_handler.cc |
=================================================================== |
--- trunk/src/content/browser/loader/redirect_to_file_resource_handler.cc (revision 227593) |
+++ trunk/src/content/browser/loader/redirect_to_file_resource_handler.cc (working copy) |
@@ -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,9 +57,10 @@ |
scoped_ptr<ResourceHandler> next_handler, |
net::URLRequest* request, |
ResourceDispatcherHostImpl* host) |
- : LayeredResourceHandler(request, next_handler.Pass()), |
+ : LayeredResourceHandler(next_handler.Pass()), |
weak_factory_(this), |
host_(host), |
+ request_(request), |
buf_(new net::GrowableIOBuffer()), |
buf_write_pending_(false), |
write_cursor_(0), |
@@ -102,11 +103,10 @@ |
return next_handler_->OnWillStart(request_id, url, defer); |
} |
-bool RedirectToFileResourceHandler::OnWillRead( |
- int request_id, |
- scoped_refptr<net::IOBuffer>* buf, |
- int* buf_size, |
- int min_size) { |
+bool RedirectToFileResourceHandler::OnWillRead(int request_id, |
+ net::IOBuffer** buf, |
+ int* buf_size, |
+ int min_size) { |
DCHECK_EQ(-1, min_size); |
if (buf_->capacity() < next_buffer_size_) |
@@ -171,7 +171,7 @@ |
new net::FileStream(file_handle.ReleaseValue(), |
base::PLATFORM_FILE_WRITE | base::PLATFORM_FILE_ASYNC, |
NULL)); |
- const ResourceRequestInfo* info = GetRequestInfo(); |
+ const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); |
host_->RegisterDownloadedTempFile( |
info->GetChildID(), info->GetRequestID(), deletable_file_.get()); |
ResumeIfDeferred(); |
@@ -179,11 +179,11 @@ |
void RedirectToFileResourceHandler::DidWriteToFile(int result) { |
write_callback_pending_ = false; |
- int request_id = GetRequestID(); |
+ const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); |
bool failed = false; |
if (result > 0) { |
- next_handler_->OnDataDownloaded(request_id, result); |
+ next_handler_->OnDataDownloaded(info->GetRequestID(), result); |
write_cursor_ += result; |
failed = !WriteMore(); |
} else { |
@@ -193,7 +193,7 @@ |
if (failed) { |
ResumeIfDeferred(); |
} else if (completed_during_write_) { |
- if (next_handler_->OnResponseCompleted(request_id, |
+ if (next_handler_->OnResponseCompleted(info->GetRequestID(), |
completed_status_, |
completed_security_info_)) { |
ResumeIfDeferred(); |
@@ -248,7 +248,8 @@ |
} |
if (rv <= 0) |
return false; |
- next_handler_->OnDataDownloaded(GetRequestID(), rv); |
+ const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request_); |
+ next_handler_->OnDataDownloaded(info->GetRequestID(), rv); |
write_cursor_ += rv; |
} |
} |