Index: content/browser/loader/resource_handler.cc |
diff --git a/content/browser/loader/resource_handler.cc b/content/browser/loader/resource_handler.cc |
index 896809a3d2d334001d4d3f5fb92352b2657de096..96f00ec76454cc1d40d4d61fd3f209d2cd8f1c77 100644 |
--- a/content/browser/loader/resource_handler.cc |
+++ b/content/browser/loader/resource_handler.cc |
@@ -8,15 +8,45 @@ |
namespace content { |
+ResourceHandler::Delegate::Delegate() {} |
+ |
+ResourceHandler::Delegate::~Delegate() {} |
+ |
+void ResourceHandler::SetDelegate(Delegate* delegate) { |
+ delegate_ = delegate; |
+} |
+ |
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::CancelWithError(int error_code) { |
+ TakeController()->CancelWithError(error_code); |
} |
-void ResourceHandler::SetController(ResourceController* controller) { |
- controller_ = controller; |
+void ResourceHandler::OutOfBandCancel(int error_code, bool tell_renderer) { |
+ delegate_->OutOfBandCancel(error_code, tell_renderer); |
} |
ResourceRequestInfoImpl* ResourceHandler::GetRequestInfo() const { |