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

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

Issue 2526983002: Refactor ResourceHandler API. (Closed)
Patch Set: Fix stuff Created 4 years, 1 month 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/resource_handler.cc
diff --git a/content/browser/loader/resource_handler.cc b/content/browser/loader/resource_handler.cc
index 1c9287e3ad29d84bad0ff66b299e765c2d4fb485..e2a1155630400ce0558e859fa80f68ade2bfe0fd 100644
--- a/content/browser/loader/resource_handler.cc
+++ b/content/browser/loader/resource_handler.cc
@@ -4,6 +4,7 @@
#include "content/browser/loader/resource_handler.h"
+#include "content/browser/loader/resource_dispatcher_host_impl.h"
#include "content/browser/loader/resource_request_info_impl.h"
namespace content {
@@ -11,12 +12,30 @@ namespace content {
ResourceHandler::~ResourceHandler() {}
ResourceHandler::ResourceHandler(net::URLRequest* request)
- : controller_(NULL),
- request_(request) {
+ : request_(request) {}
+
+std::unique_ptr<ResourceController> ResourceHandler::TakeController() {
+ DCHECK(controller_);
+
+ std::unique_ptr<ResourceController> controller;
+ std::swap(controller, controller_);
+ return controller;
+}
+
+void ResourceHandler::Resume() {
+ TakeController()->Resume();
+}
+
+void ResourceHandler::Cancel() {
+ TakeController()->Cancel();
+}
+
+void ResourceHandler::CancelAndIgnore() {
+ TakeController()->CancelAndIgnore();
}
-void ResourceHandler::SetController(ResourceController* controller) {
- controller_ = controller;
+void ResourceHandler::CancelWithError(int error_code) {
+ TakeController()->CancelWithError(error_code);
}
ResourceRequestInfoImpl* ResourceHandler::GetRequestInfo() const {
@@ -31,4 +50,10 @@ ResourceMessageFilter* ResourceHandler::GetFilter() const {
return GetRequestInfo()->filter();
}
+void ResourceHandler::OutOfBandCancel() {
+ ResourceRequestInfoImpl* info = GetRequestInfo();
+ GlobalRequestID id = info->GetGlobalRequestID();
+ ResourceDispatcherHostImpl::Get()->CancelRequest(id.child_id, id.request_id);
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698