tor-browser

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

QuotaResults.cpp (5504B)


      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
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 #include "QuotaResults.h"
      8 
      9 #include "ErrorList.h"
     10 #include "mozilla/Assertions.h"
     11 #include "nscore.h"
     12 
     13 namespace mozilla::dom::quota {
     14 
     15 FullOriginMetadataResult::FullOriginMetadataResult(
     16    const FullOriginMetadata& aFullOriginMetadata)
     17    : mFullOriginMetadata(aFullOriginMetadata) {}
     18 
     19 NS_IMPL_ISUPPORTS(FullOriginMetadataResult, nsIQuotaFullOriginMetadataResult)
     20 
     21 NS_IMETHODIMP
     22 FullOriginMetadataResult::GetSuffix(nsACString& aSuffix) {
     23  aSuffix = mFullOriginMetadata.mSuffix;
     24  return NS_OK;
     25 }
     26 
     27 NS_IMETHODIMP
     28 FullOriginMetadataResult::GetGroup(nsACString& aGroup) {
     29  aGroup = mFullOriginMetadata.mGroup;
     30  return NS_OK;
     31 }
     32 
     33 NS_IMETHODIMP
     34 FullOriginMetadataResult::GetOrigin(nsACString& aOrigin) {
     35  aOrigin = mFullOriginMetadata.mOrigin;
     36  return NS_OK;
     37 }
     38 
     39 NS_IMETHODIMP
     40 FullOriginMetadataResult::GetStorageOrigin(nsACString& aStorageOrigin) {
     41  aStorageOrigin = mFullOriginMetadata.mStorageOrigin;
     42  return NS_OK;
     43 }
     44 
     45 NS_IMETHODIMP
     46 FullOriginMetadataResult::GetPrivate(bool* aPrivate) {
     47  MOZ_ASSERT(aPrivate);
     48 
     49  *aPrivate = mFullOriginMetadata.mIsPrivate;
     50  return NS_OK;
     51 }
     52 
     53 NS_IMETHODIMP
     54 FullOriginMetadataResult::GetPersistenceType(nsACString& aPersistenceType) {
     55  aPersistenceType =
     56      PersistenceTypeToString(mFullOriginMetadata.mPersistenceType);
     57  return NS_OK;
     58 }
     59 
     60 NS_IMETHODIMP
     61 FullOriginMetadataResult::GetLastAccessTime(int64_t* aLastAccessTime) {
     62  MOZ_ASSERT(aLastAccessTime);
     63 
     64  *aLastAccessTime = mFullOriginMetadata.mLastAccessTime;
     65  return NS_OK;
     66 }
     67 
     68 NS_IMETHODIMP
     69 FullOriginMetadataResult::GetLastMaintenanceDate(
     70    int32_t* aLastMaintenanceDate) {
     71  MOZ_ASSERT(aLastMaintenanceDate);
     72 
     73  *aLastMaintenanceDate = mFullOriginMetadata.mLastMaintenanceDate;
     74  return NS_OK;
     75 }
     76 
     77 NS_IMETHODIMP
     78 FullOriginMetadataResult::GetAccessed(bool* aAccessed) {
     79  MOZ_ASSERT(aAccessed);
     80 
     81  *aAccessed = mFullOriginMetadata.mAccessed;
     82  return NS_OK;
     83 }
     84 
     85 NS_IMETHODIMP
     86 FullOriginMetadataResult::GetPersisted(bool* aPersisted) {
     87  MOZ_ASSERT(aPersisted);
     88 
     89  *aPersisted = mFullOriginMetadata.mPersisted;
     90  return NS_OK;
     91 }
     92 
     93 NS_IMETHODIMP
     94 FullOriginMetadataResult::GetClientUsages(nsACString& aClientUsages) {
     95  mFullOriginMetadata.mClientUsages.Serialize(aClientUsages);
     96  return NS_OK;
     97 }
     98 
     99 NS_IMETHODIMP
    100 FullOriginMetadataResult::GetOriginUsage(uint64_t* aOriginUsage) {
    101  MOZ_ASSERT(aOriginUsage);
    102 
    103  *aOriginUsage = mFullOriginMetadata.mOriginUsage;
    104  return NS_OK;
    105 }
    106 
    107 NS_IMETHODIMP
    108 FullOriginMetadataResult::GetQuotaVersion(uint32_t* aQuotaVersion) {
    109  MOZ_ASSERT(aQuotaVersion);
    110 
    111  *aQuotaVersion = mFullOriginMetadata.mQuotaVersion;
    112  return NS_OK;
    113 }
    114 
    115 UsageResult::UsageResult(const nsACString& aOrigin, bool aPersisted,
    116                         uint64_t aUsage, uint64_t aLastAccessed)
    117    : mOrigin(aOrigin),
    118      mUsage(aUsage),
    119      mPersisted(aPersisted),
    120      mLastAccessed(aLastAccessed) {}
    121 
    122 NS_IMPL_ISUPPORTS(UsageResult, nsIQuotaUsageResult)
    123 
    124 NS_IMETHODIMP
    125 UsageResult::GetOrigin(nsACString& aOrigin) {
    126  aOrigin = mOrigin;
    127  return NS_OK;
    128 }
    129 
    130 NS_IMETHODIMP
    131 UsageResult::GetPersisted(bool* aPersisted) {
    132  MOZ_ASSERT(aPersisted);
    133 
    134  *aPersisted = mPersisted;
    135  return NS_OK;
    136 }
    137 
    138 NS_IMETHODIMP
    139 UsageResult::GetUsage(uint64_t* aUsage) {
    140  MOZ_ASSERT(aUsage);
    141 
    142  *aUsage = mUsage;
    143  return NS_OK;
    144 }
    145 
    146 NS_IMETHODIMP
    147 UsageResult::GetLastAccessed(uint64_t* aLastAccessed) {
    148  MOZ_ASSERT(aLastAccessed);
    149 
    150  *aLastAccessed = mLastAccessed;
    151  return NS_OK;
    152 }
    153 
    154 OriginUsageResult::OriginUsageResult(UsageInfo aUsageInfo)
    155    : mUsageInfo(aUsageInfo) {}
    156 
    157 NS_IMPL_ISUPPORTS(OriginUsageResult, nsIQuotaOriginUsageResult)
    158 
    159 NS_IMETHODIMP
    160 OriginUsageResult::GetDatabaseUsage(uint64_t* aDatabaseUsage) {
    161  MOZ_ASSERT(aDatabaseUsage);
    162 
    163  *aDatabaseUsage = mUsageInfo.DatabaseUsage().valueOr(0);
    164  return NS_OK;
    165 }
    166 
    167 NS_IMETHODIMP
    168 OriginUsageResult::GetFileUsage(uint64_t* aFileUsage) {
    169  MOZ_ASSERT(aFileUsage);
    170 
    171  *aFileUsage = mUsageInfo.FileUsage().valueOr(0);
    172  return NS_OK;
    173 }
    174 
    175 NS_IMETHODIMP
    176 OriginUsageResult::GetUsage(uint64_t* aUsage) {
    177  MOZ_ASSERT(aUsage);
    178 
    179  *aUsage = mUsageInfo.TotalUsage().valueOr(0);
    180  return NS_OK;
    181 }
    182 
    183 NS_IMETHODIMP
    184 OriginUsageResult::GetDatabaseUsageIsExplicit(bool* aDatabaseUsageIsExplicit) {
    185  MOZ_ASSERT(aDatabaseUsageIsExplicit);
    186 
    187  *aDatabaseUsageIsExplicit = mUsageInfo.DatabaseUsage().isSome();
    188  return NS_OK;
    189 }
    190 
    191 NS_IMETHODIMP
    192 OriginUsageResult::GetFileUsageIsExplicit(bool* aFileUsageIsExplicit) {
    193  MOZ_ASSERT(aFileUsageIsExplicit);
    194 
    195  *aFileUsageIsExplicit = mUsageInfo.FileUsage().isSome();
    196  return NS_OK;
    197 }
    198 
    199 NS_IMETHODIMP
    200 OriginUsageResult::GetTotalUsageIsExplicit(bool* aTotalUsageIsExplicit) {
    201  MOZ_ASSERT(aTotalUsageIsExplicit);
    202 
    203  *aTotalUsageIsExplicit = mUsageInfo.TotalUsage().isSome();
    204  return NS_OK;
    205 }
    206 
    207 UsageInfo& OriginUsageResult::GetUsageInfo() { return mUsageInfo; }
    208 
    209 EstimateResult::EstimateResult(uint64_t aUsage, uint64_t aLimit)
    210    : mUsage(aUsage), mLimit(aLimit) {}
    211 
    212 NS_IMPL_ISUPPORTS(EstimateResult, nsIQuotaEstimateResult)
    213 
    214 NS_IMETHODIMP
    215 EstimateResult::GetUsage(uint64_t* aUsage) {
    216  MOZ_ASSERT(aUsage);
    217 
    218  *aUsage = mUsage;
    219  return NS_OK;
    220 }
    221 
    222 NS_IMETHODIMP
    223 EstimateResult::GetLimit(uint64_t* aLimit) {
    224  MOZ_ASSERT(aLimit);
    225 
    226  *aLimit = mLimit;
    227  return NS_OK;
    228 }
    229 
    230 }  // namespace mozilla::dom::quota