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

Side by Side Diff: content/browser/loader/resource_handler.cc

Issue 2526983002: Refactor ResourceHandler API. (Closed)
Patch Set: Silly merge 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/loader/resource_handler.h" 5 #include "content/browser/loader/resource_handler.h"
6 6
7 #include "content/browser/loader/resource_request_info_impl.h" 7 #include "content/browser/loader/resource_request_info_impl.h"
8 8
9 namespace content { 9 namespace content {
10 10
11 ResourceHandler::Delegate::Delegate() {}
12
13 ResourceHandler::Delegate::~Delegate() {}
14
15 void ResourceHandler::SetDelegate(Delegate* delegate) {
16 delegate_ = delegate;
17 }
18
11 ResourceHandler::~ResourceHandler() {} 19 ResourceHandler::~ResourceHandler() {}
12 20
13 ResourceHandler::ResourceHandler(net::URLRequest* request) 21 ResourceHandler::ResourceHandler(net::URLRequest* request)
14 : controller_(NULL), 22 : request_(request) {}
15 request_(request) { 23
24 void ResourceHandler::HoldController(
25 std::unique_ptr<ResourceController> controller) {
26 controller_ = std::move(controller);
16 } 27 }
17 28
18 void ResourceHandler::SetController(ResourceController* controller) { 29 std::unique_ptr<ResourceController> ResourceHandler::ReleaseController() {
19 controller_ = controller; 30 DCHECK(controller_);
31
32 // Can't use std::move, as that doesn't allow subsequently checking if
33 // |controller_| is null or not.
Charlie Harrison 2017/01/25 20:23:00 Are you sure? I thought move semantics guaranteed
mmenke 2017/01/25 22:07:59 You're right...It's not guaranteed be std::move in
34 std::unique_ptr<ResourceController> controller;
35 std::swap(controller, controller_);
36 return controller;
37 }
38
39 void ResourceHandler::Resume() {
40 ReleaseController()->Resume();
41 }
42
43 void ResourceHandler::Cancel() {
44 ReleaseController()->Cancel();
45 }
46
47 void ResourceHandler::CancelAndIgnore() {
48 ReleaseController()->CancelAndIgnore();
49 }
50
51 void ResourceHandler::CancelWithError(int error_code) {
52 ReleaseController()->CancelWithError(error_code);
53 }
54
55 void ResourceHandler::OutOfBandCancel(int error_code, bool tell_renderer) {
56 delegate_->OutOfBandCancel(error_code, tell_renderer);
20 } 57 }
21 58
22 ResourceRequestInfoImpl* ResourceHandler::GetRequestInfo() const { 59 ResourceRequestInfoImpl* ResourceHandler::GetRequestInfo() const {
23 return ResourceRequestInfoImpl::ForRequest(request_); 60 return ResourceRequestInfoImpl::ForRequest(request_);
24 } 61 }
25 62
26 int ResourceHandler::GetRequestID() const { 63 int ResourceHandler::GetRequestID() const {
27 return GetRequestInfo()->GetRequestID(); 64 return GetRequestInfo()->GetRequestID();
28 } 65 }
29 66
30 ResourceMessageFilter* ResourceHandler::GetFilter() const { 67 ResourceMessageFilter* ResourceHandler::GetFilter() const {
31 return GetRequestInfo()->requester_info()->filter(); 68 return GetRequestInfo()->requester_info()->filter();
32 } 69 }
33 70
34 } // namespace content 71 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698