/* 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 "QuotaManagerTestHelpers.h"
#include "mozilla/dom/quota/CommonMetadata.h"
#include "nsIDUtils.h"
#include "nsString.h"
namespace mozilla::dom::quota::test {
PrincipalMetadata GetPrincipalMetadata(
const nsCString& aGroupNoSuffix,
const nsCString& aOriginNoSuffix) {
return PrincipalMetadata{
""_ns, aGroupNoSuffix, aOriginNoSuffix,
aOriginNoSuffix,
/* aIsPrivate */ false};
}
PrincipalMetadata GetPrincipalMetadata(
const nsCString& aOriginSuffix,
const nsCString& aGroupNoSuffix,
const nsCString& aOriginNoSuffix) {
nsCString group = aGroupNoSuffix + aOriginSuffix;
nsCString origin = aOriginNoSuffix + aOriginSuffix;
return PrincipalMetadata{aOriginSuffix, group, origin, origin,
/* aIsPrivate */ false};
}
PrincipalMetadata GetPrincipalMetadata(
const nsCString& aOriginSuffix,
const nsCString& aGroupNoSuffix,
const nsCString& aOriginNoSuffix,
bool aIsPrivate) {
nsCString group = aGroupNoSuffix + aOriginSuffix;
nsCString origin = aOriginNoSuffix + aOriginSuffix;
nsCString storageOrigin =
aIsPrivate ? NSID_TrimBracketsASCII(nsID::GenerateUUID()) : origin;
return PrincipalMetadata{aOriginSuffix, group, origin, storageOrigin,
aIsPrivate};
}
OriginMetadata GetOriginMetadata(
const nsCString& aOriginSuffix,
const nsCString& aGroupNoSuffix,
const nsCString& aOriginNoSuffix) {
return {GetPrincipalMetadata(aOriginSuffix, aGroupNoSuffix, aOriginNoSuffix),
PERSISTENCE_TYPE_DEFAULT};
}
FullOriginMetadata GetFullOriginMetadata(
const nsCString& aOriginSuffix,
const nsCString& aGroupNoSuffix,
const nsCString& aOriginNoSuffix) {
return {
GetOriginMetadata(aOriginSuffix, aGroupNoSuffix, aOriginNoSuffix),
OriginStateMetadata{
/* aLastAccessTime */ 0, /* aLastMaintenanceDate */ 0,
/* aAccessed */ false,
/* aPersisted */ false},
ClientUsageArray(),
/* aUsage */ 0, kCurrentQuotaVersion};
}
}
// namespace mozilla::dom::quota::test