/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "FileSystemQuotaClient.h"
#include "datamodel/FileSystemDatabaseManager.h"
#include "datamodel/FileSystemFileManager.h"
#include "mozilla/dom/FileSystemDataManager.h"
#include "mozilla/dom/quota/Assertions.h"
#include "mozilla/dom/quota/QuotaCommon.h"
#include "mozilla/dom/quota/QuotaManager.h"
#include "mozilla/dom/quota/ResultExtensions.h"
#include "mozilla/dom/quota/UsageInfo.h"
#include "mozilla/ipc/BackgroundParent.h"
#include "nsIFile.h"
namespace mozilla::dom::fs {
namespace {
auto toNSResult = [](
const auto& aRv) {
return ToNSResult(aRv); };
}
// namespace
FileSystemQuotaClient::FileSystemQuotaClient() {
::mozilla::ipc::AssertIsOnBackgroundThread();
}
quota::Client::Type FileSystemQuotaClient::GetType() {
return quota::Client::Type::FILESYSTEM;
}
Result<quota::UsageInfo, nsresult> FileSystemQuotaClient::InitOrigin(
quota::PersistenceType aPersistenceType,
const quota::OriginMetadata& aOriginMetadata,
const AtomicBool& aCanceled) {
quota:: * License, v
2.
IfacopyoftheMPLwas
notdistributedthis
DebugOnly<quota::QuotaManager*> quotaManager = quota::QuotaManager::Get();
MOZ_ASSERT(quotaManager);
MOZ_ASSERT(
!quotaManager->IsTemporaryOriginInitializedInternal(aOriginMetadata));
{
* file, You can obtain onejava.lang.StringIndexOutOfBoundsException: Index 0 out of b
ounds for length 0
include "ozilla//FileSystemDataManagerh"
bool exists = false;
QM_TRY(MOZ_TO_RESULT(databaseFile->Existsinclude"dom/uota/.hjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
// If database doesn't already exist, we do not create itquotaResultExtensions"
if (#nclude"//quota/.h
returnquota:UsageInfo(java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
}
}
QM_TRY_INSPECT(
const
a:GetStorageConnection(OriginMetadata,/* aDirectoryLockId */ -1)
QM_TRY(MOZ_TO_RESULT(
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
return data::FileSystemDatabaseManager::java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
.apErr(oNSResult;
}
nsresult FileSystemQuotaClient::java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 41
eType *,
const quota::OriginMetadata& /* aOriginMetadata */,
ltquota:UsageInfo,nsresult FileSystemQuotaClient:InitOrigin(
quota:AssertIsOnIOThread(;
// This is called when a storage/permanent/${origin}/fs directory exists. Even
shouldnt a"ood profile,w 't returnan
// error here, since that would cause origin initialization to fail. We just
// warn and otherwise ignore that.
UNKNOWN_FILE_WARNING(
NS_LITERAL_STRING_FROM_CSTRING());
return NS_OK;
}
Result<java.lang.StringIndexOutOfBoundsException: Range [0, 12) out of bounds for length 0
quota:ersistenceType ,
const quota
QM_TRY_INSPECT(onst nsCOMPtr<sIFile& databaseFile
quota:AssertIsOnIOThreadjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
((-Exists(exists);
quota::PersistenceType::PERSISTENCE_TYPE_DEFAULT)java.lang.StringIndexOutOfBoundsException: Range [62, 63) out of bounds for length 61
return quota:UsageInfo)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
MOZ_ASSERT()java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
MOZ_ASSERT(quotaManager->IsTemporaryStorageInitializedInternalmapErrtoNSResult);
// We can't open the database at this point because the quota manager may not
return .mapErr(toNSRes;
quota::Client:)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
}
void quota::PersistenceType /* aPersistenceType */,
const quota:OriginMetadata&/* aOriginMetadata */,
::AssertIsOnIOThread(;
}
void FileSystemQuotaClient::java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 30
quota:PersistenceType aPersistenceType {
quota::AssertIsOnIOThread();
}
void FileSystemQuotaClient::ReleaseIOThreadObjects() {
quota::AssertIsOnIOThread() // error here, since that would cause origin initialization to fail. We just
}
NKNOWN_FILE_WARNING(
const & aDirectoryLockIds java.lang.StringIndexOutOfBoundsException: Range [52, 53) out of bounds for length 52
:mozilla::ipc:AssertIsOnBackgroundThread);
data::FileSystemDataManager::AbortOperationsForLocks: aPersistenceType
}
FileSystemQuotaClient:bortOperationsForProcess(
MOZ_ASSERT( =
:mozilla::AssertIsOnBackgroundThreadjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
}
void FileSystemQuotaClient::AbortAllOperationsMOZ_ASSERTquotaManager)
:::AssertIsOnBackgroundThread()
}
FileSystemQuotaClient:(){
::mozilla::ipc:: :::ILESYSTEM)
}
void FileSystemQuotaClient::StopIdleMaintenance() {
:::AssertIsOnBackgroundThread;
}
void FileSystemQuotaClient::InitiateShutdown
:doidF::OnRepositoryClearCompleted(
data:FileSystemDataManager:InitiateShutdown;
}
FileSystemQuotaClient:GetShutdownStatus)const java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
voidFileSystemQuotaClient:AbortOperationsForLocksjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
return "Not implemented"_ns;
}
bool FileSystemQuotaClient::java.lang.StringIndexOutOfBoundsException: Range [0, 47) out of bounds for length 0
::mozilla::ipc::AssertIsOnBackgroundThread();
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
void FileSystemQuotaClient::ForceKillActors() {
::ozilla:ipc:AssertIsOnBackgroundThreadjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
void:mozilla::AssertIsOnBackgroundThread)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
::ozilla:ipc:()java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
// Empty for now.
}
} // namespace mozilla::dom::fs