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

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

Issue 2526983002: Refactor ResourceHandler API. (Closed)
Patch Set: Fix stuff Created 4 years 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/layered_resource_handler.h" 5 #include "content/browser/loader/layered_resource_handler.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "content/public/browser/resource_controller.h"
10 11
11 namespace content { 12 namespace content {
12 13
13 LayeredResourceHandler::LayeredResourceHandler( 14 LayeredResourceHandler::LayeredResourceHandler(
14 net::URLRequest* request, 15 net::URLRequest* request,
15 std::unique_ptr<ResourceHandler> next_handler) 16 std::unique_ptr<ResourceHandler> next_handler)
16 : ResourceHandler(request), next_handler_(std::move(next_handler)) {} 17 : ResourceHandler(request), next_handler_(std::move(next_handler)) {}
17 18
18 LayeredResourceHandler::~LayeredResourceHandler() { 19 LayeredResourceHandler::~LayeredResourceHandler() {
19 } 20 }
20 21
21 void LayeredResourceHandler::SetController(ResourceController* controller) { 22 void LayeredResourceHandler::OnRequestRedirected(
22 ResourceHandler::SetController(controller); 23 const net::RedirectInfo& redirect_info,
23 24 ResourceResponse* response,
24 // Pass the controller down to the next handler. This method is intended to 25 std::unique_ptr<ResourceController> controller) {
25 // be overriden by subclasses of LayeredResourceHandler that need to insert a
26 // different ResourceController.
27
28 DCHECK(next_handler_.get()); 26 DCHECK(next_handler_.get());
29 next_handler_->SetController(controller); 27 next_handler_->OnRequestRedirected(redirect_info, response,
28 std::move(controller));
30 } 29 }
31 30
32 bool LayeredResourceHandler::OnRequestRedirected( 31 void LayeredResourceHandler::OnResponseStarted(
33 const net::RedirectInfo& redirect_info,
34 ResourceResponse* response, 32 ResourceResponse* response,
35 bool* defer) { 33 std::unique_ptr<ResourceController> controller) {
36 DCHECK(next_handler_.get()); 34 DCHECK(next_handler_.get());
37 return next_handler_->OnRequestRedirected(redirect_info, response, defer); 35 next_handler_->OnResponseStarted(response, std::move(controller));
38 } 36 }
39 37
40 bool LayeredResourceHandler::OnResponseStarted(ResourceResponse* response, 38 void LayeredResourceHandler::OnWillStart(
41 bool* defer) { 39 const GURL& url,
40 std::unique_ptr<ResourceController> controller) {
42 DCHECK(next_handler_.get()); 41 DCHECK(next_handler_.get());
43 return next_handler_->OnResponseStarted(response, defer); 42 next_handler_->OnWillStart(url, std::move(controller));
44 }
45
46 bool LayeredResourceHandler::OnWillStart(const GURL& url,
47 bool* defer) {
48 DCHECK(next_handler_.get());
49 return next_handler_->OnWillStart(url, defer);
50 } 43 }
51 44
52 bool LayeredResourceHandler::OnWillRead(scoped_refptr<net::IOBuffer>* buf, 45 bool LayeredResourceHandler::OnWillRead(scoped_refptr<net::IOBuffer>* buf,
53 int* buf_size, 46 int* buf_size,
54 int min_size) { 47 int min_size) {
55 DCHECK(next_handler_.get()); 48 DCHECK(next_handler_.get());
56 return next_handler_->OnWillRead(buf, buf_size, min_size); 49 return next_handler_->OnWillRead(buf, buf_size, min_size);
57 } 50 }
58 51
59 bool LayeredResourceHandler::OnReadCompleted(int bytes_read, bool* defer) { 52 void LayeredResourceHandler::OnReadCompleted(
53 int bytes_read,
54 std::unique_ptr<ResourceController> controller) {
60 DCHECK(next_handler_.get()); 55 DCHECK(next_handler_.get());
61 return next_handler_->OnReadCompleted(bytes_read, defer); 56 next_handler_->OnReadCompleted(bytes_read, std::move(controller));
62 } 57 }
63 58
64 void LayeredResourceHandler::OnResponseCompleted( 59 void LayeredResourceHandler::OnResponseCompleted(
65 const net::URLRequestStatus& status, 60 const net::URLRequestStatus& status,
66 bool* defer) { 61 std::unique_ptr<ResourceController> controller) {
67 DCHECK(next_handler_.get()); 62 DCHECK(next_handler_.get());
68 next_handler_->OnResponseCompleted(status, defer); 63 next_handler_->OnResponseCompleted(status, std::move(controller));
69 } 64 }
70 65
71 void LayeredResourceHandler::OnDataDownloaded(int bytes_downloaded) { 66 void LayeredResourceHandler::OnDataDownloaded(int bytes_downloaded) {
72 DCHECK(next_handler_.get()); 67 DCHECK(next_handler_.get());
73 next_handler_->OnDataDownloaded(bytes_downloaded); 68 next_handler_->OnDataDownloaded(bytes_downloaded);
74 } 69 }
75 70
76 } // namespace content 71 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698