Index: webkit/browser/quota/quota_callbacks.h |
diff --git a/webkit/browser/quota/quota_callbacks.h b/webkit/browser/quota/quota_callbacks.h |
index 7018aba29088869e9643d8f1c4cdab1c2e5faf69..a68dee5c388f026ff1e76f4b577dcd01dd34ce21 100644 |
--- a/webkit/browser/quota/quota_callbacks.h |
+++ b/webkit/browser/quota/quota_callbacks.h |
@@ -1,129 +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_CALLBACKS_H_ |
-#define WEBKIT_BROWSER_QUOTA_QUOTA_CALLBACKS_H_ |
- |
-#include <map> |
-#include <set> |
-#include <string> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/callback.h" |
-#include "base/tuple.h" |
-#include "webkit/common/quota/quota_status_code.h" |
-#include "webkit/common/quota/quota_types.h" |
- |
-class GURL; |
- |
-namespace storage { |
- |
-struct UsageInfo; |
-typedef std::vector<UsageInfo> UsageInfoEntries; |
- |
-// Common callback types that are used throughout in the quota module. |
-typedef base::Callback<void(int64 usage, |
- int64 unlimited_usage)> GlobalUsageCallback; |
-typedef base::Callback<void(QuotaStatusCode status, int64 quota)> QuotaCallback; |
-typedef base::Callback<void(int64 usage)> UsageCallback; |
-typedef base::Callback<void(QuotaStatusCode, int64)> AvailableSpaceCallback; |
-typedef base::Callback<void(QuotaStatusCode)> StatusCallback; |
-typedef base::Callback<void(const std::set<GURL>& origins, |
- StorageType type)> GetOriginsCallback; |
-typedef base::Callback<void(const UsageInfoEntries&)> GetUsageInfoCallback; |
- |
-template<typename CallbackType, typename Args> |
-void DispatchToCallback(const CallbackType& callback, |
- const Args& args) { |
- DispatchToMethod(&callback, &CallbackType::Run, args); |
-} |
- |
-// Simple template wrapper for a callback queue. |
-template <typename CallbackType, typename Args> |
-class CallbackQueue { |
- public: |
- // Returns true if the given |callback| is the first one added to the queue. |
- bool Add(const CallbackType& callback) { |
- callbacks_.push_back(callback); |
- return (callbacks_.size() == 1); |
- } |
- |
- bool HasCallbacks() const { |
- return !callbacks_.empty(); |
- } |
- |
- // Runs the callbacks added to the queue and clears the queue. |
- void Run(const Args& args) { |
- typedef typename std::vector<CallbackType>::iterator iterator; |
- for (iterator iter = callbacks_.begin(); |
- iter != callbacks_.end(); ++iter) |
- DispatchToCallback(*iter, args); |
- callbacks_.clear(); |
- } |
- |
- private: |
- std::vector<CallbackType> callbacks_; |
-}; |
- |
-typedef CallbackQueue<GlobalUsageCallback, |
- Tuple2<int64, int64> > |
- GlobalUsageCallbackQueue; |
-typedef CallbackQueue<UsageCallback, Tuple1<int64> > |
- UsageCallbackQueue; |
-typedef CallbackQueue<AvailableSpaceCallback, |
- Tuple2<QuotaStatusCode, int64> > |
- AvailableSpaceCallbackQueue; |
-typedef CallbackQueue<QuotaCallback, |
- Tuple2<QuotaStatusCode, int64> > |
- GlobalQuotaCallbackQueue; |
-typedef CallbackQueue<base::Closure, Tuple0> ClosureQueue; |
- |
-template <typename CallbackType, typename Key, typename Args> |
-class CallbackQueueMap { |
- public: |
- typedef CallbackQueue<CallbackType, Args> CallbackQueueType; |
- typedef std::map<Key, CallbackQueueType> CallbackMap; |
- typedef typename CallbackMap::iterator iterator; |
- |
- bool Add(const Key& key, const CallbackType& callback) { |
- return callback_map_[key].Add(callback); |
- } |
- |
- bool HasCallbacks(const Key& key) const { |
- return (callback_map_.find(key) != callback_map_.end()); |
- } |
- |
- bool HasAnyCallbacks() const { |
- return !callback_map_.empty(); |
- } |
- |
- iterator Begin() { return callback_map_.begin(); } |
- iterator End() { return callback_map_.end(); } |
- |
- void Clear() { callback_map_.clear(); } |
- |
- // Runs the callbacks added for the given |key| and clears the key |
- // from the map. |
- void Run(const Key& key, const Args& args) { |
- if (!this->HasCallbacks(key)) |
- return; |
- CallbackQueueType& queue = callback_map_[key]; |
- queue.Run(args); |
- callback_map_.erase(key); |
- } |
- |
- private: |
- CallbackMap callback_map_; |
-}; |
- |
-typedef CallbackQueueMap<UsageCallback, std::string, Tuple1<int64> > |
- HostUsageCallbackMap; |
-typedef CallbackQueueMap<QuotaCallback, std::string, |
- Tuple2<QuotaStatusCode, int64> > |
- HostQuotaCallbackMap; |
- |
-} // namespace storage |
- |
-#endif // WEBKIT_QUOTA_QUOTA_TYPES_H_ |
+#include "storage/browser/quota/quota_callbacks.h" |