| // Copyright 2016 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COMPONENTS_BROWSING_DATA_CONTENT_CONDITIONAL_CACHE_COUNTING_HELPER_H_ |
| #define COMPONENTS_BROWSING_DATA_CONTENT_CONDITIONAL_CACHE_COUNTING_HELPER_H_ |
| |
| #include "base/functional/callback_forward.h" |
| #include "base/task/sequenced_task_runner_helpers.h" |
| #include "net/base/net_errors.h" |
| |
| namespace content { |
| class StoragePartition; |
| } |
| |
| namespace browsing_data { |
| |
| // Helper to count the size of the http cache data from a StoragePartition. |
| class ConditionalCacheCountingHelper { |
| public: |
| // Returns if this value is an upper estimate and the number bytes in the |
| // selected range. |
| typedef base::OnceCallback<void(bool, int64_t)> CacheCountCallback; |
| |
| ConditionalCacheCountingHelper(const ConditionalCacheCountingHelper&) = |
| delete; |
| ConditionalCacheCountingHelper& operator=( |
| const ConditionalCacheCountingHelper&) = delete; |
| |
| // Counts the cache entries according to the specified time range. |
| // Must be called on the UI thread. |
| // |
| // The |completion_callback| will be invoked when the operation completes. |
| static void Count(content::StoragePartition* storage_partition, |
| base::Time begin_time, |
| base::Time end_time, |
| CacheCountCallback result_callback); |
| }; |
| |
| } // namespace browsing_data |
| |
| #endif // COMPONENTS_BROWSING_DATA_CONTENT_CONDITIONAL_CACHE_COUNTING_HELPER_H_ |