tor-browser

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

QuotaParent.h (6783B)


      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_QUOTAPARENT_H_
      8 #define DOM_QUOTA_QUOTAPARENT_H_
      9 
     10 #include "mozilla/dom/quota/PQuotaParent.h"
     11 #include "nsISupportsImpl.h"
     12 
     13 namespace mozilla::dom::quota {
     14 
     15 class Quota final : public PQuotaParent {
     16 #ifdef DEBUG
     17  bool mActorDestroyed;
     18 #endif
     19 
     20 public:
     21  Quota();
     22 
     23  NS_INLINE_DECL_THREADSAFE_REFCOUNTING(mozilla::dom::quota::Quota, override)
     24 
     25 private:
     26  ~Quota();
     27 
     28  bool TrustParams() const;
     29 
     30  bool VerifyRequestParams(const RequestParams& aParams) const;
     31 
     32  // IPDL methods.
     33  virtual void ActorDestroy(ActorDestroyReason aWhy) override;
     34 
     35  virtual PQuotaRequestParent* AllocPQuotaRequestParent(
     36      const RequestParams& aParams) override;
     37 
     38  virtual mozilla::ipc::IPCResult RecvPQuotaRequestConstructor(
     39      PQuotaRequestParent* aActor, const RequestParams& aParams) override;
     40 
     41  virtual bool DeallocPQuotaRequestParent(PQuotaRequestParent* aActor) override;
     42 
     43  virtual mozilla::ipc::IPCResult RecvStorageInitialized(
     44      StorageInitializedResolver&& aResolver) override;
     45 
     46  virtual mozilla::ipc::IPCResult RecvPersistentStorageInitialized(
     47      PersistentStorageInitializedResolver&& aResolver) override;
     48 
     49  virtual mozilla::ipc::IPCResult RecvTemporaryStorageInitialized(
     50      TemporaryStorageInitializedResolver&& aResolver) override;
     51 
     52  virtual mozilla::ipc::IPCResult RecvTemporaryGroupInitialized(
     53      const PrincipalInfo& aPrincipalInfo,
     54      TemporaryGroupInitializedResolver&& aResolve) override;
     55 
     56  virtual mozilla::ipc::IPCResult RecvPersistentOriginInitialized(
     57      const PrincipalInfo& aPrincipalInfo,
     58      PersistentOriginInitializedResolver&& aResolve) override;
     59 
     60  virtual mozilla::ipc::IPCResult RecvTemporaryOriginInitialized(
     61      const PersistenceType& aPersistenceType,
     62      const PrincipalInfo& aPrincipalInfo,
     63      TemporaryOriginInitializedResolver&& aResolve) override;
     64 
     65  virtual mozilla::ipc::IPCResult RecvInitializeStorage(
     66      InitializeStorageResolver&& aResolver) override;
     67 
     68  virtual mozilla::ipc::IPCResult RecvInitializePersistentStorage(
     69      InitializePersistentStorageResolver&& aResolver) override;
     70 
     71  virtual mozilla::ipc::IPCResult RecvInitializeAllTemporaryOrigins(
     72      InitializeAllTemporaryOriginsResolver&& aResolver) override;
     73 
     74  virtual mozilla::ipc::IPCResult RecvInitializeTemporaryGroup(
     75      const PrincipalInfo& aPrincipalInfo,
     76      InitializeTemporaryGroupResolver&& aResolve) override;
     77 
     78  virtual mozilla::ipc::IPCResult RecvInitializePersistentOrigin(
     79      const PrincipalInfo& aPrincipalInfo,
     80      InitializePersistentOriginResolver&& aResolve) override;
     81 
     82  virtual mozilla::ipc::IPCResult RecvInitializeTemporaryOrigin(
     83      const PersistenceType& aPersistenceType,
     84      const PrincipalInfo& aPrincipalInfo, const bool& aCreateIfNonExistent,
     85      InitializeTemporaryOriginResolver&& aResolve) override;
     86 
     87  virtual mozilla::ipc::IPCResult RecvInitializePersistentClient(
     88      const PrincipalInfo& aPrincipalInfo, const Type& aClientType,
     89      InitializePersistentClientResolver&& aResolve) override;
     90 
     91  virtual mozilla::ipc::IPCResult RecvInitializeTemporaryClient(
     92      const PersistenceType& aPersistenceType,
     93      const PrincipalInfo& aPrincipalInfo, const Type& aClientType,
     94      const bool& aCreateIfNonExistent,
     95      InitializeTemporaryClientResolver&& aResolve) override;
     96 
     97  virtual mozilla::ipc::IPCResult RecvInitializeTemporaryStorage(
     98      InitializeTemporaryStorageResolver&& aResolver) override;
     99 
    100  virtual mozilla::ipc::IPCResult RecvGetUsage(
    101      const bool& aGetAll,
    102      ManagedEndpoint<PQuotaUsageRequestParent>&& aParentEndpoint,
    103      GetUsageResolver&& aResolve) override;
    104 
    105  virtual mozilla::ipc::IPCResult RecvGetOriginUsage(
    106      const PrincipalInfo& aPrincipalInfo,
    107      ManagedEndpoint<PQuotaUsageRequestParent>&& aParentEndpoint,
    108      GetOriginUsageResolver&& aResolve) override;
    109 
    110  virtual mozilla::ipc::IPCResult RecvGetCachedOriginUsage(
    111      const PrincipalInfo& aPrincipalInfo,
    112      GetCachedOriginUsageResolver&& aResolve) override;
    113 
    114  virtual mozilla::ipc::IPCResult RecvListOrigins(
    115      ListOriginsResolver&& aResolver) override;
    116 
    117  virtual mozilla::ipc::IPCResult RecvListCachedOrigins(
    118      ListCachedOriginsResolver&& aResolver) override;
    119 
    120  virtual mozilla::ipc::IPCResult RecvClearStoragesForOrigin(
    121      const Maybe<PersistenceType>& aPersistenceType,
    122      const PrincipalInfo& aPrincipalInfo,
    123      ClearStoragesForOriginResolver&& aResolve) override;
    124 
    125  virtual mozilla::ipc::IPCResult RecvClearStoragesForClient(
    126      const Maybe<PersistenceType>& aPersistenceType,
    127      const PrincipalInfo& aPrincipalInfo, const Type& aClientType,
    128      ClearStoragesForClientResolver&& aResolve) override;
    129 
    130  virtual mozilla::ipc::IPCResult RecvClearStoragesForOriginPrefix(
    131      const Maybe<PersistenceType>& aPersistenceType,
    132      const PrincipalInfo& aPrincipalInfo,
    133      ClearStoragesForOriginPrefixResolver&& aResolve) override;
    134 
    135  virtual mozilla::ipc::IPCResult RecvClearStoragesForOriginAttributesPattern(
    136      const OriginAttributesPattern& aPattern,
    137      ClearStoragesForOriginAttributesPatternResolver&& aResolver) override;
    138 
    139  virtual mozilla::ipc::IPCResult RecvClearStoragesForPrivateBrowsing(
    140      ClearStoragesForPrivateBrowsingResolver&& aResolver) override;
    141 
    142  virtual mozilla::ipc::IPCResult RecvClearStorage(
    143      ClearStorageResolver&& aResolver) override;
    144 
    145  virtual mozilla::ipc::IPCResult RecvShutdownStoragesForOrigin(
    146      const Maybe<PersistenceType>& aPersistenceType,
    147      const PrincipalInfo& aPrincipalInfo,
    148      ShutdownStoragesForOriginResolver&& aResolve) override;
    149 
    150  virtual mozilla::ipc::IPCResult RecvShutdownStoragesForClient(
    151      const Maybe<PersistenceType>& aPersistenceType,
    152      const PrincipalInfo& aPrincipalInfo, const Type& aClientType,
    153      ShutdownStoragesForClientResolver&& aResolve) override;
    154 
    155  virtual mozilla::ipc::IPCResult RecvShutdownStorage(
    156      ShutdownStorageResolver&& aResolver) override;
    157 
    158  virtual mozilla::ipc::IPCResult RecvStartIdleMaintenance() override;
    159 
    160  virtual mozilla::ipc::IPCResult RecvStopIdleMaintenance() override;
    161 
    162  virtual mozilla::ipc::IPCResult RecvAbortOperationsForProcess(
    163      const ContentParentId& aContentParentId) override;
    164 
    165  virtual mozilla::ipc::IPCResult RecvSetThumbnailPrivateIdentityId(
    166      const uint32_t& aThumbnailPrivateIdentityId) override;
    167 };
    168 
    169 already_AddRefed<PQuotaParent> AllocPQuotaParent();
    170 
    171 }  // namespace mozilla::dom::quota
    172 
    173 #endif  // DOM_QUOTA_QUOTAPARENT_H_