diff options
Diffstat (limited to 'webkit/browser/quota/quota_task.h')
-rw-r--r-- | webkit/browser/quota/quota_task.h | 78 |
1 files changed, 2 insertions, 76 deletions
diff --git a/webkit/browser/quota/quota_task.h b/webkit/browser/quota/quota_task.h index 5201a61..66f2256 100644 --- a/webkit/browser/quota/quota_task.h +++ b/webkit/browser/quota/quota_task.h @@ -1,79 +1,5 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. +// Copyright 2014 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. -#ifndef WEBKIT_BROWSER_QUOTA_QUOTA_TASK_H_ -#define WEBKIT_BROWSER_QUOTA_QUOTA_TASK_H_ - -#include <set> - -#include "base/basictypes.h" -#include "base/compiler_specific.h" -#include "base/memory/ref_counted.h" -#include "base/sequenced_task_runner_helpers.h" -#include "webkit/browser/storage_browser_export.h" - -namespace base { -class SingleThreadTaskRunner; -class TaskRunner; -} - -namespace storage { - -class QuotaTaskObserver; - -// A base class for quota tasks. -// TODO(kinuko): Revise this using base::Callback. -class QuotaTask { - public: - void Start(); - - protected: - explicit QuotaTask(QuotaTaskObserver* observer); - virtual ~QuotaTask(); - - // The task body. - virtual void Run() = 0; - - // Called upon completion, on the original message loop. - virtual void Completed() = 0; - - // Called when the task is aborted. - virtual void Aborted() {} - - void CallCompleted(); - - // Call this to delete itself. - void DeleteSoon(); - - QuotaTaskObserver* observer() const { return observer_; } - base::SingleThreadTaskRunner* original_task_runner() const { - return original_task_runner_.get(); - } - - private: - friend class base::DeleteHelper<QuotaTask>; - friend class QuotaTaskObserver; - - void Abort(); - QuotaTaskObserver* observer_; - scoped_refptr<base::SingleThreadTaskRunner> original_task_runner_; - bool delete_scheduled_; -}; - -class STORAGE_EXPORT QuotaTaskObserver { - protected: - friend class QuotaTask; - - QuotaTaskObserver(); - virtual ~QuotaTaskObserver(); - - void RegisterTask(QuotaTask* task); - void UnregisterTask(QuotaTask* task); - - typedef std::set<QuotaTask*> TaskSet; - TaskSet running_quota_tasks_; -}; -} - -#endif // WEBKIT_BROWSER_QUOTA_QUOTA_TASK_H_ +#include "storage/browser/quota/quota_task.h" |