summaryrefslogtreecommitdiffstats
path: root/webkit/quota/quota_task.h
diff options
context:
space:
mode:
authorrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-04 08:54:10 +0000
committerrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-04 08:54:10 +0000
commit7ee2e88cc20da162083e8371d9f73d9ae204fd1f (patch)
tree0762f380421ff6283e81e557fb9ff986d0344640 /webkit/quota/quota_task.h
parent24258f8c58c172fe7ce59822752f9757ebb7e53c (diff)
downloadchromium_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.h10
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);