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

Unified Diff: content/browser/loader/redirect_to_file_resource_handler.cc

Issue 25536005: Clean up ResourceHandler API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 2 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: 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;
}
}
« no previous file with comments | « content/browser/loader/redirect_to_file_resource_handler.h ('k') | content/browser/loader/resource_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698