From ef88ff7ec29aa48bd7529f4cc4e9c9ed87739539 Mon Sep 17 00:00:00 2001 From: "kinuko@chromium.org" Date: Fri, 24 Aug 2012 10:08:15 +0000 Subject: Quota code cleanup * Replace foo_usage_tracker_ with GetUsageTracker(type) in quota_manager.cc * Killing unused template types in quota_types.h * Adding parameter names in Callback typedefs in quota_types.h BUG=none TEST=green bots Review URL: https://chromiumcodereview.appspot.com/10882009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153182 0039d316-1c4b-4281-b951-d872f2087c98 --- webkit/quota/quota_manager.cc | 31 ++++++----------- webkit/quota/quota_types.h | 79 ++++++++++--------------------------------- 2 files changed, 28 insertions(+), 82 deletions(-) (limited to 'webkit/quota') diff --git a/webkit/quota/quota_manager.cc b/webkit/quota/quota_manager.cc index 0028cd3..9917846 100644 --- a/webkit/quota/quota_manager.cc +++ b/webkit/quota/quota_manager.cc @@ -126,6 +126,8 @@ class QuotaManager::UsageAndQuotaDispatcherTask : public QuotaTask { void DidGetHostUsage(const std::string& host, StorageType type, int64 usage) { DCHECK_EQ(this->host(), host); DCHECK_EQ(this->type(), type); + if (quota_status_ == kQuotaStatusUnknown) + quota_status_ = kQuotaStatusOk; host_usage_ = usage; CheckCompleted(); } @@ -368,9 +370,9 @@ class QuotaManager::UsageAndQuotaDispatcherTaskForTemporary protected: virtual void RunBody() OVERRIDE { - manager()->temporary_usage_tracker_->GetGlobalUsage( + manager()->GetUsageTracker(type())->GetGlobalUsage( NewWaitableGlobalUsageCallback()); - manager()->temporary_usage_tracker_->GetHostUsage( + manager()->GetUsageTracker(type())->GetHostUsage( host(), NewWaitableHostUsageCallback()); manager()->GetAvailableSpace(NewWaitableAvailableSpaceCallback()); } @@ -402,7 +404,7 @@ class QuotaManager::UsageAndQuotaDispatcherTaskForPersistent protected: virtual void RunBody() OVERRIDE { - manager()->persistent_usage_tracker_->GetHostUsage( + manager()->GetUsageTracker(type())->GetHostUsage( host(), NewWaitableHostUsageCallback()); manager()->GetPersistentHostQuota( host(), NewWaitableHostQuotaCallback()); @@ -424,7 +426,7 @@ class QuotaManager::UsageAndQuotaDispatcherTaskForTemporaryGlobal protected: virtual void RunBody() OVERRIDE { - manager()->temporary_usage_tracker_->GetGlobalUsage( + manager()->GetUsageTracker(type())->GetGlobalUsage( NewWaitableGlobalUsageCallback()); manager()->GetAvailableSpace(NewWaitableAvailableSpaceCallback()); } @@ -1432,17 +1434,16 @@ void QuotaManager::DeleteHostData(const std::string& host, } bool QuotaManager::ResetUsageTracker(StorageType type) { + DCHECK(GetUsageTracker(type)); + if (GetUsageTracker(type)->IsWorking()) + return false; switch (type) { case kStorageTypeTemporary: - if (temporary_usage_tracker_->IsWorking()) - return false; temporary_usage_tracker_.reset( new UsageTracker(clients_, kStorageTypeTemporary, special_storage_policy_)); return true; case kStorageTypePersistent: - if (persistent_usage_tracker_->IsWorking()) - return false; persistent_usage_tracker_.reset( new UsageTracker(clients_, kStorageTypePersistent, special_storage_policy_)); @@ -1469,18 +1470,8 @@ void QuotaManager::GetCachedOrigins( StorageType type, std::set* origins) { DCHECK(origins); LazyInitialize(); - switch (type) { - case kStorageTypeTemporary: - DCHECK(temporary_usage_tracker_.get()); - temporary_usage_tracker_->GetCachedOrigins(origins); - return; - case kStorageTypePersistent: - DCHECK(persistent_usage_tracker_.get()); - persistent_usage_tracker_->GetCachedOrigins(origins); - return; - default: - NOTREACHED(); - } + DCHECK(GetUsageTracker(type)); + GetUsageTracker(type)->GetCachedOrigins(origins); } void QuotaManager::NotifyStorageAccessedInternal( diff --git a/webkit/quota/quota_types.h b/webkit/quota/quota_types.h index f93d665..a744b26 100644 --- a/webkit/quota/quota_types.h +++ b/webkit/quota/quota_types.h @@ -39,20 +39,25 @@ struct UsageInfo; typedef std::vector UsageInfoEntries; // Common callback types that are used throughout in the quota module. -typedef base::Callback UsageCallback; -typedef base::Callback GlobalUsageCallback; -typedef base::Callback - QuotaCallback; -typedef base::Callback - HostUsageCallback; -typedef base::Callback HostQuotaCallback; +typedef base::Callback GlobalUsageCallback; +typedef base::Callback QuotaCallback; +// TODO(kinuko,nhiroki): HostUsageCallback could be probably replaced with +// simple Callback callback by binding host and type with Bind. +typedef base::Callback HostUsageCallback; +typedef base::Callback HostQuotaCallback; typedef base::Callback AvailableSpaceCallback; typedef base::Callback StatusCallback; -typedef base::Callback&, StorageType)> - GetOriginsCallback; +typedef base::Callback& origins, + StorageType type)> GetOriginsCallback; typedef base::Callback GetUsageInfoCallback; // Simple template wrapper for a callback queue. @@ -121,28 +126,8 @@ class CallbackQueue3 : public CallbackQueueBase { } }; -template -class CallbackQueue4 : public CallbackQueueBase { - public: - typedef typename CallbackQueueBase::Queue Queue; - // Runs the callbacks added to the queue and clears the queue. - void Run(A1 arg1, A2 arg2, A3 arg3, A4 arg4) { - for (typename Queue::iterator iter = this->callbacks_.begin(); - iter != this->callbacks_.end(); ++iter) { - iter->Run(arg1, arg2, arg3, arg4); - } - this->callbacks_.clear(); - } -}; - -typedef CallbackQueue2 UsageCallbackQueue; typedef CallbackQueue3 GlobalUsageCallbackQueue; -typedef CallbackQueue3 QuotaCallbackQueue; template class CallbackQueueMapBase { @@ -242,39 +227,9 @@ class CallbackQueueMap3 } }; -template -class CallbackQueueMap4 - : public CallbackQueueMapBase, - KEY> { - public: - typedef typename CallbackQueueMapBase< - CallbackType4, - CallbackQueue4, - KEY>::iterator iterator; - typedef CallbackQueue4 Queue; - - // Runs the callbacks added for the given |key| and clears the key - // from the map. - void Run(const KEY& key, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4) { - if (!this->HasCallbacks(key)) - return; - Queue& queue = this->callback_map_[key]; - queue.Run(arg1, arg2, arg3, arg4); - this->callback_map_.erase(key); - } -}; - -typedef CallbackQueueMap1 OriginUsageCallbackMap; typedef CallbackQueueMap3 HostUsageCallbackMap; -typedef CallbackQueueMap4 HostQuotaCallbackMap; } // namespace quota -- cgit v1.1