Index: content/browser/renderer_host/resource_handler.h |
=================================================================== |
--- content/browser/renderer_host/resource_handler.h (revision 171168) |
+++ content/browser/renderer_host/resource_handler.h (working copy) |
@@ -1,116 +0,0 @@ |
-// 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. |
- |
-// This is the browser side of the resource dispatcher, it receives requests |
-// from the RenderProcessHosts, and dispatches them to URLRequests. It then |
-// fowards the messages from the URLRequests back to the correct process for |
-// handling. |
-// |
-// See http://dev.chromium.org/developers/design-documents/multi-process-resource-loading |
- |
-#ifndef CONTENT_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_ |
-#define CONTENT_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_ |
- |
-#include <string> |
- |
-#include "base/sequenced_task_runner_helpers.h" |
-#include "base/threading/non_thread_safe.h" |
-#include "content/common/content_export.h" |
-#include "content/public/browser/browser_thread.h" |
- |
-class GURL; |
- |
-namespace net { |
-class IOBuffer; |
-class URLRequestStatus; |
-} // namespace net |
- |
-namespace content { |
-class ResourceController; |
-struct ResourceResponse; |
- |
-// The resource dispatcher host uses this interface to process network events |
-// for an URLRequest instance. A ResourceHandler's lifetime is bound to its |
-// associated URLRequest. |
-class CONTENT_EXPORT ResourceHandler |
- : public NON_EXPORTED_BASE(base::NonThreadSafe) { |
- public: |
- virtual ~ResourceHandler() {} |
- |
- // Sets the controller for this handler. |
- virtual void SetController(ResourceController* controller); |
- |
- // Called as upload progress is made. The return value is ignored. |
- virtual bool OnUploadProgress(int request_id, |
- uint64 position, |
- uint64 size) = 0; |
- |
- // The request was redirected to a new URL. |*defer| has an initial value of |
- // false. Set |*defer| to true to defer the redirect. The redirect may be |
- // followed later on via ResourceDispatcherHost::FollowDeferredRedirect. If |
- // the handler returns false, then the request is cancelled. |
- virtual bool OnRequestRedirected(int request_id, const GURL& url, |
- ResourceResponse* response, |
- bool* defer) = 0; |
- |
- // Response headers and meta data are available. If the handler returns |
- // false, then the request is cancelled. Set |*defer| to true to defer |
- // processing of the response. Call ResourceDispatcherHostImpl:: |
- // ResumeDeferredRequest to continue processing the response. |
- virtual bool OnResponseStarted(int request_id, |
- ResourceResponse* response, |
- bool* defer) = 0; |
- |
- // Called before the net::URLRequest for |request_id| (whose url is |url|) is |
- // to be started. If the handler returns false, then the request is |
- // cancelled. Otherwise if the return value is true, the ResourceHandler can |
- // delay the request from starting by setting |*defer = true|. A deferred |
- // request will not have called net::URLRequest::Start(), and will not resume |
- // until someone calls ResourceDispatcherHost::StartDeferredRequest(). |
- virtual bool OnWillStart(int request_id, const GURL& url, bool* defer) = 0; |
- |
- // Data will be read for the response. Upon success, this method places the |
- // size and address of the buffer where the data is to be written in its |
- // out-params. This call will be followed by either OnReadCompleted or |
- // OnResponseCompleted, at which point the buffer may be recycled. |
- // |
- // If the handler returns false, then the request is cancelled. Otherwise, |
- // once data is available, OnReadCompleted will be called. |
- virtual bool OnWillRead(int request_id, |
- net::IOBuffer** buf, |
- int* buf_size, |
- int min_size) = 0; |
- |
- // Data (*bytes_read bytes) was written into the buffer provided by |
- // OnWillRead. A return value of false cancels the request, true continues |
- // reading data. Set |*defer| to true to defer reading more response data. |
- // Call ResourceDispatcherHostImpl::ResumeDeferredRequest to continue reading |
- // response data. |
- virtual bool OnReadCompleted(int request_id, int bytes_read, |
- bool* defer) = 0; |
- |
- // The response is complete. The final response status is given. Returns |
- // false if the handler is deferring the call to a later time. Otherwise, |
- // the request will be destroyed upon return. |
- virtual bool OnResponseCompleted(int request_id, |
- const net::URLRequestStatus& status, |
- const std::string& security_info) = 0; |
- |
- // This notification is synthesized by the RedirectToFileResourceHandler |
- // to indicate progress of 'download_to_file' requests. OnReadCompleted |
- // calls are consumed by the RedirectToFileResourceHandler and replaced |
- // with OnDataDownloaded calls. |
- virtual void OnDataDownloaded(int request_id, int bytes_downloaded) {} |
- |
- protected: |
- ResourceHandler() : controller_(NULL) {} |
- ResourceController* controller() { return controller_; } |
- |
- private: |
- ResourceController* controller_; |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_ |