tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

OriginOperations.h (7862B)


      1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
      3 /* This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
      5 * You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 #ifndef DOM_QUOTA_ORIGINOPERATIONS_H_
      8 #define DOM_QUOTA_ORIGINOPERATIONS_H_
      9 
     10 #include <cstdint>
     11 
     12 #include "mozilla/dom/quota/Client.h"
     13 #include "mozilla/dom/quota/PersistenceType.h"
     14 #include "nsTArrayForwardDeclare.h"
     15 
     16 template <class T>
     17 class RefPtr;
     18 
     19 namespace mozilla {
     20 
     21 template <class T>
     22 class Maybe;
     23 template <typename T>
     24 class MovingNotNull;
     25 class OriginAttributesPattern;
     26 
     27 namespace dom::quota {
     28 
     29 struct ClientMetadata;
     30 class EstimateParams;
     31 class GetFullOriginMetadataParams;
     32 class NormalOriginOperationBase;
     33 class OriginDirectoryLock;
     34 struct OriginMetadata;
     35 class OriginOperationBase;
     36 class QuotaManager;
     37 class QuotaRequestBase;
     38 class QuotaUsageRequestBase;
     39 class RequestParams;
     40 template <typename ResolveValueT, bool IsExclusive = false>
     41 class ResolvableNormalOriginOp;
     42 class UniversalDirectoryLock;
     43 class UsageRequestParams;
     44 
     45 RefPtr<OriginOperationBase> CreateFinalizeOriginEvictionOp(
     46    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
     47    nsTArray<RefPtr<OriginDirectoryLock>>&& aLocks);
     48 
     49 RefPtr<UniversalDirectoryLock> CreateSaveOriginAccessTimeLock(
     50    QuotaManager& aQuotaManager, const OriginMetadata& aOriginMetadata);
     51 
     52 RefPtr<ResolvableNormalOriginOp<bool>> CreateSaveOriginAccessTimeOp(
     53    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
     54    const OriginMetadata& aOriginMetadata,
     55    RefPtr<UniversalDirectoryLock> aDirectoryLock);
     56 
     57 RefPtr<ResolvableNormalOriginOp<bool>> CreateClearPrivateRepositoryOp(
     58    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
     59 
     60 RefPtr<ResolvableNormalOriginOp<bool>> CreateShutdownStorageOp(
     61    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
     62 
     63 RefPtr<ResolvableNormalOriginOp<OriginUsageMetadataArray, true>>
     64 CreateGetUsageOp(MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
     65                 bool aGetAll);
     66 
     67 RefPtr<ResolvableNormalOriginOp<UsageInfo>> CreateGetOriginUsageOp(
     68    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
     69    const mozilla::ipc::PrincipalInfo& aPrincipalInfo);
     70 
     71 RefPtr<QuotaRequestBase> CreateStorageNameOp(
     72    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
     73 
     74 RefPtr<ResolvableNormalOriginOp<bool>> CreateStorageInitializedOp(
     75    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
     76 
     77 RefPtr<ResolvableNormalOriginOp<bool>> CreatePersistentStorageInitializedOp(
     78    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
     79 
     80 RefPtr<ResolvableNormalOriginOp<bool>> CreateTemporaryStorageInitializedOp(
     81    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
     82 
     83 RefPtr<ResolvableNormalOriginOp<bool>> CreateTemporaryGroupInitializedOp(
     84    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
     85    const PrincipalMetadata& aPrincipalMetadata);
     86 
     87 RefPtr<ResolvableNormalOriginOp<bool>> CreatePersistentOriginInitializedOp(
     88    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
     89    const OriginMetadata& aOriginMetadata);
     90 
     91 RefPtr<ResolvableNormalOriginOp<bool>> CreateTemporaryOriginInitializedOp(
     92    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
     93    const OriginMetadata& aOriginMetadata);
     94 
     95 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitOp(
     96    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
     97    RefPtr<UniversalDirectoryLock> aDirectoryLock);
     98 
     99 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitializePersistentStorageOp(
    100    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    101    RefPtr<UniversalDirectoryLock> aDirectoryLock);
    102 
    103 RefPtr<ResolvableNormalOriginOp<MaybePrincipalMetadataArray, true>>
    104 CreateInitTemporaryStorageOp(MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    105                             RefPtr<UniversalDirectoryLock> aDirectoryLock);
    106 
    107 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitializeTemporaryGroupOp(
    108    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    109    const PrincipalMetadata& aPrincipalMetadata,
    110    RefPtr<UniversalDirectoryLock> aDirectoryLock);
    111 
    112 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitializePersistentOriginOp(
    113    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    114    const OriginMetadata& aOriginMetadata,
    115    RefPtr<UniversalDirectoryLock> aDirectoryLock);
    116 
    117 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitializeTemporaryOriginOp(
    118    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    119    const OriginMetadata& aOriginMetadata, bool aCreateIfNonExistent,
    120    RefPtr<UniversalDirectoryLock> aDirectoryLock);
    121 
    122 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitializePersistentClientOp(
    123    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    124    const ClientMetadata& aClientMetadata,
    125    RefPtr<UniversalDirectoryLock> aDirectoryLock);
    126 
    127 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitializeTemporaryClientOp(
    128    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    129    const ClientMetadata& aClientMetadata, bool aCreateIfNonExistent,
    130    RefPtr<UniversalDirectoryLock> aDirectoryLock);
    131 
    132 RefPtr<QuotaRequestBase> CreateGetFullOriginMetadataOp(
    133    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    134    const GetFullOriginMetadataParams& aParams);
    135 
    136 RefPtr<ResolvableNormalOriginOp<uint64_t>> CreateGetCachedOriginUsageOp(
    137    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    138    const mozilla::ipc::PrincipalInfo& aPrincipalInfo);
    139 
    140 RefPtr<ResolvableNormalOriginOp<CStringArray, true>> CreateListCachedOriginsOp(
    141    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
    142 
    143 RefPtr<ResolvableNormalOriginOp<bool>> CreateClearStorageOp(
    144    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
    145 
    146 RefPtr<ResolvableNormalOriginOp<OriginMetadataArray, true>> CreateClearOriginOp(
    147    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    148    const Maybe<PersistenceType>& aPersistenceType,
    149    const mozilla::ipc::PrincipalInfo& aPrincipalInfo);
    150 
    151 RefPtr<ResolvableNormalOriginOp<ClientMetadataArray, true>> CreateClearClientOp(
    152    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    153    Maybe<PersistenceType> aPersistenceType,
    154    const mozilla::ipc::PrincipalInfo& aPrincipalInfo,
    155    Client::Type aClientType);
    156 
    157 RefPtr<ResolvableNormalOriginOp<OriginMetadataArray, true>>
    158 CreateClearStoragesForOriginPrefixOp(
    159    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    160    const Maybe<PersistenceType>& aPersistenceType,
    161    const mozilla::ipc::PrincipalInfo& aPrincipalInfo);
    162 
    163 RefPtr<ResolvableNormalOriginOp<OriginMetadataArray, true>> CreateClearDataOp(
    164    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    165    const OriginAttributesPattern& aPattern);
    166 
    167 RefPtr<ResolvableNormalOriginOp<OriginMetadataArray, true>>
    168 CreateShutdownOriginOp(MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    169                       Maybe<PersistenceType> aPersistenceType,
    170                       const mozilla::ipc::PrincipalInfo& aPrincipalInfo);
    171 
    172 RefPtr<ResolvableNormalOriginOp<ClientMetadataArray, true>>
    173 CreateShutdownClientOp(MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    174                       Maybe<PersistenceType> aPersistenceType,
    175                       const mozilla::ipc::PrincipalInfo& aPrincipalInfo,
    176                       Client::Type aClientType);
    177 
    178 RefPtr<QuotaRequestBase> CreatePersistedOp(
    179    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    180    const RequestParams& aParams);
    181 
    182 RefPtr<QuotaRequestBase> CreatePersistOp(
    183    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    184    const RequestParams& aParams);
    185 
    186 RefPtr<QuotaRequestBase> CreateEstimateOp(
    187    MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
    188    const EstimateParams& aParams);
    189 
    190 RefPtr<ResolvableNormalOriginOp<CStringArray, /* IsExclusive */ true>>
    191 CreateListOriginsOp(MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
    192 
    193 }  // namespace dom::quota
    194 }  // namespace mozilla
    195 
    196 #endif  // DOM_QUOTA_ORIGINOPERATIONS_H_