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

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

Issue 2526983002: Refactor ResourceHandler API. (Closed)
Patch Set: Response to comments Created 3 years, 11 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
« no previous file with comments | « content/browser/loader/stream_resource_handler.h ('k') | content/browser/loader/stream_writer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/loader/stream_resource_handler.cc
diff --git a/content/browser/loader/stream_resource_handler.cc b/content/browser/loader/stream_resource_handler.cc
index 3560f98d17b9c84c252ac0f3f7b33c0de79abefb..117c1933a2e8cab4f67049226ec42e4d3a5ed628 100644
--- a/content/browser/loader/stream_resource_handler.cc
+++ b/content/browser/loader/stream_resource_handler.cc
@@ -4,7 +4,9 @@
#include "content/browser/loader/stream_resource_handler.h"
+#include "base/bind.h"
#include "base/logging.h"
+#include "content/browser/loader/resource_controller.h"
#include "net/url_request/url_request_status.h"
namespace content {
@@ -13,31 +15,32 @@ StreamResourceHandler::StreamResourceHandler(net::URLRequest* request,
StreamRegistry* registry,
const GURL& origin)
: ResourceHandler(request) {
- writer_.InitializeStream(registry, origin);
+ writer_.InitializeStream(registry, origin,
+ base::Bind(&StreamResourceHandler::OutOfBandCancel,
+ base::Unretained(this), net::ERR_ABORTED,
+ true /* tell_renderer */));
}
StreamResourceHandler::~StreamResourceHandler() {
}
-void StreamResourceHandler::SetController(ResourceController* controller) {
- writer_.set_controller(controller);
- ResourceHandler::SetController(controller);
-}
-
-bool StreamResourceHandler::OnRequestRedirected(
+void StreamResourceHandler::OnRequestRedirected(
const net::RedirectInfo& redirect_info,
ResourceResponse* resp,
- bool* defer) {
- return true;
+ std::unique_ptr<ResourceController> controller) {
+ controller->Resume();
}
-bool StreamResourceHandler::OnResponseStarted(ResourceResponse* resp,
- bool* defer) {
- return true;
+void StreamResourceHandler::OnResponseStarted(
+ ResourceResponse* resp,
+ std::unique_ptr<ResourceController> controller) {
+ controller->Resume();
}
-bool StreamResourceHandler::OnWillStart(const GURL& url, bool* defer) {
- return true;
+void StreamResourceHandler::OnWillStart(
+ const GURL& url,
+ std::unique_ptr<ResourceController> controller) {
+ controller->Resume();
}
bool StreamResourceHandler::OnWillRead(scoped_refptr<net::IOBuffer>* buf,
@@ -47,15 +50,19 @@ bool StreamResourceHandler::OnWillRead(scoped_refptr<net::IOBuffer>* buf,
return true;
}
-bool StreamResourceHandler::OnReadCompleted(int bytes_read, bool* defer) {
- writer_.OnReadCompleted(bytes_read, defer);
- return true;
+void StreamResourceHandler::OnReadCompleted(
+ int bytes_read,
+ std::unique_ptr<ResourceController> controller) {
+ writer_.OnReadCompleted(bytes_read,
+ base::Bind(&ResourceController::Resume,
+ base::Passed(std::move(controller))));
}
void StreamResourceHandler::OnResponseCompleted(
const net::URLRequestStatus& status,
- bool* defer) {
+ std::unique_ptr<ResourceController> controller) {
writer_.Finalize(status.error());
+ controller->Resume();
}
void StreamResourceHandler::OnDataDownloaded(int bytes_downloaded) {
« no previous file with comments | « content/browser/loader/stream_resource_handler.h ('k') | content/browser/loader/stream_writer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698