diff options
author | creis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-07 19:45:52 +0000 |
---|---|---|
committer | creis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-07 19:45:52 +0000 |
commit | 66ab87e8ebc518ab54238f9899f813311844997b (patch) | |
tree | b26bbd221e2668c33d84ab9ca92cc45a01828080 /content/browser/loader/resource_handler.h | |
parent | c745d405c8ac5a39c4ede5ccafe3445878b3767b (diff) | |
download | chromium_src-66ab87e8ebc518ab54238f9899f813311844997b.zip chromium_src-66ab87e8ebc518ab54238f9899f813311844997b.tar.gz chromium_src-66ab87e8ebc518ab54238f9899f813311844997b.tar.bz2 |
Clean up ResourceHandler API.
1. Move URLRequest member to ResourceHandler base class and add convenience functions for subclasses.
2. Make OnWillRead take a scoped_refptr to avoid leaking the buffer.
BUG=295239
TEST=No behavior change.
Review URL: https://codereview.chromium.org/25536005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227318 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/loader/resource_handler.h')
-rw-r--r-- | content/browser/loader/resource_handler.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/content/browser/loader/resource_handler.h b/content/browser/loader/resource_handler.h index de8bd9d..8ec4117 100644 --- a/content/browser/loader/resource_handler.h +++ b/content/browser/loader/resource_handler.h @@ -14,6 +14,7 @@ #include <string> +#include "base/memory/ref_counted.h" #include "base/sequenced_task_runner_helpers.h" #include "base/threading/non_thread_safe.h" #include "content/common/content_export.h" @@ -22,11 +23,14 @@ class GURL; namespace net { class IOBuffer; +class URLRequest; class URLRequestStatus; } // namespace net namespace content { class ResourceController; +class ResourceMessageFilter; +class ResourceRequestInfoImpl; struct ResourceResponse; // The resource dispatcher host uses this interface to process network events @@ -77,7 +81,7 @@ class CONTENT_EXPORT ResourceHandler // 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, + scoped_refptr<net::IOBuffer>* buf, int* buf_size, int min_size) = 0; @@ -102,11 +106,19 @@ class CONTENT_EXPORT ResourceHandler virtual void OnDataDownloaded(int request_id, int bytes_downloaded) = 0; protected: - ResourceHandler() : controller_(NULL) {} - ResourceController* controller() { return controller_; } + ResourceHandler(net::URLRequest* request); + + ResourceController* controller() const { return controller_; } + net::URLRequest* request() const { return request_; } + + // Convenience functions. + ResourceRequestInfoImpl* GetRequestInfo() const; + int GetRequestID() const; + ResourceMessageFilter* GetFilter() const; private: ResourceController* controller_; + net::URLRequest* request_; }; } // namespace content |