#include "storage/browser/quota/client_usage_tracker.h"
#include <stdint.h>
#include <iterator>
#include "base/barrier_closure.h"
#include "base/containers/contains.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "third_party/blink/public/common/storage_key/storage_key.h"
namespace storage {
struct ClientUsageTracker::AccumulateInfo { … };
ClientUsageTracker::ClientUsageTracker(
UsageTracker* tracker,
mojom::QuotaClient* client,
blink::mojom::StorageType type,
scoped_refptr<SpecialStoragePolicy> special_storage_policy)
: … { … }
ClientUsageTracker::~ClientUsageTracker() { … }
void ClientUsageTracker::GetBucketsUsage(const std::set<BucketLocator>& buckets,
UsageCallback callback) { … }
void ClientUsageTracker::UpdateBucketUsageCache(const BucketLocator& bucket,
std::optional<int64_t> delta) { … }
void ClientUsageTracker::DeleteBucketCache(const BucketLocator& bucket) { … }
int64_t ClientUsageTracker::GetCachedUsage() const { … }
const ClientUsageTracker::BucketUsageMap&
ClientUsageTracker::GetCachedBucketsUsage() const { … }
void ClientUsageTracker::SetUsageCacheEnabled(
const blink::StorageKey& storage_key,
bool enabled) { … }
bool ClientUsageTracker::IsUsageCacheEnabledForStorageKey(
const blink::StorageKey& storage_key) const { … }
void ClientUsageTracker::AccumulateBucketsUsage(
base::OnceClosure barrier_callback,
const BucketLocator& bucket,
AccumulateInfo* info,
int64_t usage) { … }
void ClientUsageTracker::FinallySendBucketsUsage(
UsageCallback callback,
std::unique_ptr<AccumulateInfo> info) { … }
void ClientUsageTracker::CacheBucketUsage(const BucketLocator& bucket,
int64_t new_usage) { … }
int64_t ClientUsageTracker::GetCachedBucketUsage(
const BucketLocator& bucket) const { … }
void ClientUsageTracker::GetBucketUsage(const BucketLocator& bucket,
UsageCallback callback) { … }
void ClientUsageTracker::DidGetBucketUsage(const BucketLocator& bucket,
UsageCallback callback,
int64_t usage) { … }
void ClientUsageTracker::OnGranted(const url::Origin& origin_url,
int change_flags) { … }
void ClientUsageTracker::OnRevoked(const url::Origin& origin_url,
int change_flags) { … }
void ClientUsageTracker::OnCleared() { … }
bool ClientUsageTracker::IsStorageUnlimited(
const blink::StorageKey& storage_key) const { … }
}