[DEFAULT]
head = "head.js"
tags = "condprof inc-origin-init"
support-files = [
  "basics_profile.zip",
  "clearStoragesForClient_profile.json",
  "clearStoragesForClient_profile.zip",
  "clearStoragesForOriginPrefix_profile.json",
  "clearStoragesForOriginPrefix_profile.zip",
  "clearStoragesForPrincipal_profile.zip",
  "clearStoragesForPrivateBrowsing_profile.json",
  "clearStoragesForPrivateBrowsing_profile.zip",
  "createLocalStorage_profile.zip",
  "defaultStorageDirectory_shared.json",
  "defaultStorageDirectory_shared.zip",
  "getCachedUsageForPrincipal_profile.zip",
  "getUsageForPrincipal_profile.zip",
  "getUsage_profile.zip",
  "groupMismatch_profile.zip",
  "indexedDBDirectory_shared.json",
  "indexedDBDirectory_shared.zip",
  "originMismatch_profile.json",
  "originMismatch_profile.zip",
  "persistentStorageDirectory_shared.json",
  "persistentStorageDirectory_shared.zip",
  "removeLocalStorage1_profile.zip",
  "removeLocalStorage2_profile.zip",
  "secondaryCacheValidity_profile.zip",
  "tempMetadataCleanup_profile.zip",
  "unknownFiles_profile.zip",
]

["make_getCachedUsageForPrincipal.js"]
run-if = [
  "false", # Only used for recreating getCachedUsageForPrincipal_profile.zip
]

["make_getUsageForPrincipal.js"]
run-if = [
  "false", # Only used for recreating getCachedUsageForPrincipal_profile.zip
]

["make_secondaryCacheValidity.js"]
run-if = [
  "false", # Only used for recreating secondaryCacheValidity_profile.zip
]

["make_unknownFiles.js"]
run-if = [
  "false", # Only used for recreating unknownFiles_profile.zip
]

["make_unsetLastAccessTime.js"]
run-if = [
  "false", # Only used for recreating unsetLastAccessTime_profile.zip
]

["test_allowListFiles.js"]

["test_artificialFailure.js"]

["test_bad_origin_directory.js"]

["test_basics.js"]

["test_clearStoragesForClient.js"]

["test_clearStoragesForOriginAttributesPattern.js"]

["test_clearStoragesForOriginPrefix.js"]

["test_clearStoragesForPrincipal.js"]

["test_clearStoragesForPrivateBrowsing.js"]

["test_clearStoragesForPrivateBrowsing_callback.js"]

["test_clientDirectoryOpeningStarted.js"]

["test_createLocalStorage.js"]

["test_estimateOrigin.js"]

["test_getCachedUsageForPrincipal.js"]

["test_getUsage.js"]

["test_getUsageForPrincipal.js"]

["test_groupInitializationStarted.js"]

["test_groupMismatch.js"]
run-if = [
  "false", # The group is now always empty, so metadata can't differ anymore.
]

["test_idle_maintenance.js"]

["test_initTemporaryStorage.js"]

["test_initializeAllTemporaryOrigins.js"]
# The test cannot function correctly with incremental origin initialization
# enabled  because incremental origin initialization automatically triggers
# lazy initialization of all temporary origins after temporary storage
# initialization is complete.
skip-if = [
  "inc_origin_init",
]

["test_initializePersistentClient.js"]

["test_initializePersistentOrigin.js"]

["test_initializePersistentStorage.js"]

["test_initializeTemporaryClient.js"]

["test_initializeTemporaryOrigin.js"]

["test_initializeTemporaryOrigin_failure.js"]
# bug 1942791
skip-if = [
  "inc_origin_init",
]

["test_listCachedOrigins.js"]

["test_listOrigins.js"]

["test_originEndsWithDot.js"]

["test_originInitializationStarted.js"]

["test_originMismatch.js"]
# bug 1942793
skip-if = [
  "inc_origin_init",
]

["test_originWithCaret.js"]

["test_orpahnedQuotaObject.js"]

["test_persist.js"]

["test_persist_eviction.js"]

["test_persist_globalLimit.js"]

["test_persist_groupLimit.js"]

["test_quotaClientInteractions.js"]

["test_quotaUtilsService.js"]

["test_removeLocalStorage.js"]

["test_secondaryCacheValidity.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]

["test_shutdownDuringAllTemporaryOriginsInitialization.js"]
# The test cannot function correctly with incremental origin initialization
# enabled  because incremental origin initialization automatically triggers
# lazy initialization of all temporary origins after temporary storage
# initialization is complete.
skip-if = [
  "inc_origin_init",
]

["test_shutdownDuringAllTemporaryOriginsInitialization2.js"]
# The test cannot function correctly with incremental origin initialization
# enabled  because incremental origin initialization automatically triggers
# lazy initialization of all temporary origins after temporary storage
# initialization is complete.
skip-if = [
  "inc_origin_init",
]

["test_simpledb.js"]

["test_specialOrigins.js"]

["test_storagePressure.js"]
run-if = [
  "!condprof", # Bug 1960788
]
skip-if = [
  "inc_origin_init",
]

["test_tempMetadataCleanup.js"]

["test_temporaryStorageCleanup.js"]
# This test requires precise control over the storage repository contents,
# including exact origin metadata (usage, persistence, and access time).
# Conditioned profiles contain pre-existing data that would invalidate these
# assumptions, so the test must run only on a clean profile.
run-if = ["!condprof"]
# The test cannot function correctly with incremental origin initialization
# enabled because incremental origin initialization automatically triggers
# lazy initialization of all temporary origins after temporary storage
# initialization is complete. The cleanup is simply not triggered in that case
# at present.
#
# The test can be updated once incremental origin initialization is fully
# implemented and its behavior is finalized.
skip-if = [
  "inc_origin_init",
]

["test_temporaryStorageEviction.js"]
# This test requires precise control over storage size, which isn't compatible
# with conditioned profiles that use a much larger default size. While the test
# could clear storage at the start, doing so would defeat the purpose of using
# a conditioned profile in the first place.
run-if = [
  "!condprof",
]

["test_temporaryStorageRFP.js"]

["test_unaccessedOrigins.js"]

["test_unknownFiles.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]

["test_unsetLastAccessTime.js"]
support-files = ["unsetLastAccessTime_profile.zip"]

["test_validOrigins.js"]
