1 // Copyright 2020 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef STORAGE_BROWSER_QUOTA_QUOTA_CLIENT_TYPE_H_ 6 #define STORAGE_BROWSER_QUOTA_QUOTA_CLIENT_TYPE_H_ 7 8 #include "base/component_export.h" 9 #include "base/containers/flat_set.h" 10 11 namespace storage { 12 13 // Identifies storage features for browser data deletion. 14 // 15 // Values are not expected to be persisted or logged. Enum members may be added, 16 // removed, and reordered without warning. 17 enum class QuotaClientType { 18 kFileSystem = 1, 19 kDatabase = 2, 20 kIndexedDatabase = 3, 21 kServiceWorkerCache = 4, 22 kServiceWorker = 5, 23 kBackgroundFetch = 6, 24 kAppcache = 7, 25 }; 26 27 // Set of QuotaClientType values. 28 // 29 // TODO(pwnall): Switch to std::bitset, or another type that's cheap to copy. 30 using QuotaClientTypes = base::flat_set<QuotaClientType>; 31 32 COMPONENT_EXPORT(STORAGE_BROWSER) const QuotaClientTypes& AllQuotaClientTypes(); 33 34 } // namespace storage 35 36 #endif // STORAGE_BROWSER_QUOTA_QUOTA_CLIENT_TYPE_H_ 37