| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/browser/loader/layered_resource_handler.h" |
| |
| #include <utility> |
| |
| #include "base/logging.h" |
| #include "content/browser/loader/resource_controller.h" |
| |
| namespace content { |
| |
| LayeredResourceHandler::LayeredResourceHandler( |
| net::URLRequest* request, |
| std::unique_ptr<ResourceHandler> next_handler) |
| : ResourceHandler(request), next_handler_(std::move(next_handler)) {} |
| |
| LayeredResourceHandler::~LayeredResourceHandler() { |
| } |
| |
| void LayeredResourceHandler::SetDelegate(Delegate* delegate) { |
| ResourceHandler::SetDelegate(delegate); |
| next_handler_->SetDelegate(delegate); |
| } |
| |
| void LayeredResourceHandler::OnRequestRedirected( |
| const net::RedirectInfo& redirect_info, |
| network::ResourceResponse* response, |
| std::unique_ptr<ResourceController> controller) { |
| DCHECK(next_handler_.get()); |
| next_handler_->OnRequestRedirected(redirect_info, response, |
| std::move(controller)); |
| } |
| |
| void LayeredResourceHandler::OnResponseStarted( |
| network::ResourceResponse* response, |
| std::unique_ptr<ResourceController> controller) { |
| DCHECK(next_handler_.get()); |
| next_handler_->OnResponseStarted(response, std::move(controller)); |
| } |
| |
| void LayeredResourceHandler::OnWillStart( |
| const GURL& url, |
| std::unique_ptr<ResourceController> controller) { |
| DCHECK(next_handler_.get()); |
| next_handler_->OnWillStart(url, std::move(controller)); |
| } |
| |
| void LayeredResourceHandler::OnWillRead( |
| scoped_refptr<net::IOBuffer>* buf, |
| int* buf_size, |
| std::unique_ptr<ResourceController> controller) { |
| DCHECK(next_handler_.get()); |
| return next_handler_->OnWillRead(buf, buf_size, std::move(controller)); |
| } |
| |
| void LayeredResourceHandler::OnReadCompleted( |
| int bytes_read, |
| std::unique_ptr<ResourceController> controller) { |
| DCHECK(next_handler_.get()); |
| next_handler_->OnReadCompleted(bytes_read, std::move(controller)); |
| } |
| |
| void LayeredResourceHandler::OnResponseCompleted( |
| const net::URLRequestStatus& status, |
| std::unique_ptr<ResourceController> controller) { |
| DCHECK(next_handler_.get()); |
| next_handler_->OnResponseCompleted(status, std::move(controller)); |
| } |
| |
| } // namespace content |