diff options
author | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-04 08:54:10 +0000 |
---|---|---|
committer | rsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-04 08:54:10 +0000 |
commit | 7ee2e88cc20da162083e8371d9f73d9ae204fd1f (patch) | |
tree | 0762f380421ff6283e81e557fb9ff986d0344640 /webkit/quota/quota_task.h | |
parent | 24258f8c58c172fe7ce59822752f9757ebb7e53c (diff) | |
download | chromium_src-7ee2e88cc20da162083e8371d9f73d9ae204fd1f.zip chromium_src-7ee2e88cc20da162083e8371d9f73d9ae204fd1f.tar.gz chromium_src-7ee2e88cc20da162083e8371d9f73d9ae204fd1f.tar.bz2 |
RefCounted types should not have public destructors, webkit/ edition
BUG=123295
TEST=it compiles
Review URL: https://chromiumcodereview.appspot.com/10416004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140265 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/quota/quota_task.h')
-rw-r--r-- | webkit/quota/quota_task.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/webkit/quota/quota_task.h b/webkit/quota/quota_task.h index ae9b2f1..6ade830 100644 --- a/webkit/quota/quota_task.h +++ b/webkit/quota/quota_task.h @@ -11,6 +11,7 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" #include "base/memory/ref_counted.h" +#include "base/sequenced_task_runner_helpers.h" namespace base { class SingleThreadTaskRunner; @@ -26,11 +27,11 @@ class QuotaThreadTask; // TODO(kinuko): Revise this using base::Callback. class QuotaTask { public: - virtual ~QuotaTask(); void Start(); protected: explicit QuotaTask(QuotaTaskObserver* observer); + virtual ~QuotaTask(); // The task body. virtual void Run() = 0; @@ -52,8 +53,10 @@ class QuotaTask { } private: + friend class base::DeleteHelper<QuotaTask>; friend class QuotaTaskObserver; friend class QuotaThreadTask; + void Abort(); QuotaTaskObserver* observer_; scoped_refptr<base::SingleThreadTaskRunner> original_task_runner_; @@ -96,14 +99,13 @@ class QuotaThreadTask : public QuotaTask, }; class QuotaTaskObserver { - public: - virtual ~QuotaTaskObserver(); - protected: friend class QuotaTask; friend class QuotaThreadTask; QuotaTaskObserver(); + virtual ~QuotaTaskObserver(); + void RegisterTask(QuotaTask* task); void UnregisterTask(QuotaTask* task); |